@@ -128,10 +128,15 @@ static void build_fadt_reduced(GArray *table_data, BIOSLinker *linker,
AcpiFadtData fadt = {
.rev = 5,
.minor_ver = 1,
- .flags = 1 << ACPI_FADT_F_HW_REDUCED_ACPI,
+ .flags = (1 << ACPI_FADT_F_HW_REDUCED_ACPI) |
+ (1 << ACPI_FADT_F_RESET_REG_SUP),
.dsdt_tbl_offset = &dsdt_tbl_offset,
.xdsdt_tbl_offset = &dsdt_tbl_offset,
.arm_boot_arch = 0,
+ .reset_reg = { .space_id = AML_AS_SYSTEM_IO,
+ .bit_width = 8, .bit_offset = 0,
+ .address = ACPI_REDUCED_RESET_IOPORT },
+ .reset_val = ACPI_REDUCED_RESET_VALUE,
.sleep_control_reg = { .space_id = AML_AS_SYSTEM_IO,
.bit_width = 8, .bit_offset = 0,
.address = ACPI_REDUCED_SLEEP_CONTROL_IOPORT },
@@ -22,6 +22,8 @@
#define ACPI_REDUCED_SLEEP_LEVEL 5
#define ACPI_REDUCED_SLEEP_ENABLE (1 << 5) /* SLP_EN */
#define ACPI_REDUCED_SLEEP_CONTROL_IOPORT 0x3B0
+#define ACPI_REDUCED_RESET_IOPORT 0x3C0
+#define ACPI_REDUCED_RESET_VALUE 4
typedef struct Aml Aml;