ACPI
- Is the standard that governs hardware interactions on modern platforms
- Handles device discovery at boot time
- Handles power management
- Handles device plug-and-play
- Sets up devices, creates Memory Maps, and provides a device descriptor table to the host operating system (Differentiated System Description Table)
- Mostly only used by IBM-Compatible platforms
Finding the Root System Descriptor Pointer (RSDP)
Per ACPIv6.3 #5.2.5 you can find the RSDP in different places.
The RSDP should have a signature starting with RSD PTR
(note trailing blank) and a checksum (see
ACPI6.3#5.2.5.3)
Pre-EFI Systems
The table can be established at the Extended BIOS Data Area boundary, in the first 1KB.
For older Extended Industry Standard Architecture (EISA) or even Micro Channel Architecture (MCA) systems, the EBDA is at 40:0Eh
Alternatively, the table is in the BIOS read only area between 0E0000h and 0FFFFFh
EFI Systems
- The ACPI table is pointed to by the UEFI System Table
- The GUID for ACPI1.0 is eb9d2d30-2d88-11d3-9a16-0090273fc14d
- The GUID for ACPI2.0 or later is 8868e871-e4f1-11d3-bc22-0080c73c8881