mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-09 20:04:20 +00:00
If a vfio-platform device has no mmio regions, it is unexpectedly destroyed at startup (in particular, its vfio device fd is unexpectedly closed, so its interrupt forwarding stops working, etc) since in generate_platform_bus() arced_dev is not added to mmio_bus so there are no more references to the device. To fix this issue, preserve references to platform devices also in platform_devices field of RunnableLinuxVm. BUG=b:197169350 TEST=Use vfio-platform for passthrough of a device with interrupts but without mmio regions, e.g. touchpad on Brya, and check if it works in the VM (i.e. its interrupts are successfully delivered). Change-Id: I4042c5508ef6b69649c7d20962edf61b735abc03 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3820043 Commit-Queue: Dmytro Maluka <dmaluka@google.com> Tested-by: Dmytro Maluka <dmy@semihalf.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.. | ||
src | ||
.build_test_skip | ||
Cargo.toml |