From d55380bb9c9a5b1f4c7aa919e77f9bfb72023c3a Mon Sep 17 00:00:00 2001 From: Blue Swirl Date: Sun, 7 Feb 2010 19:28:32 +0000 Subject: dec: actually implement PCI bridging Signed-off-by: Blue Swirl --- hw/dec_pci.c | 20 ++++++++++++++++++++ hw/dec_pci.h | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 hw/dec_pci.h diff --git a/hw/dec_pci.c b/hw/dec_pci.c index 2bf4f71..8d059f1 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 0000000..79264ba --- /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 -- cgit v1.1