mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 20:19:07 +00:00
No description
57e4f542a2
Original reason for revert: Causes crosvm to not start on AMD based devices b/204222491 Fixed by clamping the maximum physical address to 64 TiB, which is the largest physical address supported by x86-64 Linux with only 4-level page tables enabled. In addition, the high MMIO region size calculation has been split into a separate function, get_high_mmio_size(), and an off-by-one error in the size calculation was fixed. Original change's description: > Devices: Allocate non pci bar mmio at top of HighMmio > > Some devices like virtio-pmem, intel host bridge need private mmio, these private > mmio isn't exposed to Vm through pci bar, and crosvm use mmio allocation interface > to allocate them, so guest OS pci bus driver couldn't detect them, and once guest > OS reallocate pci mmio, these private mmmio could be assigned to pci device bar. > then resource conflict happens. > > This patch allocates these non pci bar mmio at the top of HighMmio, since HighMmio > is large enough and OS allocates pci mmio from low to high. So these non pci bar > mmio won't conflict with pci bar. > > BUG=b:199442120 > BUG=b:185084350 > TEST=crosvm run --pmem-device xxxx > > Change-Id: I615d7901d595dd46ba6362f88b71d96baa9c4c8f > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3184549 > Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> > Tested-by: kokoro <noreply+kokoro@google.com> > Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> This is a reland of https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3184549 BUG=b:199442120 BUG=b:185084350 TEST=Crostini starts on grunt (AMD device) TEST=crosvm run --pmem-device rootfs -p 'root=/dev/pmem0' kernel Change-Id: I7c93f7132dbfbc3f38ecbfa0504b59214a1eb6bf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3251788 Reviewed-by: Xiong Zhang <xiong.y.zhang@intel.corp-partner.google.com> Reviewed-by: Dennis Kempin <denniskempin@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.devcontainer | ||
.github | ||
aarch64 | ||
acpi_tables | ||
arch | ||
bin | ||
bit_field | ||
ci/kokoro | ||
common | ||
crosvm-fuzz | ||
crosvm_plugin | ||
devices | ||
disk | ||
docs/book | ||
fuse | ||
gpu_display | ||
hypervisor | ||
integration_tests | ||
kernel_cmdline | ||
kernel_loader | ||
kvm | ||
kvm_sys | ||
libcras_stub | ||
libcrosvm_control | ||
libvda | ||
linux_input_sys | ||
logo | ||
net_sys | ||
net_util | ||
power_monitor | ||
protos | ||
qcow_utils | ||
resources | ||
rutabaga_gfx | ||
seccomp | ||
src | ||
system_api_stub | ||
tests | ||
third_party | ||
tools | ||
tpm2 | ||
tpm2-sys | ||
usb_sys | ||
usb_util | ||
vfio_sys | ||
vhost | ||
virtio_sys | ||
vm_control | ||
vm_memory | ||
x86_64 | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
ARCHITECTURE.md | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
navbar.md | ||
OWNERS | ||
README.md | ||
run_tests | ||
rust-toolchain | ||
setup_cros_cargo.sh | ||
test_all | ||
unblocked_terms.txt |
crosvm - The Chrome OS Virtual Machine Monitor
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on Chrome OS devices.
- Documentation
- Source code
- Also a mirror repository exists at GitHub, but we don't accept bug reports or pull requests there. For contribution, see the contributor guide.
- Issue tracker