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 π
- pm
- 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Β§
- PciAddress
- PCI Device Address, AKA Bus:Device.Function
- PciId
- A wrapper structure for pci device and vendor id.
EnumsΒ§
- Crosvm
Device Id - PciAddress
Error - PCI address parsing and conversion errors.
- PciInterrupt
Pin - PCI has four interrupt pins A->D.