From: Roger Pau Monné Date: Tue, 2 Jan 2018 12:29:40 +0000 (+0000) Subject: libacpi: don't announce a 8042 controller in the FADT for PVHv2 guests X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4604e0b5b9e96d64e381c98da5010b284eb31662;p=people%2Froyger%2Fxen.git libacpi: don't announce a 8042 controller in the FADT for PVHv2 guests There's no such controler available for PVHv2 guests. Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper Reviewed-by: Jan Beulich --- diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index cddf09c1a0..c05de53888 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -950,7 +950,8 @@ void hvmloader_acpi_build_tables(struct acpi_config *config, config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC | ACPI_HAS_WAET | ACPI_HAS_PMTIMER | - ACPI_HAS_BUTTONS | ACPI_HAS_VGA); + ACPI_HAS_BUTTONS | ACPI_HAS_VGA | + ACPI_HAS_8042); config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS; diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c index b06dcfaebb..2bdfaab376 100644 --- a/tools/libacpi/build.c +++ b/tools/libacpi/build.c @@ -588,6 +588,8 @@ int acpi_build_tables(struct acpi_ctxt *ctxt, struct acpi_config *config) 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; + if ( config->table_flags & ACPI_HAS_8042 ) + fadt->iapc_boot_arch |= ACPI_FADT_8042; 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 0d50a82aeb..db2d7b28f1 100644 --- a/tools/libacpi/libacpi.h +++ b/tools/libacpi/libacpi.h @@ -33,6 +33,7 @@ #define ACPI_HAS_PMTIMER (1<<10) #define ACPI_HAS_BUTTONS (1<<11) #define ACPI_HAS_VGA (1<<12) +#define ACPI_HAS_8042 (1<<13) struct xen_vmemrange; struct acpi_numa { diff --git a/tools/libacpi/static_tables.c b/tools/libacpi/static_tables.c index 2659153882..1f6247d9d0 100644 --- a/tools/libacpi/static_tables.c +++ b/tools/libacpi/static_tables.c @@ -63,7 +63,6 @@ struct acpi_20_fadt Fadt = { .p_lvl2_lat = 0x0fff, /* >100, means we do not support C2 state */ .p_lvl3_lat = 0x0fff, /* >1000, means we do not support C3 state */ - .iapc_boot_arch = ACPI_FADT_8042, .flags = (ACPI_PROC_C1 | ACPI_WBINVD | ACPI_FIX_RTC | ACPI_TMR_VAL_EXT |