Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6970
-gerrit
commit e2136bf9f1a53c913f62a23a30aacc8e76af2d46 Author: Vladimir Serbinenko phcoder@gmail.com Date: Wed Sep 24 23:35:51 2014 +0200
e7501: Move to per-device acpi
Change-Id: I4b7591bb66987ed974c54bd10ad367d6dc405910 Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/mainboard/intel/xe7501devkit/acpi_tables.c | 47 -------------------------- src/northbridge/intel/e7501/Kconfig | 1 + src/northbridge/intel/e7501/northbridge.c | 9 +++++ 3 files changed, 10 insertions(+), 47 deletions(-)
diff --git a/src/mainboard/intel/xe7501devkit/acpi_tables.c b/src/mainboard/intel/xe7501devkit/acpi_tables.c index a14d24f..fb7da1f 100644 --- a/src/mainboard/intel/xe7501devkit/acpi_tables.c +++ b/src/mainboard/intel/xe7501devkit/acpi_tables.c @@ -15,12 +15,6 @@ #include "bus.h" #include "ioapic.h"
-unsigned long acpi_fill_mcfg(unsigned long current) -{ - /* Just a dummy */ - return current; -} - unsigned long acpi_fill_slit(unsigned long current) { // Not implemented @@ -93,44 +87,3 @@ unsigned long acpi_fill_madt(unsigned long current)
return current; } - - -unsigned long write_acpi_tables(unsigned long start) -{ - unsigned long current; - acpi_rsdp_t *rsdp; - acpi_rsdt_t *rsdt; - acpi_madt_t *madt; - - /* Align ACPI tables to 16byte */ - start = ALIGN(start, 16); - current = start; - - printk(BIOS_INFO, "ACPI: Writing ACPI tables at %lx...\n", start); - - /* We need at least an RSDP and an RSDT Table */ - rsdp = (acpi_rsdp_t *) current; - current += sizeof(acpi_rsdp_t); - rsdt = (acpi_rsdt_t *) current; - current += sizeof(acpi_rsdt_t); - - /* clear all table memory */ - memset((void *)start, 0, current - start); - - acpi_write_rsdp(rsdp, rsdt, NULL); - acpi_write_rsdt(rsdt); - - /* - * We explicitly add these tables later on: - */ - /* QNX wants an MADT */ - printk(BIOS_DEBUG, "ACPI: * MADT\n"); - - madt = (acpi_madt_t *) current; - acpi_create_madt(madt); - current+=madt->header.length; - acpi_add_table(rsdp,madt); - - printk(BIOS_INFO, "ACPI: done.\n"); - return current; -} diff --git a/src/northbridge/intel/e7501/Kconfig b/src/northbridge/intel/e7501/Kconfig index c8219e8..88c0b45 100644 --- a/src/northbridge/intel/e7501/Kconfig +++ b/src/northbridge/intel/e7501/Kconfig @@ -1,4 +1,5 @@ config NORTHBRIDGE_INTEL_E7501 bool select HAVE_DEBUG_RAM_SETUP + select PER_DEVICE_ACPI_TABLES
diff --git a/src/northbridge/intel/e7501/northbridge.c b/src/northbridge/intel/e7501/northbridge.c index b0b150d..a235f6b 100644 --- a/src/northbridge/intel/e7501/northbridge.c +++ b/src/northbridge/intel/e7501/northbridge.c @@ -3,11 +3,20 @@ #include <stdint.h> #include <device/device.h> #include <device/pci.h> +#include <arch/acpi.h> #include <cpu/cpu.h> #include <stdlib.h> #include <string.h> #include <cbmem.h>
+ +unsigned long acpi_fill_mcfg(unsigned long current) +{ + /* Just a dummy */ + return current; +} + + static void pci_domain_set_resources(device_t dev) { device_t mc_dev;