fix dependency check logic cause config always disabled
[lunaix-os.git] / lunaix-os / includes / hal / acpi / fadt.h
index a613a6c4711d3c2ddc2b38e0ff23bc2611106dff..07359f05d4fb69ae91d0472fb37fb931ef3461e1 100644 (file)
@@ -5,7 +5,8 @@
 
 // Pulled from ACPI Specification (v6.4) section 5.2.9
 
-enum PMProfile {
+enum PMProfile
+{
     Desktop = 1,
     Mobile = 2,
     Workstation = 3,
@@ -32,42 +33,44 @@ enum PMProfile {
 #define ITIME_MON_ALARM 1
 #define ITIME_CENTURY 2
 
-#define IAPC_ARCH_LEGACY   0x1
-#define IAPC_ARCH_8042     0x2
-#define IAPC_ARCH_NO_VGA   0x4
-#define IAPC_ARCH_NO_MSI   0x8
-#define IAPC_ARCH_ASPM     0x10
-#define IAPC_ARCH_NO_RTC   0x20
+#define IAPC_ARCH_LEGACY 0x1
+#define IAPC_ARCH_8042 0x2
+#define IAPC_ARCH_NO_VGA 0x4
+#define IAPC_ARCH_NO_MSI 0x8
+#define IAPC_ARCH_ASPM 0x10
+#define IAPC_ARCH_NO_RTC 0x20
 
-typedef struct acpi_fadt {
+typedef struct acpi_fadt
+{
     acpi_sdthdr_t header;
-    uint32_t firmware_controller_addr;
-    uint32_t dsdt_addr;
-    uint8_t pm_profile;
-    uint16_t sci_int;
-    uint32_t smi_cmd_port_addr;
-    uint8_t smi_acpi_enable;
-    uint8_t smi_acpi_disable;
-    uint8_t smi_s4bios_state;
-    uint8_t smi_pstate;
-    uint32_t pm_reg_ports[6];
-    uint32_t gpe0_port_addr;
-    uint32_t gpe1_port_addr;
-    uint8_t pm_reg_lens[4];
-    uint8_t gpe0_len;
-    uint8_t gpe1_len;
-    uint8_t gpe1_base;
-    uint8_t cst_cnt;
-    uint16_t p_lvl2_lat;
-    uint16_t p_lvl3_lat;
-    uint16_t flush_size;
-    uint16_t flush_stride;
-    uint8_t duty_offset;
-    uint8_t duty_width;
-    uint8_t time_info[3];
-    uint16_t boot_arch;
+    u32_t firmware_controller_addr;
+    u32_t dsdt_addr;
+    u8_t reserved;
+    u8_t pm_profile;
+    u16_t sci_int;
+    u32_t smi_cmd_port_addr;
+    u8_t smi_acpi_enable;
+    u8_t smi_acpi_disable;
+    u8_t smi_s4bios_state;
+    u8_t smi_pstate;
+    u32_t pm_reg_ports[6];
+    u32_t gpe0_port_addr;
+    u32_t gpe1_port_addr;
+    u8_t pm_reg_lens[4];
+    u8_t gpe0_len;
+    u8_t gpe1_len;
+    u8_t gpe1_base;
+    u8_t cst_cnt;
+    u16_t p_lvl2_lat;
+    u16_t p_lvl3_lat;
+    u16_t flush_size;
+    u16_t flush_stride;
+    u8_t duty_offset;
+    u8_t duty_width;
+    u8_t time_info[3];
+    u16_t boot_arch;
 } ACPI_TABLE_PACKED acpi_fadt_t;
-
+#define __acpi_fadt(acpi_ptr)   ((acpi_fadt_t*)__ptr(acpi_ptr))
 
 // TODO: FADT parser & support