aboutsummaryrefslogtreecommitdiff
path: root/src/acpi
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-08 14:10:48 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-15 05:14:14 +0000
commit69a13964ea6c5fda6ddf475a9ea905aa7376620c (patch)
tree1d7b98723762d6e05b7245abe5070de743089742 /src/acpi
parent0854f67cae88dcd055dac549ddab2fd27768bd88 (diff)
sb,soc/amd,intel: Add and use ACPI_COMMON_MADT_LAPIC
Boards with SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID have special handling for the time being. Change of aopen/dxplplusu is coupled with sb/intel/i82801dx. Change of emulation/qemu-i440fx is coupled with intel/i82371eb. For asus/p2b, this adds MADT LAPIC entries, even though platform has ACPI_NO_MADT selected. Even previously ACPI_NO_MADT creates the MADT, including an entry for LAPIC address. Change-Id: I1f8d7ee9891553742d73a92b55a87c04fa95a132 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74316 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/acpi')
-rw-r--r--src/acpi/Kconfig3
-rw-r--r--src/acpi/acpi.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig
index ec7fcc4b08..5af8b221bd 100644
--- a/src/acpi/Kconfig
+++ b/src/acpi/Kconfig
@@ -31,6 +31,9 @@ config ACPI_SOC_NVS
Set to indicate <soc/nvs.h> exists for the platform with a definition
for global_nvs.
+config ACPI_COMMON_MADT_LAPIC
+ bool
+
config ACPI_NO_MADT
bool
help
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c
index de5abe09a4..492d043bb8 100644
--- a/src/acpi/acpi.c
+++ b/src/acpi/acpi.c
@@ -312,6 +312,9 @@ void acpi_create_madt(acpi_madt_t *madt)
if (CONFIG(ACPI_HAVE_PCAT_8259))
madt->flags |= 1;
+ if (CONFIG(ACPI_COMMON_MADT_LAPIC))
+ current = acpi_create_madt_lapics_with_nmis(current);
+
if (!CONFIG(ACPI_NO_MADT))
current = acpi_fill_madt(current);