Werner Zeh (werner.zeh@siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15912
-gerrit
commit 541c7af206c0a5bcfa62c8ee7b72131cf9d83d3f Author: Werner Zeh werner.zeh@siemens.com Date: Wed Jul 27 07:07:20 2016 +0200
ACPI: Add code to create root port entry in DMAR table
PCI root ports need to be reported in DMAR table in the ATSR scope. Add code to create an entry for a PCI root port using the type "SCOPE_PCI_SUB".
Change-Id: Ie2c46db7292d9f1637ffe2e9cfaf6619372ddf13 Signed-off-by: Werner Zeh werner.zeh@siemens.com --- src/arch/x86/acpi.c | 7 +++++++ src/arch/x86/include/arch/acpi.h | 2 ++ 2 files changed, 9 insertions(+)
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c index 3aee2a1..667340e 100644 --- a/src/arch/x86/acpi.c +++ b/src/arch/x86/acpi.c @@ -476,6 +476,13 @@ static unsigned long acpi_create_dmar_drhd_ds(unsigned long current, return ds->length; }
+unsigned long acpi_create_dmar_drhd_ds_pci_br(unsigned long current, u8 bus, + u8 dev, u8 fn) +{ + return acpi_create_dmar_drhd_ds(current, + SCOPE_PCI_SUB, 0, bus, dev, fn); +} + unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current, u8 bus, u8 dev, u8 fn) { diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h index b67213d..2b320a2 100644 --- a/src/arch/x86/include/arch/acpi.h +++ b/src/arch/x86/include/arch/acpi.h @@ -619,6 +619,8 @@ unsigned long acpi_create_dmar_atsr(unsigned long current, u8 flags, u16 segment); void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current); void acpi_dmar_atsr_fixup(unsigned long base, unsigned long current); +unsigned long acpi_create_dmar_drhd_ds_pci_br(unsigned long current, + u8 bus, u8 dev, u8 fn); unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current, u8 bus, u8 dev, u8 fn); unsigned long acpi_create_dmar_drhd_ds_ioapic(unsigned long current,