[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 1/8] arm_gic: Introduce define for GIC_NR_SGIS
From: |
Christoffer Dall |
Subject: |
[Qemu-devel] [PATCH v5 1/8] arm_gic: Introduce define for GIC_NR_SGIS |
Date: |
Tue, 28 Jan 2014 12:32:38 -0800 |
Instead of hardcoding 16 various places in the code, use a define to
make it more clear what is going on.
Signed-off-by: Christoffer Dall <address@hidden>
---
Changes [v1 -> v5]:
- New patch in series
hw/intc/arm_gic.c | 17 +++++++++++------
include/hw/intc/arm_gic_common.h | 1 +
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c
index 9409684..98c6ff5 100644
--- a/hw/intc/arm_gic.c
+++ b/hw/intc/arm_gic.c
@@ -380,8 +380,10 @@ static void gic_dist_writeb(void *opaque, hwaddr offset,
irq = (offset - 0x100) * 8 + GIC_BASE_IRQ;
if (irq >= s->num_irq)
goto bad_reg;
- if (irq < 16)
- value = 0xff;
+ if (irq < GIC_NR_SGIS) {
+ value = 0xff;
+ }
+
for (i = 0; i < 8; i++) {
if (value & (1 << i)) {
int mask =
@@ -406,8 +408,10 @@ static void gic_dist_writeb(void *opaque, hwaddr offset,
irq = (offset - 0x180) * 8 + GIC_BASE_IRQ;
if (irq >= s->num_irq)
goto bad_reg;
- if (irq < 16)
- value = 0;
+ if (irq < GIC_NR_SGIS) {
+ value = 0;
+ }
+
for (i = 0; i < 8; i++) {
if (value & (1 << i)) {
int cm = (irq < GIC_INTERNAL) ? (1 << cpu) : ALL_CPU_MASK;
@@ -423,8 +427,9 @@ static void gic_dist_writeb(void *opaque, hwaddr offset,
irq = (offset - 0x200) * 8 + GIC_BASE_IRQ;
if (irq >= s->num_irq)
goto bad_reg;
- if (irq < 16)
- irq = 0;
+ if (irq < GIC_NR_SGIS) {
+ irq = 0;
+ }
for (i = 0; i < 8; i++) {
if (value & (1 << i)) {
diff --git a/include/hw/intc/arm_gic_common.h b/include/hw/intc/arm_gic_common.h
index 40cd3d6..dbf8787 100644
--- a/include/hw/intc/arm_gic_common.h
+++ b/include/hw/intc/arm_gic_common.h
@@ -27,6 +27,7 @@
#define GIC_MAXIRQ 1020
/* First 32 are private to each CPU (SGIs and PPIs). */
#define GIC_INTERNAL 32
+#define GIC_NR_SGIS 16
/* Maximum number of possible CPU interfaces, determined by GIC architecture */
#define GIC_NCPU 8
--
1.8.5.2
- [Qemu-devel] [PATCH v5 0/8] Support arm-gic-kvm save/restore, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 2/8] arm_gic: Fix GICD_ICPENDR and GICD_ISPENDR writes, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 1/8] arm_gic: Introduce define for GIC_NR_SGIS,
Christoffer Dall <=
- [Qemu-devel] [PATCH v5 3/8] arm_gic: Fix GIC pending behavior, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 4/8] hw: arm_gic: Keep track of SGI sources, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 5/8] arm_gic: Support setting/getting binary point reg, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 6/8] vmstate: Add uint32 2D-array support, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 7/8] arm_gic: Add GICC_APRn state to the GICState, Christoffer Dall, 2014/01/28
- [Qemu-devel] [PATCH v5 8/8] hw: arm_gic_kvm: Add KVM VGIC save/restore logic, Christoffer Dall, 2014/01/28
- Re: [Qemu-devel] [PATCH v5 0/8] Support arm-gic-kvm save/restore, Peter Maydell, 2014/01/29