diff options
-rw-r--r-- | src/fw/acpi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fw/acpi.c b/src/fw/acpi.c index c29425c..0e3e3ad 100644 --- a/src/fw/acpi.c +++ b/src/fw/acpi.c @@ -689,13 +689,16 @@ acpi_setup(void) if (CONFIG_ACPI_DSDT && fadt && !fadt->dsdt) { /* default DSDT */ - void *dsdt = malloc_high(sizeof(AmlCode)); + struct acpi_table_header *dsdt = malloc_high(sizeof(AmlCode)); if (!dsdt) { warn_noalloc(); return; } memcpy(dsdt, AmlCode, sizeof(AmlCode)); fill_dsdt(fadt, dsdt); + /* Strip out compiler-generated header if any */ + memset(dsdt, 0, sizeof *dsdt); + build_header(dsdt, DSDT_SIGNATURE, sizeof(AmlCode), 1); } // Build final rsdt table |