From e561f35fa5126e89b568292864acd8b9b95377e0 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Mon, 26 Oct 2015 11:51:25 +0100 Subject: ACPI: Make DMAR flags settable Add a parameter to acpi_create_dmar() for the flags field and define flags given by the spec [1]. [1] Intel Virtualization Technology for Directed I/O Architecture Specification Document-Number: D51397 Change-Id: I03ae32f13bb0061bd3b9bef607db175d9b0bc5e1 Signed-off-by: Nico Huber Reviewed-on: http://review.coreboot.org/12191 Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie Reviewed-by: Patrick Georgi --- src/arch/x86/include/arch/acpi.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/arch/x86/include') diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h index d4bacf5675..2a7ea79e01 100644 --- a/src/arch/x86/include/arch/acpi.h +++ b/src/arch/x86/include/arch/acpi.h @@ -220,6 +220,11 @@ enum { DRHD_INCLUDE_PCI_ALL = 1 }; +enum dmar_flags { + DMAR_INTR_REMAP = 1, + DMAR_X2APIC_OPT_OUT = 2, +}; + typedef struct dmar_entry { u16 type; u16 length; @@ -543,7 +548,7 @@ 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, enum dmar_flags flags, unsigned long (*acpi_fill_dmar) (unsigned long)); unsigned long acpi_create_dmar_drhd(unsigned long current, u8 flags, u16 segment, u32 bar); -- cgit v1.2.3