diff options
author | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-24 15:42:20 -0500 |
---|---|---|
committer | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-24 15:42:20 -0500 |
commit | f90c075d5061b3a89316d6bf3d5b190d49049ccd (patch) | |
tree | 36265da568b852ca5c0a8b4affe706cda80c4a9d /src/include/acpi.h | |
parent | 14b109ea24dc5cb1db948de57a2a44c80ef4622e (diff) |
renamed: kernel/include/acpi.h -> include/acpi.h
renamed: kernel/include/libc.h -> include/libc.h
renamed: kernel/include/paging.h -> include/paging.h
renamed: kernel/include/printf.h -> include/printf.h
renamed: kernel/include/serial.h -> include/serial.h
renamed: kernel/include/video.h -> include/video.h
new file: indigo_os
renamed: kernel/libs/acpi.c -> kernel/acpi.c
renamed: kernel/libs/drivers/serial.c -> kernel/drivers/serial.c
renamed: kernel/libs/drivers/video.c -> kernel/drivers/video.c
renamed: kernel/libs/libc.c -> kernel/libc.c
renamed: kernel/libs/page.c -> kernel/page.c
renamed: kernel/libs/printf.c -> kernel/printf.c
renamed: kernel/libs/printf.h -> kernel/printf.h
modified: makefile
Diffstat (limited to 'src/include/acpi.h')
-rw-r--r-- | src/include/acpi.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/include/acpi.h b/src/include/acpi.h new file mode 100644 index 0000000..c15e044 --- /dev/null +++ b/src/include/acpi.h @@ -0,0 +1,39 @@ +#include <stdint.h> +#include <libc.h> + +struct rsdp_v1 { + char sig[8]; + uint8_t checksum; + char OEMID[6]; + uint8_t version; + uint32_t rsdt_addr; + +} __attribute__((packed)); + +struct rsdp_v2 { + struct rsdp_v1 v1; + uint32_t len; + uint64_t xsdt_addr; + uint8_t extended_checksum; + uint8_t reserved[3]; +} __attribute__((packed)); + + +typedef union rsdp_t { + struct rsdp_v1 v1; + struct rsdp_v2 v2; +} rsdp_t; + +struct acpi_header { + char sig[4]; + uint32_t length; + uint8_t revision; + uint8_t checksum; + char OEMID[6]; + char OEMTableID[8]; + uint32_t OEMRevision; + uint32_t creator_id; + uint32_t creator_revision; +} __attribute__((packed)); + +rsdp_t *find_RSDP(); |