diff options
author | Marvin Borner | 2020-04-18 19:27:00 +0200 |
---|---|---|
committer | Marvin Borner | 2020-04-18 19:27:00 +0200 |
commit | dce9106bcb47ef37a4cf5a221340f4eb438aedfe (patch) | |
tree | 2b1ec8efdba9b31510ad6f49a9610df701aab025 /src/kernel/acpi/acpi.h | |
parent | f943fad362a0e17f6e294341b32e49b9afd6e9d7 (diff) |
Added fadt flags and ACPI reboot
Diffstat (limited to 'src/kernel/acpi/acpi.h')
-rw-r--r-- | src/kernel/acpi/acpi.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/kernel/acpi/acpi.h b/src/kernel/acpi/acpi.h index c9df040..055af2c 100644 --- a/src/kernel/acpi/acpi.h +++ b/src/kernel/acpi/acpi.h @@ -28,6 +28,33 @@ struct address_structure { uint64_t address; }; +// p. 138 +struct fadt_flags { + uint8_t WBINVD : 1; + uint8_t WBINVD_flush : 1; + uint8_t C1_support : 1; + uint8_t C2_mp_support : 1; + uint8_t power_button : 1; // 1 if not present + uint8_t sleep_button : 1; // 1 if not present + uint8_t rtc_fix_reg : 1; + uint8_t rtc_wakes_S4 : 1; + uint8_t timer_32 : 1; + uint8_t dock_support : 1; + uint8_t reset_support : 1; + uint8_t sealed_case : 1; + uint8_t headless : 1; + uint8_t slp_instruction : 1; + uint8_t pci_wake_support : 1; + uint8_t use_platform_clock : 1; + uint8_t rtc_valid_S4 : 1; + uint8_t remote_on_support : 1; + uint8_t force_apic_cluster : 1; + uint8_t force_apic_physical : 1; + uint8_t hw_reduced_acpi : 1; + uint8_t low_power_S0_support : 1; + uint16_t reserved : 10; +}; + struct rsdp { char signature[8]; char checksum; @@ -50,11 +77,12 @@ struct sdt_header { struct rsdt { struct sdt_header header; + uint32_t sdt_pointer[]; }; struct xsdt { struct sdt_header header; - uint32_t *sdt_pointer; + uint32_t sdt_pointer[]; }; struct fadt { @@ -96,7 +124,7 @@ struct fadt { uint8_t century; uint16_t boot_architecture_flags; // Reserved in 1.0 uint8_t reserved2; - uint32_t flags; + struct fadt_flags flags; struct address_structure reset_reg; uint8_t reset_value; uint8_t reserved3[3]; |