summaryrefslogtreecommitdiff
path: root/src/include/acpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/acpi.h')
-rw-r--r--src/include/acpi.h37
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