qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 1/2] hw/exynos4210.c: Access gate_irq by using gr


From: Evgeny Voevodin
Subject: [Qemu-devel] [PATCH v2 1/2] hw/exynos4210.c: Access gate_irq by using group size.
Date: Thu, 12 Apr 2012 12:13:00 +0400

New EXYNOS4210_IRQ_GATE_GROUP_SIZE introduced and
EXYNOS4210_IRQ_GATE_NINPUTS changed from 8 to 4, because
having 8 inputs makes an input group of size 4 and access to
second's group first input leads to pass it into third instead of
second output of gate.

Signed-off-by: Evgeny Voevodin <address@hidden>
---
 hw/exynos4210.c |    6 ++++--
 hw/exynos4210.h |    4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/hw/exynos4210.c b/hw/exynos4210.c
index f904370..5e30387 100644
--- a/hw/exynos4210.c
+++ b/hw/exynos4210.c
@@ -116,7 +116,8 @@ Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
     busdev = sysbus_from_qdev(dev);
     sysbus_mmio_map(busdev, 0, EXYNOS4210_SMP_PRIVATE_BASE_ADDR);
     for (n = 0; n < EXYNOS4210_NCPUS; n++) {
-        sysbus_connect_irq(busdev, n, gate_irq[n * 2]);
+        sysbus_connect_irq(busdev, n, gate_irq[n *
+                                               
EXYNOS4210_IRQ_GATE_GROUP_SIZE]);
     }
     for (n = 0; n < EXYNOS4210_INT_GIC_NIRQ; n++) {
         s->irqs.int_gic_irq[n] = qdev_get_gpio_in(dev, n);
@@ -135,7 +136,8 @@ Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
     /* Map Distributer interface */
     sysbus_mmio_map(busdev, 1, EXYNOS4210_EXT_GIC_DIST_BASE_ADDR);
     for (n = 0; n < EXYNOS4210_NCPUS; n++) {
-        sysbus_connect_irq(busdev, n, gate_irq[n * 2 + 1]);
+        sysbus_connect_irq(busdev, n, gate_irq[n *
+                                           EXYNOS4210_IRQ_GATE_GROUP_SIZE + 
1]);
     }
     for (n = 0; n < EXYNOS4210_EXT_GIC_NIRQ; n++) {
         s->irqs.ext_gic_irq[n] = qdev_get_gpio_in(dev, n);
diff --git a/hw/exynos4210.h b/hw/exynos4210.h
index c112e03..cb5aafb 100644
--- a/hw/exynos4210.h
+++ b/hw/exynos4210.h
@@ -56,7 +56,9 @@
 /*
  * exynos4210 IRQ subsystem stub definitions.
  */
-#define EXYNOS4210_IRQ_GATE_NINPUTS 8
+#define EXYNOS4210_IRQ_GATE_NINPUTS 4
+#define EXYNOS4210_IRQ_GATE_GROUP_SIZE (EXYNOS4210_IRQ_GATE_NINPUTS / \
+                                                            EXYNOS4210_NCPUS)
 
 #define EXYNOS4210_MAX_INT_COMBINER_OUT_IRQ  64
 #define EXYNOS4210_MAX_EXT_COMBINER_OUT_IRQ  16
-- 
1.7.5.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]