[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] hvmloader: Fix FADT table with QEMU Upstream.
When booting a Windows guest, the OS report an issue with the ACPI (in a BSOD). The exact issue is "SCI_EN never becomes set in PM1 Control Register." (quoted from WinDbg help). To fix this, this patch set some value related to the QEMU upstream: The SMI command port, and the acpi_enable/acpi_disable values. Reported-by: Tobias Geiger <tobias.geiger@xxxxxxxxx> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- tools/firmware/hvmloader/seabios.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/tools/firmware/hvmloader/seabios.c b/tools/firmware/hvmloader/seabios.c index 8cd0108..1b89ba7 100644 --- a/tools/firmware/hvmloader/seabios.c +++ b/tools/firmware/hvmloader/seabios.c @@ -28,6 +28,9 @@ #include "smbios_types.h" #include "acpi/acpi2_0.h" +/* Upstream QEMU require to set more field in the FADT */ +extern struct acpi_20_fadt Fadt; + #define ROM_INCLUDE_SEABIOS #include "roms.inc" @@ -91,6 +94,11 @@ static void add_table(uint32_t t) static void seabios_acpi_build_tables(void) { uint32_t rsdp = (uint32_t)scratch_alloc(sizeof(struct acpi_20_rsdp), 0); + + Fadt.smi_cmd = 0xb2; + Fadt.acpi_enable = 0xf1; + Fadt.acpi_disable = 0xf0; + acpi_build_tables(rsdp); add_table(rsdp); } -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |