docs: documented basic ACPI implementation

This commit is contained in:
antifallobst 2023-03-11 11:05:26 +01:00
parent fedca7b7e4
commit b89c2fba83
1 changed files with 32 additions and 0 deletions

View File

@ -326,6 +326,38 @@ More information can be found on the limine project's [GitHub](https://github.co
## drivers ## drivers
### acpi/acpi.h
OSDev Wiki: [ACPI](https://wiki.osdev.org/ACPI)
#### `acpi_init(boot_info)` - function (void)
Initializes the ACPI (Advanced Configuration and Power Interface).
### acpi/rsdp.h
OSDev Wiki: [RSDP](https://wiki.osdev.org/RSDP)
#### `rsdp_descriptor_v1_T` - struct [packed]
The RSDP Table used in ACPI v1.0
| Name | Type | Description |
|--------------|----------|-----------------------------------------------------------|
| signature | char[8] | Needs to be `"RSD PTR "` (with the withespace at the end) |
| checksum | uint8_t | Used to validate the table |
| oem_id | char[6] | This string identifies the OEM |
| revision | uint8_t | Tells whether the RSDP is version 1 or 2+ |
| rsdt_address | uint32_t | The Physical Address of the RSDT |
#### `rsdp_descriptor_v2_T` - struct [packed]
The RSDP Table used in ACPI v2.0 or higher
| Name | Type | Description |
|-------------------|----------------------|----------------------------------------------------------------------------------|
| descriptor_v1 | rsdp_descriptor_v1_T | A table in the format of the ACPI 1.0 specification |
| length | uint32_t | The size of the whole table |
| xsdt_address | uint64_t | The Address of the XSDT (when available this should be used instead of the RSDT) |
| checksum_extended | uint8_t | Used to calculate the checksum of the whole table |
| reserved | uint8_t[3] | Can be ignored |
### elf/elf.h ### elf/elf.h
#### `elf_executable_T` - struct #### `elf_executable_T` - struct
This struct holds the parsed data of an ELF executable. This struct holds the parsed data of an ELF executable.