This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH V2] hvmloader: Fix FADT table for QEMU Upstream.

To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH V2] hvmloader: Fix FADT table for QEMU Upstream.
From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Tue, 26 Jul 2011 15:23:01 +0100
Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Tobias Geiger <tobias.geiger@xxxxxxxxx>
Delivery-date: Tue, 26 Jul 2011 07:24:18 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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/acpi/static_tables.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

  - this time, always set, even on old QEMU.
  - Add more descriptive macro.

diff --git a/tools/firmware/hvmloader/acpi/static_tables.c 
index cf4b8dc..b68f6e1 100644
--- a/tools/firmware/hvmloader/acpi/static_tables.c
+++ b/tools/firmware/hvmloader/acpi/static_tables.c
@@ -42,6 +42,10 @@ struct acpi_20_facs Facs = {
 #define ACPI_PM_TMR_BLK_BIT_WIDTH           0x20
 #define ACPI_PM_TMR_BLK_BIT_OFFSET          0x00
+#define SMI_CMD_IOPORT                      0xb2
+#define PIIX4_ACPI_ENABLE                   0xf1
+#define PIIX4_ACPI_DISABLE                  0xf0
 struct acpi_20_fadt Fadt = {
     .header = {
         .signature    = ACPI_2_0_FADT_SIGNATURE,
@@ -55,6 +59,10 @@ struct acpi_20_fadt Fadt = {
     .sci_int = 9,
+    .smi_cmd = SMI_CMD_IOPORT,
+    .acpi_enable = PIIX4_ACPI_ENABLE,
+    .acpi_disable = PIIX4_ACPI_DISABLE,
     .pm1a_evt_blk = ACPI_PM1A_EVT_BLK_ADDRESS_V1,
     .pm1a_cnt_blk = ACPI_PM1A_CNT_BLK_ADDRESS_V1,
Anthony PERARD

Xen-devel mailing list