diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-09-24 17:01:44 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-09-24 17:01:44 +0000 |
commit | 80b3ada7dd56088613a446934d144a747e740fa1 (patch) | |
tree | 3dc8bf29b3bee0c06772b56e5add4a7d5df2de23 /vl.h | |
parent | d2b5931756fdb9f839180e33898cd1e3e4fbdc90 (diff) |
Implement sun4u PCI IRQ routing.
Allow multiple PCI busses and PCI-PCI bridges.
Fix bugs in Versatile PCI implementation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2166 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.h')
-rw-r--r-- | vl.h | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -759,15 +759,17 @@ int pci_device_load(PCIDevice *s, QEMUFile *f); typedef void (*pci_set_irq_fn)(void *pic, int irq_num, int level); typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num); PCIBus *pci_register_bus(pci_set_irq_fn set_irq, pci_map_irq_fn map_irq, - void *pic, int devfn_min); + void *pic, int devfn_min, int nirq); void pci_nic_init(PCIBus *bus, NICInfo *nd); void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len); uint32_t pci_data_read(void *opaque, uint32_t addr, int len); int pci_bus_num(PCIBus *s); -void pci_for_each_device(void (*fn)(PCIDevice *d)); +void pci_for_each_device(int bus_num, void (*fn)(PCIDevice *d)); void pci_info(void); +PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint32_t id, + pci_map_irq_fn map_irq, const char *name); /* prep_pci.c */ PCIBus *pci_prep_init(void); |