WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] firmware, qemu: Change ACPI IO values to

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] firmware, qemu: Change ACPI IO values to match QEMU BIOS
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 09 Nov 2010 20:10:21 -0800
Delivery-date: Tue, 09 Nov 2010 20:11:43 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Anthony Perard <anthony.perard@xxxxxxxxxx>
# Date 1289325835 0
# Node ID a564339357047b729c4eb61a5a1e9a00f4e52b13
# Parent  c553d3035fd5d9c5d254102bd4001581356710de
firmware, qemu: Change ACPI IO values to match QEMU BIOS

As part of the QEMU/Xen merge, this patch comes to change the value of
sleep states and add some information in the PCI registers to match the
implementation of the BIOS of QEMU.

It also does a hypercall (HVM_PARAM_ACPI_IOPORTS_LOCATION) that tell the
Xen to use the new Port I/O instead of the old one.

[ Also, in this patch, update QEMU_TAG to the qemu-xen revision
  with the corresponding qemu change. -iwj ]

Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 Config.mk                              |    6 +++---
 tools/firmware/hvmloader/acpi/dsdt.asl |   12 ++++++------
 tools/firmware/hvmloader/hvmloader.c   |   11 +++++++++++
 3 files changed, 20 insertions(+), 9 deletions(-)

diff -r c553d3035fd5 -r a56433935704 Config.mk
--- a/Config.mk Tue Nov 09 17:43:12 2010 +0000
+++ b/Config.mk Tue Nov 09 18:03:55 2010 +0000
@@ -185,9 +185,9 @@ endif
 # CONFIG_QEMU ?= ../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 0442ec23f9efc4f8f9259351f612194f8f42900c
-# Mon Nov 8 17:09:54 2010 +0000
-# stubdom: fix handing of dependency files
+QEMU_TAG ?= ce3b7ce68426ea6249bb411f26b376d459c45450
+# Tue Nov 9 18:01:13 2010 +0000
+# piix4acpi, xen: change in ACPI to match the change in the BIOS.
 
 # Optional components
 XENSTAT_XENTOP     ?= y
diff -r c553d3035fd5 -r a56433935704 tools/firmware/hvmloader/acpi/dsdt.asl
--- a/tools/firmware/hvmloader/acpi/dsdt.asl    Tue Nov 09 17:43:12 2010 +0000
+++ b/tools/firmware/hvmloader/acpi/dsdt.asl    Tue Nov 09 18:03:55 2010 +0000
@@ -33,22 +33,22 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
      */
     Name (\_S3, Package (0x04)
     {
-        0x05,  /* PM1a_CNT.SLP_TYP */
-        0x05,  /* PM1b_CNT.SLP_TYP */
+        0x01,  /* PM1a_CNT.SLP_TYP */
+        0x01,  /* PM1b_CNT.SLP_TYP */
         0x0,   /* reserved */
         0x0    /* reserved */
     })
     Name (\_S4, Package (0x04)
     {
-        0x06,  /* PM1a_CNT.SLP_TYP */
-        0x06,  /* PM1b_CNT.SLP_TYP */
+        0x00,  /* PM1a_CNT.SLP_TYP */
+        0x00,  /* PM1b_CNT.SLP_TYP */
         0x00,  /* reserved */
         0x00   /* reserved */
     })
     Name (\_S5, Package (0x04)
     {
-        0x07,  /* PM1a_CNT.SLP_TYP */
-        0x07,  /* PM1b_CNT.SLP_TYP */
+        0x00,  /* PM1a_CNT.SLP_TYP */
+        0x00,  /* PM1b_CNT.SLP_TYP */
         0x00,  /* reserved */
         0x00   /* reserved */
     })
diff -r c553d3035fd5 -r a56433935704 tools/firmware/hvmloader/hvmloader.c
--- a/tools/firmware/hvmloader/hvmloader.c      Tue Nov 09 17:43:12 2010 +0000
+++ b/tools/firmware/hvmloader/hvmloader.c      Tue Nov 09 18:03:55 2010 +0000
@@ -31,6 +31,7 @@
 #include "option_rom.h"
 #include <xen/version.h>
 #include <xen/hvm/params.h>
+#include <xen/hvm/ioreq.h>
 #include <xen/memory.h>
 
 asm (
@@ -222,9 +223,12 @@ static void pci_setup(void)
             /* PIIX4 ACPI PM. Special device with special PCI config space. */
             ASSERT((vendor_id == 0x8086) && (device_id == 0x7113));
             pci_writew(devfn, 0x20, 0x0000); /* No smb bus IO enable */
+            pci_writew(devfn, 0xd2, 0x0000); /* No smb bus IO enable */
             pci_writew(devfn, 0x22, 0x0000);
             pci_writew(devfn, 0x3c, 0x0009); /* Hardcoded IRQ9 */
             pci_writew(devfn, 0x3d, 0x0001);
+            pci_writel(devfn, 0x40, ACPI_PM1A_EVT_BLK_ADDRESS | 1);
+            pci_writeb(devfn, 0x80, 0x01); /* enable PM io space */
             break;
         case 0x0101:
             if ( vendor_id == 0x8086 )
@@ -763,8 +767,15 @@ int main(void)
 
     if ( hvm_info->acpi_enabled )
     {
+        struct xen_hvm_param p = {
+            .domid = DOMID_SELF,
+            .index = HVM_PARAM_ACPI_IOPORTS_LOCATION,
+            .value = 1,
+        };
+
         printf("Loading ACPI ...\n");
         acpi_build_tables();
+        hypercall_hvm_op(HVMOP_set_param, &p);
     }
 
     init_vm86_tss();

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] firmware, qemu: Change ACPI IO values to match QEMU BIOS, Xen patchbot-unstable <=