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 🔒
- 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.