#[repr(C, packed(1))]pub struct GenericAddressStructure {
pub address_space_id: u8,
pub reg_bit_width: u8,
pub reg_bit_offset: u8,
pub access_size: u8,
pub address: u64,
}Expand description
The Generic Address Structure (GAS) provides the platform with a robust means to describe register locations.
Fields§
§address_space_id: u8The address space where the data structure or register exists. Defined values are:
- 0x00 - System Memory space
- 0x01 - System I/O space
- 0x02 - PCI Configuration space
- 0x03 - Embedded Controller
- 0x04 - SMBus
- 0x05 - SystemCMOS
- 0x06 - PciBarTarget
- 0x07 - IPMI
- 0x08 - General PurposeIO
- 0x09 - GenericSerialBus
- 0x0A - Platform Communications Channel (PCC)
- 0x0B - Platform Runtime Mechanism (PRM)
- 0x0C to 0x7E - Reserved
- 0x7F - Functional Fixed Hardware
- 0x80 to 0xFF - OEM Defined
reg_bit_width: u8The size in bits of the given register. When addressing a data structure, this field must be zero.
reg_bit_offset: u8The bit offset of the given register at the given address. When addressing a data structure, this field must be zero.
access_size: u8Specifies access size. Unless otherwise defined by the Address Space ID:
- 0 - Undefined (legacy reasons)
- 1 - Byte access
- 2 - Word access
- 3 - Dword access
- 4 - QWord access
address: u64The 64-bit address of the data structure or register in the given address space (relative to the processor).
Trait Implementations§
Source§impl Clone for GenericAddressStructure
impl Clone for GenericAddressStructure
Source§fn clone(&self) -> GenericAddressStructure
fn clone(&self) -> GenericAddressStructure
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for GenericAddressStructure
Auto Trait Implementations§
impl Freeze for GenericAddressStructure
impl RefUnwindSafe for GenericAddressStructure
impl Send for GenericAddressStructure
impl Sync for GenericAddressStructure
impl Unpin for GenericAddressStructure
impl UnwindSafe for GenericAddressStructure
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