1 #ifndef __LUNAIX_FADT_H
2 #define __LUNAIX_FADT_H
6 // Pulled from ACPI Specification (v6.4) section 5.2.9
15 PerformanceServer = 7,
19 #define IPM1AEVT_BLK_PORT 0
20 #define IPM1BEVT_BLK_PORT 1
21 #define IPM1ACNT_BLK_PORT 2
22 #define IPM1BCNT_BLK_PORT 3
23 #define IPM2CNT_BLK_PORT 4
24 #define IPMTMR_BLK_PORT 5
26 #define IPM1EVT_BLK_LEN 0
27 #define IPM1CNT_BLK_LEN 1
28 #define IPM2CNT_BLK_LEN 2
29 #define IPMTMR_BLK_LEN 3
31 #define ITIME_DAY_ALARM 0
32 #define ITIME_MON_ALARM 1
33 #define ITIME_CENTURY 2
35 #define IAPC_ARCH_LEGACY 0x1
36 #define IAPC_ARCH_8042 0x2
37 #define IAPC_ARCH_NO_VGA 0x4
38 #define IAPC_ARCH_NO_MSI 0x8
39 #define IAPC_ARCH_ASPM 0x10
40 #define IAPC_ARCH_NO_RTC 0x20
42 typedef struct acpi_fadt {
44 uint32_t firmware_controller_addr;
49 uint32_t smi_cmd_port_addr;
50 uint8_t smi_acpi_enable;
51 uint8_t smi_acpi_disable;
52 uint8_t smi_s4bios_state;
54 uint32_t pm_reg_ports[6];
55 uint32_t gpe0_port_addr;
56 uint32_t gpe1_port_addr;
57 uint8_t pm_reg_lens[4];
65 uint16_t flush_stride;
70 } ACPI_TABLE_PACKED acpi_fadt_t;
72 // TODO: FADT parser & support
74 #endif /* __LUNAIX_FADT_H */