Expand description
Implements pci devices and busses.
Re-exportsΒ§
pub use self::acpi::GpeScope;pub use self::coiommu::CoIommuDev;pub use self::coiommu::CoIommuParameters;pub use self::coiommu::CoIommuUnpinPolicy;pub use self::msi::MsiConfig;pub use self::msix::MsixCap;pub use self::msix::MsixConfig;pub use self::msix::MsixStatus;pub use self::pci_configuration::PciBarConfiguration;pub use self::pci_configuration::PciBarIndex;pub use self::pci_configuration::PciBarPrefetchable;pub use self::pci_configuration::PciBarRegionType;pub use self::pci_configuration::PciBaseSystemPeripheralSubclass;pub use self::pci_configuration::PciCapability;pub use self::pci_configuration::PciCapabilityID;pub use self::pci_configuration::PciClassCode;pub use self::pci_configuration::PciConfiguration;pub use self::pci_configuration::PciDisplaySubclass;pub use self::pci_configuration::PciHeaderType;pub use self::pci_configuration::PciInputDeviceSubclass;pub use self::pci_configuration::PciMassStorageSubclass;pub use self::pci_configuration::PciMultimediaSubclass;pub use self::pci_configuration::PciNetworkControllerSubclass;pub use self::pci_configuration::PciProgrammingInterface;pub use self::pci_configuration::PciSerialBusSubClass;pub use self::pci_configuration::PciSimpleCommunicationControllerSubclass;pub use self::pci_configuration::PciSubclass;pub use self::pci_configuration::PciWirelessControllerSubclass;pub use self::pci_device::BarRange;pub use self::pci_device::Error as PciDeviceError;pub use self::pci_device::PciBus;pub use self::pci_device::PciDevice;pub use self::pci_device::PreferredIrq;pub use self::pci_hotplug::HotPluggable;pub use self::pci_hotplug::IntxParameter;pub use self::pci_hotplug::NetResourceCarrier;pub use self::pci_hotplug::ResourceCarrier;pub use self::pci_root::PciConfigIo;pub use self::pci_root::PciConfigMmio;pub use self::pci_root::PciMmioMapper;pub use self::pci_root::PciRoot;pub use self::pci_root::PciRootCommand;pub use self::pci_root::PciVirtualConfigMmio;pub use self::pcie::PciBridge;pub use self::pcie::PcieDownstreamPort;pub use self::pcie::PcieHostPort;pub use self::pcie::PcieRootPort;pub use self::pcie::PcieUpstreamPort;pub use self::pvpanic::PvPanicCode;pub use self::pvpanic::PvPanicPciDevice;pub use self::stub::StubPciDevice;pub use self::stub::StubPciParameters;pub use self::vfio_pci::VfioPciDevice;
ModulesΒ§
- acpi π
 - coiommu πThis is the CoIOMMU backend implementation. CoIOMMU is a virtual device which provide fine-grained pinning for the VFIO pci-passthrough device so that hypervisor doesnβt need to pin the enter VMβs memory to improve the memory utilization. CoIOMMU doesnβt provide the intra-guest protection so it can only be used for the TRUSTED passthrough devices.
 - msi π
 - msix π
 - pci_configuration π
 - pci_device π
 - pci_hotplug πTrait definitions and implementations for PCI hotplug.
 - pci_root π
 - pcie π
 - pvpanic πpvpanic is a simulated device, through which a guest panic event is sent to a VMM. This was initially developed for qemu with linux in-tree drivers and opensource driver for windows also exist now. https://fossies.org/linux/qemu/docs/specs/pvpanic.txt
 - stub πImplements a stub PCI device. This can be used to put a device on the PCI bus that will show up in PCI device enumeration with the configured parameters. The device will otherwise be non-functional, in particular it doesnβt have any BARs, IRQs etc. and neither will it handle config register interactions.
 - vfio_pci π
 
StructsΒ§
- PCI Device Address, AKA Bus:Device.Function
 - A wrapper structure for pci device and vendor id.
 
EnumsΒ§
- PCI address parsing and conversion errors.
 - PCI has four interrupt pins A->D.