Expand description
ACPI (Advanced Configuration and Power Interface) support. Inspired by Theseus OS, MaestroOS, Aero, and Redox.
Features:
- RSDP/RSDT/XSDT parsing
- MADT (interrupts, APICs)
- FADT (power management, DSDT)
- HPET (timers)
- MCFG (PCIe MMCONFIG)
- DMAR (IOMMU)
- WAET (VM optimization hints)
- BGRT (boot graphics)
- SLIT (NUMA distances)
TODO : take a look at the v6 : https://uefi.org/sites/default/files/resources/ACPI_Spec_6.6.pdf https://uefi.org/specs/ACPI/6.6/
Modulesยง
- bgrt
- Support for the BGRT ACPI table (Boot Graphics Resource Table). Provides information about the boot logo/image.
- dmar
- Definitions for the DMAR, the Direct Memory Access (DMA) Remapping ACPI table. Inspired by Theseus OS.
- fadt
- Definitions for FADT, the Fixed ACPI Description Table. Inspired by Theseus OS.
- hpet
- Support for the HPET: High Precision Event Timer. Inspired by Theseus OS.
- madt
- Support for the MADT ACPI table, which includes interrupt and multicore info. Inspired by Theseus OS.
- mcfg
- Support for MCFG (PCI Express MMCONFIG) ACPI table.
- rsdt
- Definitions for the ACPI RSDT and XSDT system tables. Inspired by Theseus OS.
- sdt
- ACPI table definitions and basic SDT structures. Inspired by Theseus OS.
- slit
- Support for the SLIT ACPI table (System Locality Information Table). Provides information about NUMA node distances.
- waet
- Definitions for WAET, the Windows ACPI Emulated devices Table. Inspired by Theseus OS.
Structsยง
- Acpi
Tables - Table storage to keep track of discovered ACPI tables
- Rsdp ๐
- RSDP (Root System Descriptor Pointer) : ACPI 1.0
- Rsdp2 ๐
- RSDP extended : ACPI 2.0+
Staticsยง
- ACPI_
INITIALIZED ๐ - ACPI initialization status
- ACPI_
TABLES ๐ - RSDP_
REVISION ๐ - RSDP revision (0 = ACPI 1.0, 2+ = ACPI 2.0+)
- RSDP_
VADDR ๐ - Stored RSDP virtual address (set during init)
Functionsยง
- discover_
tables ๐ - Performs the discover tables operation.
- find_
table - Find the first ACPI table by its 4-byte signature.
- find_
tables - Find all ACPI tables with the given 4-byte signature.
- get_
bgrt - Get BGRT table (boot graphics)
- get_
fadt - Get FADT table
- get_
hpet - Get HPET table
- get_
madt - Get MADT table
- get_
mcfg - Get MCFG table
- get_
slit - Get SLIT table (NUMA distances)
- get_
table - Get a typed reference to an ACPI table.
- init
- Initialize the ACPI subsystem.
- is_
available - Check if ACPI is initialized
- revision
- Get ACPI revision
- rsdp_
address - Get RSDP address
- validate_
checksum ๐ - Performs the validate checksum operation.
- validate_
sdt_ ๐at_ phys - Performs the validate sdt at phys operation.