devices: pci: determine multifunction bit at runtime Each device does not know whether it is a multi-function device when it is created; this is only possible to determine once all devices have been added to the PCI bus. Change the PCI root code to check for this and update the multi-function bit dynamically at runtime. The multifunction option for the stub PCI device is also removed; it will be determined automatically, so there is no need for the user to specify it. BUG=b:210795995 TEST=boot crosvm with multi-function devices Change-Id: Iff8306a41bb2bf23f97f45d29edc7791efc754bf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3343180 Reviewed-by: Dmitry Torokhov <dtor@chromium.org> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Daniel Verkamp <dverkamp@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.