pub struct PciePortConfig {
pub name: String,
pub devfn: Option<u8>,
pub hotplug: bool,
pub acs_capabilities_supported: Option<u16>,
pub cxl: bool,
}Expand description
Configuration for a single PCIe port — either a root-complex root port or a switch downstream port.
Fields§
§name: StringPort name used for topology wiring and lookup.
devfn: Option<u8>The device/function (device << 3 | function) to place this port at on
its bus.
When None, the port is assigned the lowest available devfn. Ports are
assigned in order, so an explicit devfn that collides with a
previously-assigned port (including one assigned automatically) is an
error. Honored for both root-complex root ports and switch downstream
ports.
hotplug: boolEnables PCIe hotplug capabilities for this port.
acs_capabilities_supported: Option<u16>Optional ACS capability bitmask to expose on this port.
cxl: boolMarks this port as CXL-capable.
Runtime port construction derives required BAR/subregion layout from this flag (currently CXL component registers for BAR0).
Trait Implementations§
Source§impl Debug for PciePortConfig
impl Debug for PciePortConfig
Source§impl DefaultEncoding for PciePortConfig
impl DefaultEncoding for PciePortConfig
Source§impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PciePortConfig
impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PciePortConfig
Source§impl StructEncodeMetadata<Resource> for PciePortConfig
impl StructEncodeMetadata<Resource> for PciePortConfig
Auto Trait Implementations§
impl Freeze for PciePortConfig
impl RefUnwindSafe for PciePortConfig
impl Send for PciePortConfig
impl Sync for PciePortConfig
impl Unpin for PciePortConfig
impl UnsafeUnpin for PciePortConfig
impl UnwindSafe for PciePortConfig
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
§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<'_>)
MessageEncode::compute_message_size].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
MessageEncode::write_message].