acpi/hvmloader: Build WAET optionally
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Wed, 28 Sep 2016 13:21:53 +0000 (09:21 -0400)
committerWei Liu <wei.liu2@citrix.com>
Wed, 28 Sep 2016 13:32:05 +0000 (14:32 +0100)
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
tools/firmware/hvmloader/acpi/build.c
tools/firmware/hvmloader/acpi/libacpi.h
tools/firmware/hvmloader/util.c

index dc489bb73aa75f5832e4452a0c29c4f5bfe968f8..537933b2ed852b3cd99bebd8db548d8dbb9b32d6 100644 (file)
@@ -360,9 +360,13 @@ static int construct_secondary_tables(unsigned long *table_ptrs,
     }
 
     /* WAET. */
-    waet = construct_waet();
-    if (!waet) return -1;
-    table_ptrs[nr_tables++] = (unsigned long)waet;
+    if ( config->table_flags & ACPI_HAS_WAET )
+    {
+        waet = construct_waet();
+        if ( !waet )
+            return -1;
+        table_ptrs[nr_tables++] = (unsigned long)waet;
+    }
 
     if ( config->table_flags & ACPI_HAS_SSDT_PM )
     {
index b8f28a39028d654e692440d8bfa2a8e88c94a11a..b411a6e78c0cc9f0d34e21a74d2f09ed0d99b3e6 100644 (file)
@@ -29,6 +29,7 @@
 #define ACPI_HAS_SSDT_S4     (1<<6)
 #define ACPI_HAS_TCPA        (1<<7)
 #define ACPI_HAS_IOAPIC      (1<<8)
+#define ACPI_HAS_WAET        (1<<9)
 
 struct xen_vmemrange;
 struct acpi_numa {
index aa5fc2051781b6efb2f10f2c68307a42d6e70a2e..b345576498a10b8cf3bbf74d8f6b2d23947b2238 100644 (file)
@@ -919,7 +919,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
     if ( !strncmp(xenstore_read("platform/acpi_s4", "1"), "1", 1)  )
         config->table_flags |= ACPI_HAS_SSDT_S4;
 
-    config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC);
+    config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC | ACPI_HAS_WAET);
 
     config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;