
Abstracts the ACPI standard that provides interfaces for hardware detection, device configuration, and energy management. More...
Structs | |
struct | Address |
ACPI address format. More... | |
struct | MADT |
Multiple APIC Description Table (MADT) More... | |
struct | RSDP |
Root System Description Pointer (RSDP) More... | |
struct | RSDT |
Root System Description Table (RSDT) More... | |
struct | SDTH |
System Description Table Header (SDTH) More... | |
struct | SubHeader |
Helper structure. More... | |
struct | XSDT |
Extended System Description Table (XSDT) More... | |
Enumerations | |
enum | AddressSpace : uint8_t { MEMORY = 0x0, IO = 0x1 } |
Functions | |
bool | init () |
unsigned | count () |
SDTH * | get (unsigned num) |
SDTH * | get (char a, char b, char c, char d) |
int | revision () |
Constants | |
const char * | RSDP_SIGNATURE = "RSD PTR " |
Abstracts the ACPI standard that provides interfaces for hardware detection, device configuration, and energy management.
ACPI is the successor to APM (Advanced Power Management), aiming to give the operating system more control over the hardware. This extended control, for instance, enables the operating system to assign a particular amount of energy to every device (e.g., by disabling a device or changing to standby mode). For this purpose, BIOS and chipset provide a set of tables that describe the system and its components and provide routines the OS can call. These tables contain details about the system, such as the number of CPU cores and the LAPIC/IOAPIC, which are determined during system boot.