From 95d1eb6d381b3eeaf0a8c3de57d5ee554229bcd6 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Tue, 24 Jan 2023 01:55:35 +0100 Subject: parsing RSDP & MADT --- kernel/include/rsdp.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 kernel/include/rsdp.h (limited to 'kernel/include/rsdp.h') diff --git a/kernel/include/rsdp.h b/kernel/include/rsdp.h new file mode 100644 index 0000000..c931ee0 --- /dev/null +++ b/kernel/include/rsdp.h @@ -0,0 +1,30 @@ +#ifndef RSDP_H +#define RSDP_H + +#include + +struct RSDP_descriptor { + char Signature[8]; + uint8_t Checksum; + char OEMID[6]; + uint8_t Revision; + uint32_t RsdtAddress; +} __attribute__((packed)); + +struct ACPI_header { + char Signature[4]; + uint32_t Length; + uint8_t Revision; + uint8_t Checksum; + char OEMID[6]; + char OEMTableID[8]; + uint32_t OEMRevision; + uint32_t CreatorID; + uint32_t CreatorRevision; +} __attribute__((packed)); + + +uint64_t* find_rsdp(void); +uint64_t* find_sys_table_addr(const char* signature); + +#endif -- cgit v1.2.3