Merge branch 'master' into isa/arm64
[lunaix-os.git] / lunaix-os / includes / hal / acpi / sdt.h
index fb7809771945861212bbe35b249fe019741508d7..de8dc7dafb2f0f70f00b37a122ea7856f119923c 100644 (file)
@@ -1,26 +1,29 @@
 #ifndef __LUNAIX_ACPI_SDT_H
 #define __LUNAIX_ACPI_SDT_H
 
-#include <stdint.h>
+#include <lunaix/types.h>
 
-typedef struct
+#define ACPI_TABLE_PACKED __attribute__((packed))
+
+typedef struct acpi_sdthdr
 {
-    uint32_t signature;
-    uint32_t length;
+    u32_t signature;
+    u32_t length;
     // Revision
-    uint8_t rev;
-    uint8_t chksum;
+    u8_t rev;
+    u8_t chksum;
     char oem_id[6];
     char oem_table_id[8];
-    uint32_t oem_rev;
-    uint32_t vendor_id;
-    uint32_t vendor_rev;
-} __attribute__((packed)) acpi_sdthdr_t;
+    u32_t oem_rev;
+    u32_t vendor_id;
+    u32_t vendor_rev;
+} ACPI_TABLE_PACKED acpi_sdthdr_t;
+#define __acpi_sdthdr(acpi_ptr)   ((acpi_sdthdr_t*)__ptr(acpi_ptr))
 
-typedef struct
+typedef struct acpi_rsdt
 {
     acpi_sdthdr_t header;
-    acpi_sdthdr_t* entry;
-} __attribute__((packed)) acpi_rsdt_t;
+    u32_t entry[0];
+} ACPI_TABLE_PACKED acpi_rsdt_t;
 
 #endif /* __LUNAIX_ACPI_SDT_H */