aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2023-07-06 14:47:07 +0300
committerLean Sheng Tan <sheng.tan@9elements.com>2023-07-06 14:58:04 +0000
commit0bcdd40d789236aff2c205511dfc962a76a7c3be (patch)
treebcf3bec08ad44119f0aad9610c40e329b45565b6
parente8696e1b079454d3f5753564037bd886701da8f1 (diff)
acpi/acpi.c: Fix regression with DSDT
Fix regression introduced with commit 01af0f8ac803 ("acpi/acpi.c: Reduce boilerplate"). DSDT table is not to be listed within RSDT/XSDT, ACPICA and/or OSPM may try load it twice raising conflicts in the namespace and effectively ignoring all or most of the AML. Change-Id: I0e6d07b35522f2bf9a51cef0a7e3181b15087d88 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76321 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
-rw-r--r--src/acpi/acpi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c
index 61e6c50fe2..53f8e0dfd3 100644
--- a/src/acpi/acpi.c
+++ b/src/acpi/acpi.c
@@ -1909,6 +1909,10 @@ unsigned long write_acpi_tables(const unsigned long start)
header->checksum = acpi_checksum((void *)header, header->length);
current += header->length;
current = acpi_align_current(current);
+
+ if (tables[i].create_table == acpi_create_dsdt)
+ continue;
+
printk(BIOS_DEBUG, "ACPI: * %.4s\n", header->signature);
acpi_add_table(rsdp, header);
}