OSDN Git Service

dec: actually implement PCI bridging
authorBlue Swirl <blauwirbel@gmail.com>
Sun, 7 Feb 2010 19:28:32 +0000 (19:28 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 7 Feb 2010 19:28:32 +0000 (19:28 +0000)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/dec_pci.c
hw/dec_pci.h [new file with mode: 0644]

index 2bf4f71..8d059f1 100644 (file)
@@ -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 (file)
index 0000000..79264ba
--- /dev/null
@@ -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