@@ -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 )
{
@@ -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 {
@@ -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;