summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorJohn Zhao <john.zhao@intel.com>2021-04-17 16:03:21 -0700
committerNico Huber <nico.h@gmx.de>2021-04-22 10:15:11 +0000
commit091532d8ee34116e0a8c5a7775f971ada895c4c9 (patch)
tree6c9a16e1c353509b5ad17417ff3c3830e9da28cf /src/include
parentf095d15d0ef63971ee3c56dde3619d741d2b95c0 (diff)
downloadcoreboot-091532d8ee34116e0a8c5a7775f971ada895c4c9.tar.xz
ACPI: Fix the devices scope in the SATC structure
This change adds the ATC_REQUIRED flag for the address translation cache indicator and fixes the devices scope entry in the SATC reporting structure. The SoC integrated devices in the specified PCI segment with address translation caches are a type of PCI Endpoint Device. BUG=None TEST=Built image successfully. Signed-off-by: John Zhao <john.zhao@intel.com> Change-Id: I57b3551f11502da48f3951da59d9426df5a40723 Reviewed-on: https://review.coreboot.org/c/coreboot/+/52479 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lance Zhao Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/acpi/acpi.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/acpi/acpi.h b/src/include/acpi/acpi.h
index 7f086791c0..f2d2ad93cf 100644
--- a/src/include/acpi/acpi.h
+++ b/src/include/acpi/acpi.h
@@ -418,6 +418,10 @@ enum {
DRHD_INCLUDE_PCI_ALL = 1
};
+enum {
+ ATC_REQUIRED = 1
+};
+
enum dmar_flags {
DMAR_INTR_REMAP = 1 << 0,
DMAR_X2APIC_OPT_OUT = 1 << 1,
@@ -472,7 +476,6 @@ typedef struct dmar_satc_entry {
u8 flags;
u8 reserved;
u16 segment_number;
- u8 device_scope[];
} __packed dmar_satc_entry_t;
/* DMAR (DMA Remapping Reporting Structure) */
@@ -1085,7 +1088,7 @@ unsigned long acpi_create_dmar_rhsa(unsigned long current, u64 base_addr,
unsigned long acpi_create_dmar_andd(unsigned long current, u8 device_number,
const char *device_name);
unsigned long acpi_create_dmar_satc(unsigned long current, u8 flags,
- u16 segment, const char *device_scope);
+ u16 segment);
void acpi_dmar_drhd_fixup(unsigned long base, unsigned long current);
void acpi_dmar_rmrr_fixup(unsigned long base, unsigned long current);
void acpi_dmar_atsr_fixup(unsigned long base, unsigned long current);