When a hotplug vfio-pci device is attached to a bridge parent, kernel will allocate
mmio from its parent's bridge window, so crosvm doesn't need to allocate it.
But previously mmio_regions is used to track existing bar's address and size, but this
commit doesn't allocate mmio, so the initial bar address in mmio_regions is zero,
so this exception should be handled in bar's reallocation code that address 0 isn't
a valid bar address.
BUG=b:185084350
TEST=Hotplug in and out vfio-pci device in a vm repeatedly
Change-Id: I1a082b02065d42eccf46e24941727edf7b6355a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3319707
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
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.
For contribution, see
the contributor guide.
Mirror repository is available at
GitHub for your convenience, but we
don't accept bug reports or pull requests there.