cloud-hypervisor/vm-virtio/src
Sebastien Boeuf 4bb12a2d8d interrupt: Reorganize all interrupt management with InterruptManager
Based on all the previous changes, we can at this point replace the
entire interrupt management with the implementation of InterruptManager
and InterruptSourceGroup traits.

By using KvmInterruptManager from the DeviceManager, we can provide both
VirtioPciDevice and VfioPciDevice a way to pick the kind of
InterruptSourceGroup they want to create. Because they choose the type
of interrupt to be MSI/MSI-X, they will be given a MsiInterruptGroup.

Both MsixConfig and MsiConfig are responsible for the update of the GSI
routes, which is why, by passing the MsiInterruptGroup to them, they can
still perform the GSI route management without knowing implementation
details. That's where the InterruptSourceGroup is powerful, as it
provides a generic way to manage interrupt, no matter the type of
interrupt and no matter which hypervisor might be in use.

Once the full replacement has been achieved, both SystemAllocator and
KVM specific dependencies can be removed.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2020-01-17 23:43:45 +01:00
..
transport interrupt: Reorganize all interrupt management with InterruptManager 2020-01-17 23:43:45 +01:00
vhost_user vm-virtio: Optimize vhost-user interrupt notification 2020-01-17 23:43:45 +01:00
vsock vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
block.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
console.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
device.rs interrupt: Reorganize all interrupt management with InterruptManager 2020-01-17 23:43:45 +01:00
iommu.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
lib.rs vm-virtio: Implement multiple queue support for net devices 2020-01-17 12:06:19 +01:00
net_util.rs vm-virtio: Implement multiple queue support for net devices 2020-01-17 12:06:19 +01:00
net.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
pmem.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00
queue.rs vsock: vhost_user: vfio: Fix potential host memory overflow 2019-12-12 22:15:50 +01:00
rng.rs vm-virtio: Modify VirtioInterrupt callback into a trait 2020-01-17 23:43:45 +01:00