// This file is part of noxos and licensed under the MIT open source license #ifndef NOX_FADT_H #define NOX_FADT_H #include "drivers/acpi/acpi.h" typedef struct { acpi_sdt_header_T header; uint32_t firmware_control; uint32_t dsdt; uint8_t reserved; uint8_t preferred_power_management_profile; uint16_t sci_interrupt; uint32_t smi_command_port; uint8_t apci_enable; uint8_t apci_disable; uint8_t s4_bios_request; uint8_t pstate_control; uint32_t pm1a_event_block; uint32_t pm1b_event_block; uint32_t pm1a_control_block; uint32_t pm1b_control_block; uint32_t pm2_control_block; uint32_t pm_timer_block; uint32_t gpe0_block; uint32_t gpe1_block; uint8_t pm1_event_length; uint8_t pm1_control_length; uint8_t pm2_control_length; uint8_t pm_timer_length; uint8_t gpe0_length; uint8_t gpe1_length; uint8_t gpe1_base; uint8_t c_state_control; uint16_t c2_worst_latency; uint16_t c3_worst_latency; uint16_t flush_size; uint16_t flush_stride; uint8_t duty_offset; uint8_t duty_width; uint8_t day_alarm; uint8_t month_alarm; uint8_t century; uint16_t ia_boot_architecture_flags; uint8_t reserved_2; uint32_t flags; acpi_gas_T reset_register; uint8_t reset_value; uint8_t reserved_3[3]; uint64_t x_firmware_control; uint64_t x_dsdt; acpi_gas_T x_pm1a_event_block; acpi_gas_T x_pm1b_event_block; acpi_gas_T x_pm1a_control_block; acpi_gas_T x_pm1b_control_block; acpi_gas_T x_pm2_control_block; acpi_gas_T x_pm_timer_block; acpi_gas_T x_gpe0_block; acpi_gas_T x_gpe1_block; acpi_gas_T sleep_control_register; acpi_gas_T sleep_status_register; uint64_t hypervisor_vendor_identity; } __attribute__((packed)) acpi_fadt_T; extern acpi_fadt_T* g_acpi_table_fadt; #endif //NOX_FADT_H