summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarc Jones <marcj303@gmail.com>2017-06-19 23:34:04 -0600
committerMartin Roth <martinroth@google.com>2017-07-31 17:31:00 +0000
commit5ebc8652cc50932286ce6752135e30a53ce69cee (patch)
tree66229fb440de0119ff5e42675773288a1aa75d0c /src
parenta8754bd2a362071ef8db21907beb8d7040eb71e1 (diff)
soc/amd/stoneyridge: Move ACPI MADT table to soc
Move the mainboard MADT tables to generic soc ACPI code. Change-Id: I49fb55b1315da8fe65421b43fc4312ed588d5ecb Signed-off-by: Marc Jones <marcj303@gmail.com> Reviewed-on: https://review.coreboot.org/20277 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/amd/gardenia/acpi_tables.c51
-rw-r--r--src/mainboard/google/kahlee/acpi_tables.c51
-rw-r--r--src/soc/amd/stoneyridge/acpi.c30
-rw-r--r--src/soc/amd/stoneyridge/include/soc/hudson.h2
4 files changed, 38 insertions, 96 deletions
diff --git a/src/mainboard/amd/gardenia/acpi_tables.c b/src/mainboard/amd/gardenia/acpi_tables.c
index f55d9cea8d..8d4d1cf7e7 100644
--- a/src/mainboard/amd/gardenia/acpi_tables.c
+++ b/src/mainboard/amd/gardenia/acpi_tables.c
@@ -1,8 +1,4 @@
/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2015 Advanced Micro Devices, Inc.
- *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
@@ -13,47 +9,6 @@
* GNU General Public License for more details.
*/
-#include <agesawrapper.h>
-
-#include <console/console.h>
-#include <string.h>
-#include <arch/acpi.h>
-#include <arch/acpigen.h>
-#include <arch/ioapic.h>
-#include <device/pci.h>
-#include <device/pci_ids.h>
-#include <cpu/x86/msr.h>
-#include <cpu/amd/mtrr.h>
-#include <cpu/amd/amdfam16.h>
-
-#define IO_APIC2_ADDR 0xFEC20000
-
-unsigned long acpi_fill_madt(unsigned long current)
-{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
-
- /* Write Kern IOAPIC, only one */
- current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
- CONFIG_MAX_CPUS, IO_APIC_ADDR, 0);
-
- /* TODO: Remove the hardcode */
- current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
- CONFIG_MAX_CPUS+1, IO_APIC2_ADDR, 24);
-
- current += acpi_create_madt_irqoverride(
- (acpi_madt_irqoverride_t *)current, 0, 0, 2, 0);
- current += acpi_create_madt_irqoverride(
- (acpi_madt_irqoverride_t *)current, 0, 9, 9, 0xF);
- /* 0: mean bus 0--->ISA */
- /* 0: PIC 0 */
- /* 2: APIC 2 */
- /* 5 mean: 0101 --> Edge-triggered, Active high */
-
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- 0xff, 5, 1);
- /* 1: LINT1 connect to NMI */
-
- return current;
-}
+/*
+ * Blank file required by build system assumptions of this file being present.
+ */
diff --git a/src/mainboard/google/kahlee/acpi_tables.c b/src/mainboard/google/kahlee/acpi_tables.c
index f55d9cea8d..8d4d1cf7e7 100644
--- a/src/mainboard/google/kahlee/acpi_tables.c
+++ b/src/mainboard/google/kahlee/acpi_tables.c
@@ -1,8 +1,4 @@
/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2015 Advanced Micro Devices, Inc.
- *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
@@ -13,47 +9,6 @@
* GNU General Public License for more details.
*/
-#include <agesawrapper.h>
-
-#include <console/console.h>
-#include <string.h>
-#include <arch/acpi.h>
-#include <arch/acpigen.h>
-#include <arch/ioapic.h>
-#include <device/pci.h>
-#include <device/pci_ids.h>
-#include <cpu/x86/msr.h>
-#include <cpu/amd/mtrr.h>
-#include <cpu/amd/amdfam16.h>
-
-#define IO_APIC2_ADDR 0xFEC20000
-
-unsigned long acpi_fill_madt(unsigned long current)
-{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
-
- /* Write Kern IOAPIC, only one */
- current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
- CONFIG_MAX_CPUS, IO_APIC_ADDR, 0);
-
- /* TODO: Remove the hardcode */
- current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
- CONFIG_MAX_CPUS+1, IO_APIC2_ADDR, 24);
-
- current += acpi_create_madt_irqoverride(
- (acpi_madt_irqoverride_t *)current, 0, 0, 2, 0);
- current += acpi_create_madt_irqoverride(
- (acpi_madt_irqoverride_t *)current, 0, 9, 9, 0xF);
- /* 0: mean bus 0--->ISA */
- /* 0: PIC 0 */
- /* 2: APIC 2 */
- /* 5 mean: 0101 --> Edge-triggered, Active high */
-
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- 0xff, 5, 1);
- /* 1: LINT1 connect to NMI */
-
- return current;
-}
+/*
+ * Blank file required by build system assumptions of this file being present.
+ */
diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c
index fb97441da1..54af59b59d 100644
--- a/src/soc/amd/stoneyridge/acpi.c
+++ b/src/soc/amd/stoneyridge/acpi.c
@@ -23,6 +23,7 @@
#include <arch/acpi.h>
#include <arch/acpigen.h>
#include <arch/io.h>
+#include <arch/ioapic.h>
#include <cbmem.h>
#include <device/device.h>
#include <soc/acpi.h>
@@ -30,6 +31,35 @@
#include <soc/nvs.h>
#include <soc/smi.h>
+unsigned long acpi_fill_madt(unsigned long current)
+{
+ /* create all subtables for processors */
+ current = acpi_create_madt_lapics(current);
+
+ /* Write Kern IOAPIC, only one */
+ current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
+ CONFIG_MAX_CPUS, IO_APIC_ADDR, 0);
+
+ current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current,
+ CONFIG_MAX_CPUS+1, IO_APIC2_ADDR, 24);
+
+ /* 0: mean bus 0--->ISA */
+ /* 0: PIC 0 */
+ /* 2: APIC 2 */
+ /* 5 mean: 0101 --> Edge-triggered, Active high */
+ current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
+ current, 0, 0, 2, 0);
+ current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
+ current, 0, 9, 9, 0xF);
+
+ /* create all subtables for processors */
+ current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
+ 0xff, 5, 1);
+ /* 1: LINT1 connect to NMI */
+
+ return current;
+}
+
/*
* Reference section 5.2.9 Fixed ACPI Description Table (FADT)
* in the ACPI 3.0b specification.
diff --git a/src/soc/amd/stoneyridge/include/soc/hudson.h b/src/soc/amd/stoneyridge/include/soc/hudson.h
index 62d5a84395..48f5e0d937 100644
--- a/src/soc/amd/stoneyridge/include/soc/hudson.h
+++ b/src/soc/amd/stoneyridge/include/soc/hudson.h
@@ -23,6 +23,8 @@
#include <device/device.h>
#include "chip.h"
+#define IO_APIC2_ADDR 0xfec20000
+
/* Offsets from ACPI_MMIO_BASE
* This is defined by AGESA, but we don't include AGESA headers to avoid
* polluting the namespace.