Architectural Support: x86_64 (#37)
[lunaix-os.git] / lunaix-os / includes / hal / acpi / sdt.h
1 #ifndef __LUNAIX_ACPI_SDT_H
2 #define __LUNAIX_ACPI_SDT_H
3
4 #include <lunaix/types.h>
5
6 #define ACPI_TABLE_PACKED __attribute__((packed))
7
8 typedef struct acpi_sdthdr
9 {
10     u32_t signature;
11     u32_t length;
12     // Revision
13     u8_t rev;
14     u8_t chksum;
15     char oem_id[6];
16     char oem_table_id[8];
17     u32_t oem_rev;
18     u32_t vendor_id;
19     u32_t vendor_rev;
20 } ACPI_TABLE_PACKED acpi_sdthdr_t;
21 #define __acpi_sdthdr(acpi_ptr)   ((acpi_sdthdr_t*)__ptr(acpi_ptr))
22
23 typedef struct acpi_rsdt
24 {
25     acpi_sdthdr_t header;
26     u32_t entry[0];
27 } ACPI_TABLE_PACKED acpi_rsdt_t;
28
29 #endif /* __LUNAIX_ACPI_SDT_H */