commit | dbd241847b108a89d8d0f8deaa9280bfce2b6f44 | [log] [tgz] |
---|---|---|
author | David Stevens <stevensd@chromium.org> | Thu Mar 10 10:53:56 2022 +0900 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Mar 17 01:58:15 2022 +0000 |
tree | 9562df923c8c04310a6043ba298d289365e0da98 | |
parent | dc790f39c8b9a08d43e5d7e9f7a2b438bebd093a [diff] |
system_allocator: add mmio-address-range parameter Linux expects that PCI bars lie within a compatible bridge window, which are typically specified via _CRS objects in ACPI. This change adds an option to restrict mmio allocations (i.e. PCI bars) to within a specified set of ranges. The specified set of ranges is intersected with the default mmio allocation ranges generated by the crosvm arch code to produce the final mmio allocation ranges. This change is required to remove pci=nocrs from the CrOS guest's kernel command line flags. Removing that flag is a prerequisite for enabling virtio-iommu, since without the configuration information from ACPI, the kernel reserves all IOVAs in iova_reserve_pci_windows. BUG=b:181736020 TEST=boot manatee w/o pci=nocrs kernel cmdline flag TEST=tast run trogdor|hatch arc.Boot.vm Change-Id: I0a096420c5d5ef56dd76021951968e264ce40f42 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3499900 Reviewed-by: Junichi Uekawa <uekawa@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: David Stevens <stevensd@chromium.org>
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.