Trait ConfigAccess

Source
pub trait ConfigAccess {
    // Required methods
    fn get_register(&self, selector: ConfigSelector, register: u16) -> u32;
    fn set_register(&self, selector: ConfigSelector, register: u16, value: u32);

    // Provided methods
    fn get_fixed_register<T: FixedConfigRegister>(
        &self,
        selector: ConfigSelector,
    ) -> T { ... }
    fn set_fixed_register<T: FixedConfigRegister>(
        &self,
        selector: ConfigSelector,
        value: T,
    ) { ... }
}
Expand description

Provides methods to access PCI configuration space.

Implementations may only offer access to a limited number of registers on a specific range of segments/busses.

Required Methods§

Source

fn get_register(&self, selector: ConfigSelector, register: u16) -> u32

Get a specific 32-bit register in PCI configuration space.

Source

fn set_register(&self, selector: ConfigSelector, register: u16, value: u32)

Set a specific 32-bit register in PCI configuration space.

Provided Methods§

Source

fn get_fixed_register<T: FixedConfigRegister>( &self, selector: ConfigSelector, ) -> T

Get a register in PCI configuration space with an offset defined by the output type.

Source

fn set_fixed_register<T: FixedConfigRegister>( &self, selector: ConfigSelector, value: T, )

Set a register in PCI configuration space with an offset defined by the input type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl ConfigAccess for IOConfigAccess

Available on x86 or x86-64 only.
Source§

impl ConfigAccess for MemMapConfigAccess