From b5450ca72ce8d15c7f4e02ba3487de59a6418400 Mon Sep 17 00:00:00 2001 From: Sebastien Boeuf Date: Tue, 9 Feb 2021 09:17:29 +0100 Subject: [PATCH] vmm: device_manager: Store legacy interrupt manager In anticipation for accessing the legacy interrupt manager from the function creating a VFIO PCI device, we store it as part of the DeviceManager, to make it available for all methods. Signed-off-by: Sebastien Boeuf --- vmm/src/device_manager.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vmm/src/device_manager.rs b/vmm/src/device_manager.rs index 76c10fa10..d35cb13ef 100644 --- a/vmm/src/device_manager.rs +++ b/vmm/src/device_manager.rs @@ -834,6 +834,9 @@ pub struct DeviceManager { // MSI Interrupt Manager msi_interrupt_manager: Arc>, + // Legacy Interrupt Manager + legacy_interrupt_manager: Option>>, + // Passthrough device handle passthrough_device: Option>, @@ -941,6 +944,7 @@ impl DeviceManager { device_id_cnt: Wrapping(0), pci_bus: None, msi_interrupt_manager, + legacy_interrupt_manager: None, passthrough_device: None, iommu_device: None, pci_devices_up: 0, @@ -1044,6 +1048,8 @@ impl DeviceManager { self.console = self.add_console_device(&legacy_interrupt_manager, &mut virtio_devices)?; + self.legacy_interrupt_manager = Some(legacy_interrupt_manager); + virtio_devices.append(&mut self.make_virtio_devices()?); self.add_pci_devices(virtio_devices.clone())?;