ia64/xen-unstable

changeset 12420:430e06e2aa08

[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@intel.com>
author kfraser@localhost.localdomain
date Mon Nov 13 14:20:26 2006 +0000 (2006-11-13)
parents 63d58674596f
children 9a341c6ef6ae
files tools/ioemu/hw/piix4acpi.c xen/include/public/hvm/ioreq.h
line diff
     1.1 --- a/tools/ioemu/hw/piix4acpi.c	Mon Nov 13 14:12:01 2006 +0000
     1.2 +++ b/tools/ioemu/hw/piix4acpi.c	Mon Nov 13 14:20:26 2006 +0000
     1.3 @@ -398,8 +398,16 @@ void pci_piix4_acpi_init(PCIBus *bus, in
     1.4      pci_conf[0x0e] = 0x00;
     1.5      pci_conf[0x3d] = 0x01;  /* Hardwired to PIRQA is used */
     1.6  
     1.7 -    pci_register_io_region((PCIDevice *)d, 4, 0x10,
     1.8 -                           PCI_ADDRESS_SPACE_IO, acpi_map);
     1.9  
    1.10 +    /* PMBA POWER MANAGEMENT BASE ADDRESS, hardcoded to 0x1f40 
    1.11 +     * to make shutdown work for IPF, due to IPF Guest Firmware 
    1.12 +     * will enumerate pci devices. 
    1.13 +     *
    1.14 +     * TODO:  if Guest Firmware or Guest OS will change this PMBA,
    1.15 +     * More logic will be added.
    1.16 +     */
    1.17 +    pci_conf[0x40] = 0x41;
    1.18 +    pci_conf[0x41] = 0x1f;
    1.19 +    acpi_map(d, 0, 0x1f40, 0x10, PCI_ADDRESS_SPACE_IO);
    1.20      acpi_reset(d);
    1.21  }
     2.1 --- a/xen/include/public/hvm/ioreq.h	Mon Nov 13 14:12:01 2006 +0000
     2.2 +++ b/xen/include/public/hvm/ioreq.h	Mon Nov 13 14:20:26 2006 +0000
     2.3 @@ -80,7 +80,7 @@ struct buffered_iopage {
     2.4  };            /* sizeof this structure must be in one page */
     2.5  typedef struct buffered_iopage buffered_iopage_t;
     2.6  
     2.7 -#define ACPI_PM1A_EVT_BLK_ADDRESS           0x000000000000c010
     2.8 +#define ACPI_PM1A_EVT_BLK_ADDRESS           0x0000000000001f40
     2.9  #define ACPI_PM1A_CNT_BLK_ADDRESS           (ACPI_PM1A_EVT_BLK_ADDRESS + 0x04)
    2.10  #define ACPI_PM_TMR_BLK_ADDRESS             (ACPI_PM1A_EVT_BLK_ADDRESS + 0x08)
    2.11