feat: kill(2) implementation
[lunaix-os.git] / lunaix-os / includes / hal / acpi / acpi.h
index 892624497c1d274bf78ca8f30b36284cec98164d..453e9f438f8d3366e5e4a5fbdf19c63ee19fee92 100644 (file)
@@ -7,17 +7,22 @@
 
 #include "sdt.h"
 #include "madt.h"
+#include "fadt.h"
+
+// * for quick conversion from a table name into ACPI favoured signature
+// * use `echo <TableName> | xxd -eg4`
 
 #define ACPI_RSDP_SIG_L       0x20445352      // 'RSD '
-#define ACPI_RSDP_SIG_H      0x20525450      // 'PTR '
+#define ACPI_RSDP_SIG_H      0x20525450       // 'PTR '
 
-#define ACPI_MADT_SIG        0x43495041      // 'APIC'
+#define ACPI_MADT_SIG        0x43495041       // 'APIC'
+#define ACPI_FADT_SIG        0x50434146       // 'FACP' Notice that it is not 'FADT'.
 
 typedef struct {
     uint32_t signature_l;
     uint32_t signature_h;
     uint8_t chksum;
-    uint8_t oem_id[6];
+    char oem_id[6];
     // Revision
     uint8_t rev;
     acpi_rsdt_t* rsdt;
@@ -36,6 +41,7 @@ typedef struct
     // Make it as null terminated
     char oem_id[7];
     acpi_madt_toc_t madt;
+    acpi_fadt_t fadt;
 } acpi_context;
 
 int