aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/patches/remove-pci-bridge-setup
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/patches/remove-pci-bridge-setup')
-rw-r--r--tools/ioemu/patches/remove-pci-bridge-setup240
1 files changed, 0 insertions, 240 deletions
diff --git a/tools/ioemu/patches/remove-pci-bridge-setup b/tools/ioemu/patches/remove-pci-bridge-setup
deleted file mode 100644
index d3a49f542a..0000000000
--- a/tools/ioemu/patches/remove-pci-bridge-setup
+++ /dev/null
@@ -1,240 +0,0 @@
-# HG changeset patch
-# User kfraser@localhost.localdomain
-# Node ID a8d31d5ce2589762c3226185deeca3afca47a698
-# Parent b8cc9ffda0a3dc449b026c72c97f78dea2e6f114
-[HVM] Move PCI and PCI-ISA bridge setup to hvmloader.
-Signed-off-by: Keir Fraser <keir@xensource.com>
-
-Index: ioemu/target-i386-dm/piix_pci-dm.c
-===================================================================
---- ioemu.orig/target-i386-dm/piix_pci-dm.c 2007-05-09 14:07:46.000000000 +0100
-+++ ioemu/target-i386-dm/piix_pci-dm.c 2007-05-09 14:07:56.000000000 +0100
-@@ -220,228 +220,3 @@
- piix3_reset(d);
- return d->devfn;
- }
--
--/***********************************************************/
--/* XXX: the following should be moved to the PC BIOS */
--
--static __attribute__((unused)) uint32_t isa_inb(uint32_t addr)
--{
-- return cpu_inb(NULL, addr);
--}
--
--static void isa_outb(uint32_t val, uint32_t addr)
--{
-- cpu_outb(NULL, addr, val);
--}
--
--static __attribute__((unused)) uint32_t isa_inw(uint32_t addr)
--{
-- return cpu_inw(NULL, addr);
--}
--
--static __attribute__((unused)) void isa_outw(uint32_t val, uint32_t addr)
--{
-- cpu_outw(NULL, addr, val);
--}
--
--static __attribute__((unused)) uint32_t isa_inl(uint32_t addr)
--{
-- return cpu_inl(NULL, addr);
--}
--
--static __attribute__((unused)) void isa_outl(uint32_t val, uint32_t addr)
--{
-- cpu_outl(NULL, addr, val);
--}
--
--static uint32_t pci_bios_io_addr;
--static uint32_t pci_bios_mem_addr;
--/* host irqs corresponding to PCI irqs A-D */
--static uint8_t pci_irqs[4] = { 10, 11, 10, 11 };
--
--static void pci_config_writel(PCIDevice *d, uint32_t addr, uint32_t val)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- pci_data_write(s, addr, val, 4);
--}
--
--static void pci_config_writew(PCIDevice *d, uint32_t addr, uint32_t val)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- pci_data_write(s, addr, val, 2);
--}
--
--static void pci_config_writeb(PCIDevice *d, uint32_t addr, uint32_t val)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- pci_data_write(s, addr, val, 1);
--}
--
--static __attribute__((unused)) uint32_t pci_config_readl(PCIDevice *d, uint32_t addr)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- return pci_data_read(s, addr, 4);
--}
--
--static uint32_t pci_config_readw(PCIDevice *d, uint32_t addr)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- return pci_data_read(s, addr, 2);
--}
--
--static uint32_t pci_config_readb(PCIDevice *d, uint32_t addr)
--{
-- PCIBus *s = d->bus;
-- addr |= (pci_bus_num(s) << 16) | (d->devfn << 8);
-- return pci_data_read(s, addr, 1);
--}
--
--static void pci_set_io_region_addr(PCIDevice *d, int region_num, uint32_t addr)
--{
-- PCIIORegion *r;
-- uint16_t cmd;
-- uint32_t ofs;
--
-- if ( region_num == PCI_ROM_SLOT ) {
-- ofs = 0x30;
-- }else{
-- ofs = 0x10 + region_num * 4;
-- }
--
-- pci_config_writel(d, ofs, addr);
-- r = &d->io_regions[region_num];
--
-- /* enable memory mappings */
-- cmd = pci_config_readw(d, PCI_COMMAND);
-- if ( region_num == PCI_ROM_SLOT )
-- cmd |= 2;
-- else if (r->type & PCI_ADDRESS_SPACE_IO)
-- cmd |= 1;
-- else
-- cmd |= 2;
-- pci_config_writew(d, PCI_COMMAND, cmd);
--}
--
--static void pci_bios_init_device(PCIDevice *d)
--{
-- int class;
-- PCIIORegion *r;
-- uint32_t *paddr;
-- int i, pin, pic_irq, vendor_id, device_id;
--
-- class = pci_config_readw(d, PCI_CLASS_DEVICE);
-- vendor_id = pci_config_readw(d, PCI_VENDOR_ID);
-- device_id = pci_config_readw(d, PCI_DEVICE_ID);
-- switch(class) {
-- case 0x0101:
-- if (vendor_id == 0x8086 && device_id == 0x7010) {
-- /* PIIX3 IDE */
-- pci_config_writew(d, 0x40, 0x8000); // enable IDE0
-- pci_config_writew(d, 0x42, 0x8000); // enable IDE1
-- goto default_map;
-- } else {
-- /* IDE: we map it as in ISA mode */
-- pci_set_io_region_addr(d, 0, 0x1f0);
-- pci_set_io_region_addr(d, 1, 0x3f4);
-- pci_set_io_region_addr(d, 2, 0x170);
-- pci_set_io_region_addr(d, 3, 0x374);
-- }
-- break;
-- case 0x0680:
-- if (vendor_id == 0x8086 && device_id == 0x7113) {
-- /*
-- * 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);
-- pci_config_writew(d, 0x3c, 0x0009); // Hardcoded IRQ9
-- pci_config_writew(d, 0x3d, 0x0001);
-- }
-- break;
-- case 0x0300:
-- if (vendor_id != 0x1234)
-- goto default_map;
-- /* VGA: map frame buffer to default Bochs VBE address */
-- pci_set_io_region_addr(d, 0, 0xE0000000);
-- break;
-- case 0x0800:
-- /* PIC */
-- vendor_id = pci_config_readw(d, PCI_VENDOR_ID);
-- device_id = pci_config_readw(d, PCI_DEVICE_ID);
-- if (vendor_id == 0x1014) {
-- /* IBM */
-- if (device_id == 0x0046 || device_id == 0xFFFF) {
-- /* MPIC & MPIC2 */
-- pci_set_io_region_addr(d, 0, 0x80800000 + 0x00040000);
-- }
-- }
-- break;
-- case 0xff00:
-- if (vendor_id == 0x0106b &&
-- (device_id == 0x0017 || device_id == 0x0022)) {
-- /* macio bridge */
-- pci_set_io_region_addr(d, 0, 0x80800000);
-- }
-- break;
-- default:
-- default_map:
-- /* default memory mappings */
-- for(i = 0; i < PCI_NUM_REGIONS; i++) {
-- r = &d->io_regions[i];
-- if (r->size) {
-- if (r->type & PCI_ADDRESS_SPACE_IO)
-- paddr = &pci_bios_io_addr;
-- else
-- paddr = &pci_bios_mem_addr;
-- *paddr = (*paddr + r->size - 1) & ~(r->size - 1);
-- pci_set_io_region_addr(d, i, *paddr);
-- *paddr += r->size;
-- }
-- }
-- break;
-- }
--
-- /* map the interrupt */
-- pin = pci_config_readb(d, PCI_INTERRUPT_PIN);
-- if (pin != 0) {
-- pin = pci_slot_get_pirq(d, pin - 1);
-- pic_irq = pci_irqs[pin];
-- pci_config_writeb(d, PCI_INTERRUPT_LINE, pic_irq);
-- }
--}
--
--/*
-- * This function initializes the PCI devices as a normal PCI BIOS
-- * would do. It is provided just in case the BIOS has no support for
-- * PCI.
-- */
--void pci_bios_init(void)
--{
-- int i, irq;
-- uint8_t elcr[2];
--
-- pci_bios_io_addr = 0xc000;
-- pci_bios_mem_addr = HVM_BELOW_4G_MMIO_START;
--
-- /* activate IRQ mappings */
-- elcr[0] = 0x00;
-- elcr[1] = 0x00;
-- for(i = 0; i < 4; i++) {
-- irq = pci_irqs[i];
-- /* set to trigger level */
-- elcr[irq >> 3] |= (1 << (irq & 7));
-- /* activate irq remapping in PIIX */
-- pci_config_writeb(piix3_dev, 0x60 + i, irq);
-- }
-- isa_outb(elcr[0], 0x4d0);
-- isa_outb(elcr[1], 0x4d1);
--
-- pci_for_each_device(pci_bios_init_device);
--}
--