diff mbox

[4/6] axis-dev88: Connect the PIC upstream IRQs directly to the CPU

Message ID 1391310292-18008-5-git-send-email-edgar.iglesias@gmail.com
State New
Headers show

Commit Message

Edgar E. Iglesias Feb. 2, 2014, 3:04 a.m. UTC
From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
---
 hw/cris/axis_dev88.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Peter Crosthwaite Feb. 2, 2014, 11:54 p.m. UTC | #1
On Sun, Feb 2, 2014 at 1:04 PM,  <edgar.iglesias@gmail.com> wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>

Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>

> ---
>  hw/cris/axis_dev88.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
> index 5524088..645e45c 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);
>      }
> --
> 1.8.3.2
>
>
diff mbox

Patch

diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index 5524088..645e45c 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);
     }