pub struct PcieRootComplexConfig {
pub index: u32,
pub name: String,
pub segment: u16,
pub start_bus: u8,
pub end_bus: u8,
pub low_mmio: PcieMmioRangeConfig,
pub high_mmio: PcieMmioRangeConfig,
pub ports: Vec<PciePortConfig>,
pub cxl: Option<RootComplexCxlConfig>,
pub iommu: Option<PcieIommuConfig>,
pub vnode: Option<u32>,
pub preserve_bars: bool,
}Fields§
§index: u32§name: String§segment: u16§start_bus: u8§end_bus: u8§low_mmio: PcieMmioRangeConfig§high_mmio: PcieMmioRangeConfig§ports: Vec<PciePortConfig>§cxl: Option<RootComplexCxlConfig>Optional CXL configuration for root-complex CXL mode.
iommu: Option<PcieIommuConfig>Optional IOMMU for this root complex.
vnode: Option<u32>NUMA node affinity for this root complex. Used to generate _PXM in
the ACPI SSDT so the guest OS sees correct NUMA locality for devices
under this root complex.
preserve_bars: boolWhen true, treat non-zero BAR values found during probing as pinned addresses. Used for P2P DMA with GPA = HPA.
Trait Implementations§
Source§impl Debug for PcieRootComplexConfig
impl Debug for PcieRootComplexConfig
Source§impl DefaultEncoding for PcieRootComplexConfig
impl DefaultEncoding for PcieRootComplexConfig
Source§impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PcieRootComplexConfig
impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PcieRootComplexConfig
Source§impl StructEncodeMetadata<Resource> for PcieRootComplexConfig
impl StructEncodeMetadata<Resource> for PcieRootComplexConfig
Auto Trait Implementations§
impl Freeze for PcieRootComplexConfig
impl RefUnwindSafe for PcieRootComplexConfig
impl Send for PcieRootComplexConfig
impl Sync for PcieRootComplexConfig
impl Unpin for PcieRootComplexConfig
impl UnsafeUnpin for PcieRootComplexConfig
impl UnwindSafe for PcieRootComplexConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> MeshField for T
impl<T> MeshField for T
§impl<T> MeshPayload for T
impl<T> MeshPayload for T
§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in [
MessageEncode::compute_message_size].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in [
MessageEncode::write_message].