pseries: Use #define for XICS base irq number Currently the lowest "real" irq number for the XICS irq controller (as opposed to numbers reserved for IPIs and other special purposes) is hard coded as 16 in two places - in xics_system_init() and in spapr.c. As well as being generally bad practice, we're going to need to change this number soon to fit in with the in-kernel XICS implementation. This patch adds a #define for this number to avoid future breakage. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/hw/spapr.c b/hw/spapr.c index ad3f0ea..eafee03 100644 --- a/hw/spapr.c +++ b/hw/spapr.c
@@ -801,7 +801,7 @@ /* Set up Interrupt Controller */ spapr->icp = xics_system_init(XICS_IRQS); - spapr->next_irq = 16; + spapr->next_irq = XICS_IRQ_BASE; /* Set up EPOW events infrastructure */ spapr_events_init(spapr);
diff --git a/hw/xics.c b/hw/xics.c index edf5833..b8887cd 100644 --- a/hw/xics.c +++ b/hw/xics.c
@@ -549,7 +549,7 @@ ics = g_malloc0(sizeof(*ics)); ics->nr_irqs = nr_irqs; - ics->offset = 16; + ics->offset = XICS_IRQ_BASE; ics->irqs = g_malloc0(nr_irqs * sizeof(struct ics_irq_state)); icp->ics = ics;
diff --git a/hw/xics.h b/hw/xics.h index 6817268..c3bf008 100644 --- a/hw/xics.h +++ b/hw/xics.h
@@ -28,6 +28,7 @@ #define __XICS_H__ #define XICS_IPI 0x2 +#define XICS_IRQ_BASE 0x10 struct icp_state;