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 <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/12191
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: Duncan Laurie <dlaurie@google.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index 417a322..1570dc8 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -389,7 +389,7 @@
 	header->checksum = acpi_checksum((void *)srat, header->length);
 }
 
-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))
 {
 	acpi_header_t *header = &(dmar->header);
@@ -407,7 +407,7 @@
 	header->revision = 1;
 
 	dmar->host_address_width = 40 - 1; /* FIXME: == MTRR size? */
-	dmar->flags = 0;
+	dmar->flags = flags;
 
 	current = acpi_fill_dmar(current);