[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [HVM][IA64] Due to IPF Guest Firmware will enumerate PCI, shutdown in



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 430e06e2aa081d30ffbe272c35ea288d85252938
# Parent  63d58674596f3760c2b7837f9b61f239d15dd585
[HVM][IA64] Due to IPF Guest Firmware will enumerate PCI, shutdown in
IPF doesn't work This patch makes shutdown work for IPF.

Signed-off-by, Anthony Xu <anthony.xu@xxxxxxxxx>
---
 tools/ioemu/hw/piix4acpi.c     |   14 +++++++++++---
 xen/include/public/hvm/ioreq.h |    2 +-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff -r 63d58674596f -r 430e06e2aa08 tools/ioemu/hw/piix4acpi.c
--- a/tools/ioemu/hw/piix4acpi.c        Mon Nov 13 14:12:01 2006 +0000
+++ b/tools/ioemu/hw/piix4acpi.c        Mon Nov 13 14:20:26 2006 +0000
@@ -398,8 +398,16 @@ void pci_piix4_acpi_init(PCIBus *bus, in
     pci_conf[0x0e] = 0x00;
     pci_conf[0x3d] = 0x01;  /* Hardwired to PIRQA is used */
 
-    pci_register_io_region((PCIDevice *)d, 4, 0x10,
-                           PCI_ADDRESS_SPACE_IO, acpi_map);
-
+
+    /* PMBA POWER MANAGEMENT BASE ADDRESS, hardcoded to 0x1f40 
+     * to make shutdown work for IPF, due to IPF Guest Firmware 
+     * will enumerate pci devices. 
+     *
+     * TODO:  if Guest Firmware or Guest OS will change this PMBA,
+     * More logic will be added.
+     */
+    pci_conf[0x40] = 0x41;
+    pci_conf[0x41] = 0x1f;
+    acpi_map(d, 0, 0x1f40, 0x10, PCI_ADDRESS_SPACE_IO);
     acpi_reset(d);
 }
diff -r 63d58674596f -r 430e06e2aa08 xen/include/public/hvm/ioreq.h
--- a/xen/include/public/hvm/ioreq.h    Mon Nov 13 14:12:01 2006 +0000
+++ b/xen/include/public/hvm/ioreq.h    Mon Nov 13 14:20:26 2006 +0000
@@ -80,7 +80,7 @@ struct buffered_iopage {
 };            /* sizeof this structure must be in one page */
 typedef struct buffered_iopage buffered_iopage_t;
 
-#define ACPI_PM1A_EVT_BLK_ADDRESS           0x000000000000c010
+#define ACPI_PM1A_EVT_BLK_ADDRESS           0x0000000000001f40
 #define ACPI_PM1A_CNT_BLK_ADDRESS           (ACPI_PM1A_EVT_BLK_ADDRESS + 0x04)
 #define ACPI_PM_TMR_BLK_ADDRESS             (ACPI_PM1A_EVT_BLK_ADDRESS + 0x08)
 

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.