pub enum GasAddressSpace {
Show 14 variants
SystemMemory,
SystemIO,
PciConfigurationSpace,
EmbeddedController,
SMBus,
SystemCMOS,
PciBarTarget,
IPMI,
GeneralPurposeIO,
GenericSerialBus,
PlatformCommunicationsChannel,
PlatformRuntimeMechanism,
FunctionalFixedHardware,
Other(u8),
}
Expand description
A type of address space that a generic address structure can point into
Variants§
SystemMemory
A physical address in main memory
SystemIO
An IO port number
PciConfigurationSpace
A register in the PCI configuration space. PCI addresses in a GAS are confined to devices on PCI Segment Group 0, bus 0.
Using this address space, address
is interpreted as follows:
- Most significant word: Ignored, must be 0
- Next word: Device number on bus 0
- Next word: Function number
- Least significant word: Offset into the configuration registers (TODO: is this in bytes or registers?)
For example: Offset 0x23 of Function 2 on device 7 on bus 0 segment 0 would be represented as 0x0000 0007 0002 0023.
EmbeddedController
An embedded controller
SMBus
The system management bus
SystemCMOS
The system’s CMOS chip
PciBarTarget
A register inside an MMIO region, located by a BAR located in the PCI configuration space.
Using this address space, address
is interpreted as follows:
Bits 63:56 – PCI Segment
Bits 55:48 – PCI Bus
Bits 47:43 – PCI Device
Bits 42:40 – PCI Function
Bits 39:37 – BAR Number
Bits 36:0 – Offset from BAR in DWORDs\
IPMI
The IPMI bus
GeneralPurposeIO
An address relating to GPIO
GenericSerialBus
A serial bus
PlatformCommunicationsChannel
The platform communications channel
PlatformRuntimeMechanism
The platform runtime mechanism
FunctionalFixedHardware
Functional fixed hardware
Other(u8)
An unknown or reserved value
Trait Implementations§
Source§impl Clone for GasAddressSpace
impl Clone for GasAddressSpace
Source§fn clone(&self) -> GasAddressSpace
fn clone(&self) -> GasAddressSpace
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more