diff options
Diffstat (limited to 'arch/src/lib.rs')
-rw-r--r-- | arch/src/lib.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/src/lib.rs b/arch/src/lib.rs index afea720..f83e404 100644 --- a/arch/src/lib.rs +++ b/arch/src/lib.rs @@ -157,8 +157,11 @@ pub fn generate_pci_root(devices: Vec<(Box<PciDevice + 'static>, Minijail)>, 3 => PciInterruptPin::IntD, _ => panic!(""), // Obviously not possible, but the compiler is not smart enough. }; + vm.register_irqfd(&irqfd, irq_num) + .map_err(DeviceRegistrationError::RegisterIrqfd)?; + keep_fds.push(irqfd.as_raw_fd()); device.assign_irq(irqfd, irq_num, pci_irq_pin); - pci_irqs.push((irq_num, pci_irq_pin)); + pci_irqs.push((dev_idx as u32, pci_irq_pin)); let ranges = device .allocate_io_bars(resources) |