summaryrefslogtreecommitdiff
path: root/src/include/acpi/acpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/acpi/acpi.h')
-rw-r--r--src/include/acpi/acpi.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/include/acpi/acpi.h b/src/include/acpi/acpi.h
index 775fc316e7..932fb6fee8 100644
--- a/src/include/acpi/acpi.h
+++ b/src/include/acpi/acpi.h
@@ -410,7 +410,8 @@ enum dmar_type {
DMAR_RMRR = 1,
DMAR_ATSR = 2,
DMAR_RHSA = 3,
- DMAR_ANDD = 4
+ DMAR_ANDD = 4,
+ DMAR_SATC = 5
};
enum {
@@ -465,6 +466,15 @@ typedef struct dmar_andd_entry {
u8 device_name[];
} __packed dmar_andd_entry_t;
+typedef struct dmar_satc_entry {
+ u16 type;
+ u16 length;
+ u8 flags;
+ u8 reserved;
+ u16 segment_number;
+ u8 device_scope[];
+} __packed dmar_satc_entry_t;
+
/* DMAR (DMA Remapping Reporting Structure) */
typedef struct acpi_dmar {
acpi_header_t header;
@@ -1055,9 +1065,12 @@ unsigned long acpi_create_dmar_rhsa(unsigned long current, u64 base_addr,
u32 proximity_domain);
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);
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);
+void acpi_dmar_satc_fixup(unsigned long base, unsigned long current);
unsigned long acpi_create_dmar_ds_pci_br(unsigned long current,
u8 bus, u8 dev, u8 fn);
unsigned long acpi_create_dmar_ds_pci(unsigned long current,