diff options
Diffstat (limited to 'src/include/acpi.h')
-rw-r--r-- | src/include/acpi.h | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/src/include/acpi.h b/src/include/acpi.h index c15e044..f06bc9b 100644 --- a/src/include/acpi.h +++ b/src/include/acpi.h @@ -1,30 +1,20 @@ +#ifndef acpi_included +#define acpi_included #include <stdint.h> -#include <libc.h> +#include <stdbool.h> +#include <int.h> -struct rsdp_v1 { - char sig[8]; - uint8_t checksum; - char OEMID[6]; - uint8_t version; - uint32_t rsdt_addr; -} __attribute__((packed)); +//sdt types +#define SDT_MADT 0 +#define SDT_HPET 1 -struct rsdp_v2 { - struct rsdp_v1 v1; - uint32_t len; - uint64_t xsdt_addr; - uint8_t extended_checksum; - uint8_t reserved[3]; -} __attribute__((packed)); +void find_root_sdp(); +void *find_sdt(int type); +void debug_acpi(); -typedef union rsdp_t { - struct rsdp_v1 v1; - struct rsdp_v2 v2; -} rsdp_t; - -struct acpi_header { +typedef struct sdt { char sig[4]; uint32_t length; uint8_t revision; @@ -34,6 +24,7 @@ struct acpi_header { uint32_t OEMRevision; uint32_t creator_id; uint32_t creator_revision; -} __attribute__((packed)); +} __attribute__((packed)) sdt_head; + -rsdp_t *find_RSDP(); +#endif |