pub struct Madt {
pub header: SdtHeader,
pub local_apic_address: u32,
pub flags: u32,
/* private fields */
}Expand description
Represents the MADT - this contains the MADT header fields. You can then iterate over a Madt
to read each entry from it.
In modern versions of ACPI, the MADT can detail one of four interrupt models:
- The ancient dual-i8259 legacy PIC model
- The Advanced Programmable Interrupt Controller (APIC) model
- The Streamlined Advanced Programmable Interrupt Controller (SAPIC) model (for Itanium systems)
- The Generic Interrupt Controller (GIC) model (for ARM systems)
The MADT is a variable-sized structure consisting of a static header and then a variable number of entries.
This type only contains the static portion, and then uses pointer arithmetic to parse the following entries.
To make this sound, this type is !Unpin - this prevents you from getting anything other than a Pin<&Madt>
out of a PhysicalMapping, thereby preventing a Madt from being moved before Madt::entries is called.
Fields§
§header: SdtHeader§local_apic_address: u32§flags: u32