Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR wires VFIO PCI interrupt capability setup end-to-end. It adds ChangesVFIO PCI interrupt capability setup
Sequence DiagramsequenceDiagram
participant Vm as Vm::from_config
participant DMB as DeviceManagerBuilder
participant VfioPciDevice
participant SIC as setup_interrupt_capability
participant PciCfgSpc as PciConfigurationSpace
participant VfioDevice
participant HypervisorVm as KvmVm (HypervisorVm)
Vm->>DMB: new(vm_instance.as_ref(), ...)
DMB->>VfioPciDevice: new(name, vm, vfio_device, irq_allocator)
VfioPciDevice->>PciCfgSpc: from_buf(raw_pci_config)
VfioPciDevice->>SIC: setup_interrupt_capability(vm, vfio_device, config)
SIC->>PciCfgSpc: find_cap(MSI-X)
SIC->>PciCfgSpc: find_cap(MSI)
SIC->>VfioDevice: get_msix_irq_info() / get_msi_irq_info()
SIC->>PciCfgSpc: find_cap(INTx)
SIC->>VfioDevice: get_intx_irq_info() / enable_intx(active_fd)
SIC->>VfioDevice: set_intx_resample_fd(resample_fd)
SIC->>HypervisorVm: set_irqfd_with_resample(active_fd, resample_fd, gsi)
HypervisorVm-->>SIC: Ok(())
SIC-->>VfioPciDevice: VfioInterruptManager { intx, msi, msix }
VfioPciDevice-->>DMB: VfioPciDevice { name, function, interrupt_manager }
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
Release Notes
New Features
Refactoring