Signed-off-by: Boris Ostrovsky
---
tools/firmware/hvmloader/acpi/acpi2_0.h | 1 +
tools/firmware/hvmloader/acpi/build.c | 9 ++---
tools/firmware/hvmloader/util.c | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/tools/firmware/hvmloader/acpi/acpi2_0.h
b/tools/firmware/hvmloader/acpi/acpi2_0.h
index 6c762e0..cf707b8 100644
--- a/tools/firmware/hvmloader/acpi/acpi2_0.h
+++ b/tools/firmware/hvmloader/acpi/acpi2_0.h
@@ -460,6 +460,7 @@ struct acpi_20_slit {
#define ACPI_BUILD_SSDT_S4(1<<2)
#define ACPI_BUILD_TCPA (1<<3)
#define ACPI_BUILD_IOAPIC (1<<4)
+#define ACPI_BUILD_WAET (1<<5)
/*
* Located at ACPI_INFO_PHYSICAL_ADDRESS.
diff --git a/tools/firmware/hvmloader/acpi/build.c
b/tools/firmware/hvmloader/acpi/build.c
index 08cf78b..2bf89e4 100644
--- a/tools/firmware/hvmloader/acpi/build.c
+++ b/tools/firmware/hvmloader/acpi/build.c
@@ -344,9 +344,12 @@ 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_BUILD_WAET )
+{
+waet = construct_waet();
+if (!waet) return -1;
+table_ptrs[nr_tables++] = (unsigned long)waet;
+}
if ( config->table_flags & ACPI_BUILD_SSDT_PM )
{
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 982d023..c2145f6 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -911,7 +911,8 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
if ( !strncmp(xenstore_read("platform/acpi_s4", "1"), "1", 1) )
config->table_flags |= ACPI_BUILD_SSDT_S4;
-config->table_flags |= (ACPI_BUILD_TCPA | ACPI_BUILD_IOAPIC);
+config->table_flags |= (ACPI_BUILD_TCPA | ACPI_BUILD_IOAPIC |
+ACPI_BUILD_WAET);
config->nr_vcpus = hvm_info->nr_vcpus;
config->vcpu_online = hvm_info->vcpu_online;
--
2.4.3
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel