pub trait PciInterruptConfigurator {
// Required methods
fn configure_legacy(&self, function: PciAddress, pin: u8) -> Arc<Event>;
fn configure_msi(
&self,
function: PciAddress,
msi: &mut MsiCapability,
) -> Arc<Event>;
fn configure_msix(
&self,
function: PciAddress,
table_bar: Bar,
msix: &mut MsixCapability,
) -> Arc<Event>;
}
Required Methods§
Sourcefn configure_legacy(&self, function: PciAddress, pin: u8) -> Arc<Event>
fn configure_legacy(&self, function: PciAddress, pin: u8) -> Arc<Event>
Create an Event
that is signalled when an interrupt arrives from the specified PCI
device. This is used when the device does not support MSI or MSI-X interrupts. The event
may be triggered when the device has not actually received an interrupt, due to interrupt
pin sharing in the legacy system, and so receivers must be resilient to spurious events.
Sourcefn configure_msi(
&self,
function: PciAddress,
msi: &mut MsiCapability,
) -> Arc<Event>
fn configure_msi( &self, function: PciAddress, msi: &mut MsiCapability, ) -> Arc<Event>
Create an Event
that is signalled when an interrupt arrives from the specified PCI
device. The device must support configuration of its interrupts via the passed MSI
capability.
Sourcefn configure_msix(
&self,
function: PciAddress,
table_bar: Bar,
msix: &mut MsixCapability,
) -> Arc<Event>
fn configure_msix( &self, function: PciAddress, table_bar: Bar, msix: &mut MsixCapability, ) -> Arc<Event>
Create an Event
that is signalled when an interrupt arrives from the specified PCI
device. The device must support configuration of its interrupts via the passed MSI-X
capability.