summaryrefslogtreecommitdiffstats
path: root/hw/cris
diff options
context:
space:
mode:
authorEdgar E. Iglesias2014-01-21 13:45:54 +0100
committerEdgar E. Iglesias2014-02-03 15:03:59 +0100
commit4a6da670f80c121acfea3dacf380c26e3aeacd5c (patch)
treea163811d5df8e1d80bbab8d1eab148653c95ab92 /hw/cris
parentcris: Add interrupt signals to the CPU device (diff)
downloadqemu-4a6da670f80c121acfea3dacf380c26e3aeacd5c.tar.gz
qemu-4a6da670f80c121acfea3dacf380c26e3aeacd5c.tar.xz
qemu-4a6da670f80c121acfea3dacf380c26e3aeacd5c.zip
axis-dev88: Connect the PIC upstream IRQs directly to the CPU
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Diffstat (limited to 'hw/cris')
-rw-r--r--hw/cris/axis_dev88.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index 55240886f5..645e45ccdf 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -254,7 +254,7 @@ void axisdev88_init(QEMUMachineInitArgs *args)
DeviceState *dev;
SysBusDevice *s;
DriveInfo *nand;
- qemu_irq irq[30], nmi[2], *cpu_irq;
+ qemu_irq irq[30], nmi[2];
void *etraxfs_dmac;
struct etraxfs_dma_client *dma_eth;
int i;
@@ -296,15 +296,14 @@ void axisdev88_init(QEMUMachineInitArgs *args)
&gpio_state.iomem);
- cpu_irq = cris_pic_init_cpu(env);
dev = qdev_create(NULL, "etraxfs,pic");
/* FIXME: Is there a proper way to signal vectors to the CPU core? */
qdev_prop_set_ptr(dev, "interrupt_vector", &env->interrupt_vector);
qdev_init_nofail(dev);
s = SYS_BUS_DEVICE(dev);
sysbus_mmio_map(s, 0, 0x3001c000);
- sysbus_connect_irq(s, 0, cpu_irq[0]);
- sysbus_connect_irq(s, 1, cpu_irq[1]);
+ sysbus_connect_irq(s, 0, qdev_get_gpio_in(DEVICE(cpu), CRIS_CPU_IRQ));
+ sysbus_connect_irq(s, 1, qdev_get_gpio_in(DEVICE(cpu), CRIS_CPU_NMI));
for (i = 0; i < 30; i++) {
irq[i] = qdev_get_gpio_in(dev, i);
}