Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7371
-gerrit
commit 88c941cedeb2218b57a80bb1c4618934df7eccd8 Author: Vladimir Serbinenko phcoder@gmail.com Date: Sun Nov 9 13:22:27 2014 +0100
Make acpi_fill_dmar into parameter
Change-Id: I5e237cb7acbf47b2c8a4cd725ee8e16e422e3b17 Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/arch/x86/boot/acpi.c | 8 ++------ src/arch/x86/include/arch/acpi.h | 5 ++--- src/northbridge/intel/gm45/acpi.c | 4 ++-- 3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/arch/x86/boot/acpi.c b/src/arch/x86/boot/acpi.c index 3c860cf..493b10e 100644 --- a/src/arch/x86/boot/acpi.c +++ b/src/arch/x86/boot/acpi.c @@ -351,12 +351,8 @@ void acpi_create_srat(acpi_srat_t *srat, header->checksum = acpi_checksum((void *)srat, header->length); }
-unsigned long __attribute__((weak)) acpi_fill_dmar(unsigned long current) -{ - return current; -} - -void acpi_create_dmar(acpi_dmar_t *dmar) +void acpi_create_dmar(acpi_dmar_t *dmar, + unsigned long (*acpi_fill_dmar) (unsigned long)) { acpi_header_t *header = &(dmar->header); unsigned long current = (unsigned long)dmar + sizeof(acpi_dmar_t); diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h index 52331ed..35e0430 100644 --- a/src/arch/x86/include/arch/acpi.h +++ b/src/arch/x86/include/arch/acpi.h @@ -537,15 +537,14 @@ void acpi_create_mcfg(acpi_mcfg_t *mcfg);
void acpi_create_facs(acpi_facs_t *facs);
-void acpi_create_dmar(acpi_dmar_t *dmar); +void acpi_create_dmar(acpi_dmar_t *dmar, + unsigned long (*acpi_fill_dmar) (unsigned long)); unsigned long acpi_create_dmar_drhd(unsigned long current, u8 flags, u16 segment, u32 bar); void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current); unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current, u8 segment, u8 dev, u8 fn);
-unsigned long acpi_fill_dmar(unsigned long); - void acpi_write_hest(acpi_hest_t *hest); unsigned long acpi_create_hest_error_source(acpi_hest_t *hest, acpi_hest_esd_t *esd, u16 type, void *data, u16 len); unsigned long acpi_fill_hest(acpi_hest_t *hest); diff --git a/src/northbridge/intel/gm45/acpi.c b/src/northbridge/intel/gm45/acpi.c index 445995a..58498ed 100644 --- a/src/northbridge/intel/gm45/acpi.c +++ b/src/northbridge/intel/gm45/acpi.c @@ -75,7 +75,7 @@ unsigned long acpi_fill_mcfg(unsigned long current) return current; }
-unsigned long acpi_fill_dmar(unsigned long current) +static unsigned long acpi_fill_dmar(unsigned long current) { int me_active = (dev_find_slot(0, PCI_DEVFN(3, 0)) != NULL); int stepping = pci_read_config8(dev_find_slot(0, PCI_DEVFN(0, 0)), PCI_CLASS_REVISION); @@ -122,7 +122,7 @@ unsigned long northbridge_write_acpi_tables(unsigned long start, struct acpi_rsd #if CONFIG_IOMMU printk(BIOS_DEBUG, "ACPI: * DMAR\n"); dmar = (acpi_dmar_t *) current; - acpi_create_dmar(dmar); + acpi_create_dmar(dmar, acpi_fill_dmar); current += dmar->header.length; ALIGN_CURRENT; acpi_add_table(rsdp, dmar);