summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/Kconfig8
-rw-r--r--src/arch/x86/acpi.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 242a7cfa1f..827c1cba02 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -265,6 +265,14 @@ config SKIP_MAX_REBOOT_CNT_CLEAR
Note that it is the responsibility of the payload to reset the
normal boot bit to 1 after each successful boot.
+config ACPI_NO_PCAT_8259
+ bool
+ help
+ Selected by platforms that don't expose a PC/AT 8259 PIC pair.
+
+config ACPI_HAVE_PCAT_8259
+ def_bool y if !ACPI_NO_PCAT_8259
+
config ACPI_CPU_STRING
string
default "\\_PR.CP%02d"
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index f08a401a6e..8a620bb2c1 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -229,7 +229,8 @@ void acpi_create_madt(acpi_madt_t *madt)
header->revision = get_acpi_table_revision(MADT);
madt->lapic_addr = LOCAL_APIC_ADDR;
- madt->flags = 0x1; /* PCAT_COMPAT */
+ if (CONFIG(ACPI_HAVE_PCAT_8259))
+ madt->flags |= 1;
current = acpi_fill_madt(current);