PVHv2 guests don't have any VGA card, and as so it must be notified in the FADT.
Signed-off-by: Roger Pau Monné <roger....@citrix.com> Reviewed-by: Jan Beulich <jbeul...@suse.com> --- Cc: Jan Beulich <jbeul...@suse.com> Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Ian Jackson <ian.jack...@eu.citrix.com> Cc: Wei Liu <wei.l...@citrix.com> Cc: boris.ostrov...@oracle.com Cc: konrad.w...@oracle.com --- tools/firmware/hvmloader/util.c | 3 ++- tools/libacpi/acpi2_0.h | 2 ++ tools/libacpi/build.c | 2 ++ tools/libacpi/libacpi.h | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index 6e0cfe7..3e192bf 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -948,7 +948,8 @@ 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 | ACPI_HAS_WAET); + config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC | ACPI_HAS_WAET | + ACPI_HAS_VGA); config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS; diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h index 5ddef8a..500f95e 100644 --- a/tools/libacpi/acpi2_0.h +++ b/tools/libacpi/acpi2_0.h @@ -229,6 +229,8 @@ struct acpi_20_fadt { */ #define ACPI_FADT_LEGACY_DEVICES (1 << 0) #define ACPI_FADT_8042 (1 << 1) +#define ACPI_FADT_NO_VGA (1 << 2) + /* * FADT Fixed Feature Flags. */ diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c index 47dae01..8799e2c 100644 --- a/tools/libacpi/build.c +++ b/tools/libacpi/build.c @@ -579,6 +579,8 @@ int acpi_build_tables(struct acpi_ctxt *ctxt, struct acpi_config *config) fadt->x_dsdt = ctxt->mem_ops.v2p(ctxt, dsdt); fadt->firmware_ctrl = ctxt->mem_ops.v2p(ctxt, facs); fadt->x_firmware_ctrl = ctxt->mem_ops.v2p(ctxt, facs); + if ( !(config->table_flags & ACPI_HAS_VGA) ) + fadt->iapc_boot_arch |= ACPI_FADT_NO_VGA; set_checksum(fadt, offsetof(struct acpi_header, checksum), sizeof(struct acpi_20_fadt)); diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h index 1d388f9..d7ea6e1 100644 --- a/tools/libacpi/libacpi.h +++ b/tools/libacpi/libacpi.h @@ -30,6 +30,7 @@ #define ACPI_HAS_TCPA (1<<7) #define ACPI_HAS_IOAPIC (1<<8) #define ACPI_HAS_WAET (1<<9) +#define ACPI_HAS_VGA (1<<10) struct xen_vmemrange; struct acpi_numa { -- 2.9.3 (Apple Git-75) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel