devices: Add power management to virtio devices Add PCI PM capability to virtio pci devices, and generate PMEs for all virtio device interrupts. PMEs are GPEs advertised ACPI, so they are x86 only. PCIe PME signalling can be investigated in the future. This is the VMM side patch to [1], which allows Linux guests to enter system-wide low power states like s2idle without needing to reset the virtio devices when PCI PM with No_Soft_Reset is advertised. [1] https://lore.kernel.org/all/20231208070754.3132339-1-stevensd@chromium.org/ BUG=b:301865273 TEST=Manually enable ARCVM s2idle feature Change-Id: I6b0a122820c5d6932dc3e181d2fd2852b3640e5e Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4666701 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> 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 ChromeOS 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 ChromeOS devices.