diff --git a/hw/dec_pci.c b/hw/dec_pci.c index 2bf4f71b42..8d059f1315 100644 --- a/hw/dec_pci.c +++ b/hw/dec_pci.c @@ -23,6 +23,7 @@ * THE SOFTWARE. */ +#include "dec_pci.h" #include "sysbus.h" #include "pci.h" #include "pci_host.h" @@ -42,6 +43,25 @@ typedef struct DECState { PCIHostState host_state; } DECState; +static int dec_map_irq(PCIDevice *pci_dev, int irq_num) +{ + return irq_num; +} + +PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn) +{ + DeviceState *dev; + PCIBus *ret; + + dev = qdev_create(NULL, "dec-21154"); + qdev_init_nofail(dev); + ret = pci_bridge_init(parent_bus, devfn, + PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21154, + dec_map_irq, "DEC 21154 PCI-PCI bridge"); + + return ret; +} + static int pci_dec_21154_init_device(SysBusDevice *dev) { DECState *s; diff --git a/hw/dec_pci.h b/hw/dec_pci.h new file mode 100644 index 0000000000..79264bac84 --- /dev/null +++ b/hw/dec_pci.h @@ -0,0 +1,8 @@ +#ifndef DEC_PCI_H +#define DEC_PCI_H + +#include "qemu-common.h" + +PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn); + +#endif