# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 9a341c6ef6ae2ce90ccdcf89718d4365426d9d96
# Parent 430e06e2aa081d30ffbe272c35ea288d85252938
[IOEMU] Simply fake-bios init of the piix4acpi device.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
tools/ioemu/hw/piix4acpi.c | 2 +-
tools/ioemu/hw/piix_pci.c | 18 +++++++-----------
2 files changed, 8 insertions(+), 12 deletions(-)
diff -r 430e06e2aa08 -r 9a341c6ef6ae tools/ioemu/hw/piix4acpi.c
--- a/tools/ioemu/hw/piix4acpi.c Mon Nov 13 14:20:26 2006 +0000
+++ b/tools/ioemu/hw/piix4acpi.c Mon Nov 13 14:25:48 2006 +0000
@@ -406,7 +406,7 @@ void pci_piix4_acpi_init(PCIBus *bus, in
* TODO: if Guest Firmware or Guest OS will change this PMBA,
* More logic will be added.
*/
- pci_conf[0x40] = 0x41;
+ pci_conf[0x40] = 0x41; /* Special device-specific BAR at 0x40 */
pci_conf[0x41] = 0x1f;
acpi_map(d, 0, 0x1f40, 0x10, PCI_ADDRESS_SPACE_IO);
acpi_reset(d);
diff -r 430e06e2aa08 -r 9a341c6ef6ae tools/ioemu/hw/piix_pci.c
--- a/tools/ioemu/hw/piix_pci.c Mon Nov 13 14:20:26 2006 +0000
+++ b/tools/ioemu/hw/piix_pci.c Mon Nov 13 14:25:48 2006 +0000
@@ -338,10 +338,14 @@ static void pci_bios_init_device(PCIDevi
break;
case 0x0680:
if (vendor_id == 0x8086 && device_id == 0x7113) {
- /* PIIX4 ACPI PM */
- pci_config_writew(d, 0x20, 0x0000); /* NO smb bus IO enable in
PIIX4 */
+ /*
+ * PIIX4 ACPI PM.
+ * Special device with special PCI config space. No ordinary BARs.
+ */
+ pci_config_writew(d, 0x20, 0x0000); // No smb bus IO enable
pci_config_writew(d, 0x22, 0x0000);
- goto default_map;
+ pci_config_writew(d, 0x3c, 0x0009); // Hardcoded IRQ9
+ pci_config_writew(d, 0x3d, 0x0001);
}
break;
case 0x0300:
@@ -394,14 +398,6 @@ static void pci_bios_init_device(PCIDevi
pic_irq = pci_irqs[pin];
pci_config_writeb(d, PCI_INTERRUPT_LINE, pic_irq);
}
-
- if (class== 0x0680&& vendor_id == 0x8086 && device_id == 0x7113) {
- // PIIX4 ACPI PM
- pci_config_writew(d, 0x20, 0x0000); // NO smb bus IO enable in PIIX4
- pci_config_writew(d, 0x22, 0x0000);
- pci_config_writew(d, 0x3c, 0x0009); // Hardcodeed IRQ9
- pci_config_writew(d, 0x3d, 0x0001);
- }
}
/*
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|