|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] hvmloader: Fix FADT table with QEMU Upstream.,
Anthony PERARD <=
|
|
|
|
|