pub struct PciConfigRegions<'a, A>where
A: Allocator,{ /* private fields */ }
Expand description
Describes a set of regions of physical memory used to access the PCIe configuration space. A
region is created for each entry in the MCFG. Given the segment group, bus, device number, and
function of a PCIe device, the physical_address
method on this will give you the physical
address of the start of that device function’s configuration space (each function has 4096
bytes of configuration space in PCIe).
Implementations§
source§impl<'a> PciConfigRegions<'a, Global>
impl<'a> PciConfigRegions<'a, Global>
pub fn new<H>(
tables: &AcpiTables<H>,
) -> AcpiResult<PciConfigRegions<'a, Global>>where
H: AcpiHandler,
source§impl<'a, A> PciConfigRegions<'a, A>where
A: Allocator,
impl<'a, A> PciConfigRegions<'a, A>where
A: Allocator,
pub fn new_in<H>(
tables: &AcpiTables<H>,
allocator: A,
) -> AcpiResult<PciConfigRegions<'a, A>>where
H: AcpiHandler,
sourcepub fn physical_address(
&self,
segment_group_no: u16,
bus: u8,
device: u8,
function: u8,
) -> Option<u64>
pub fn physical_address( &self, segment_group_no: u16, bus: u8, device: u8, function: u8, ) -> Option<u64>
Get the physical address of the start of the configuration space for a given PCIe device
function. Returns None
if there isn’t an entry in the MCFG that manages that device.
sourcepub fn iter(&self) -> PciConfigEntryIterator<'_> ⓘ
pub fn iter(&self) -> PciConfigEntryIterator<'_> ⓘ
Returns an iterator providing information about the system’s present PCI busses. This is roughly equivalent to manually iterating the system’s MCFG table.
Auto Trait Implementations§
impl<'a, A> Freeze for PciConfigRegions<'a, A>where
A: Freeze,
impl<'a, A> RefUnwindSafe for PciConfigRegions<'a, A>where
A: RefUnwindSafe,
impl<'a, A> Send for PciConfigRegions<'a, A>where
A: Send,
impl<'a, A> Sync for PciConfigRegions<'a, A>where
A: Sync,
impl<'a, A> Unpin for PciConfigRegions<'a, A>where
A: Unpin,
impl<'a, A> !UnwindSafe for PciConfigRegions<'a, A>
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