Compare commits

...

2 Commits

2 changed files with 34 additions and 2 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.

View File

@ -8,7 +8,7 @@
typedef struct { typedef struct {
char signature [8]; char signature [8];
uint8_t checksum; uint8_t checksum;
char oem_id; char oem_id [6];
uint8_t revision; uint8_t revision;
uint32_t rsdt_address; uint32_t rsdt_address;
} __attribute__((packed)) rsdp_descriptor_v1_T; } __attribute__((packed)) rsdp_descriptor_v1_T;