pub struct AcpiInfo {Show 23 fields
pub oem_id: [u8; 6],
pub local_apic_address: u32,
pub madt_flags: u32,
pub local_apics: [Option<MadtLocalApic>; 16],
pub local_apic_count: usize,
pub io_apics: [Option<MadtIoApic>; 4],
pub io_apic_count: usize,
pub isos: [Option<MadtIso>; 24],
pub iso_count: usize,
pub mcfg_entries: [Option<McfgEntry>; 4],
pub mcfg_count: usize,
pub has_madt: bool,
pub has_mcfg: bool,
pub has_dmar: bool,
pub dmar_address: u64,
pub dmar_length: u32,
pub revision: u8,
pub has_srat: bool,
pub srat_address: u64,
pub srat_length: u32,
pub has_slit: bool,
pub slit_address: u64,
pub slit_length: u32,
}Expand description
Parsed ACPI information, populated by init().
Fields§
§oem_id: [u8; 6]OEM ID from the RSDT/XSDT (6-byte ASCII, null-padded).
local_apic_address: u32Local APIC base address from the MADT.
madt_flags: u32MADT flags (bit 0: dual 8259 PIC present).
local_apics: [Option<MadtLocalApic>; 16]Local APIC entries (one per CPU).
local_apic_count: usizeNumber of valid local APIC entries.
io_apics: [Option<MadtIoApic>; 4]I/O APIC entries.
io_apic_count: usizeNumber of valid I/O APIC entries.
isos: [Option<MadtIso>; 24]Interrupt Source Override entries.
iso_count: usizeNumber of valid ISO entries.
mcfg_entries: [Option<McfgEntry>; 4]PCIe MCFG entries.
mcfg_count: usizeNumber of valid MCFG entries.
has_madt: boolWhether MADT was found and parsed.
has_mcfg: boolWhether MCFG was found and parsed.
has_dmar: boolWhether DMAR (DMA Remapping) table was found.
dmar_address: u64Physical address of the DMAR table (for IOMMU driver to parse).
dmar_length: u32Length of the DMAR table in bytes.
revision: u8ACPI revision (0 = ACPI 1.0, 2 = ACPI 2.0+).
has_srat: boolWhether SRAT (System Resource Affinity Table) was found.
srat_address: u64Virtual address of the SRAT table.
srat_length: u32Length of the SRAT table in bytes.
has_slit: boolWhether SLIT (System Locality Information Table) was found.
slit_address: u64Virtual address of the SLIT table.
slit_length: u32Length of the SLIT table in bytes.
Implementations§
Source§impl AcpiInfo
impl AcpiInfo
Sourcepub fn io_apic_address(&self) -> u32
pub fn io_apic_address(&self) -> u32
Get the I/O APIC address (first one, or default 0xFEC0_0000).
Sourcepub fn irq_to_gsi(&self, irq: u8) -> (u32, bool, bool)
pub fn irq_to_gsi(&self, irq: u8) -> (u32, bool, bool)
Look up the GSI for a given ISA IRQ, applying interrupt source overrides.