| Submitter | David Gibson |
|---|---|
| Date | Oct. 30, 2012, 3:25 a.m. |
| Message ID | <1351567512-17278-6-git-send-email-david@gibson.dropbear.id.au> |
| Download | mbox | patch |
| Permalink | /patch/195278/ |
| State | New |
| Headers | show |
Comments
On 30.10.2012, at 04:25, David Gibson wrote: > From: Ben Herrenschmidt <benh@kernel.crashing.org> > > 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> From: and Signed-off fields seem to not match. Alex > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/spapr.c | 2 +- > hw/xics.c | 2 +- > hw/xics.h | 1 + > 3 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/hw/spapr.c b/hw/spapr.c > index 8d0ad3c..81c49dc 100644 > --- a/hw/spapr.c > +++ b/hw/spapr.c > @@ -799,7 +799,7 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args) > > /* 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 7a899dd..db01fe3 100644 > --- a/hw/xics.c > +++ b/hw/xics.c > @@ -548,7 +548,7 @@ struct icp_state *xics_system_init(int nr_irqs) > > 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; > > -- > 1.7.10.4 >
On Thu, Nov 01, 2012 at 11:15:43AM +0100, Alexander Graf wrote: > > On 30.10.2012, at 04:25, David Gibson wrote: > > > From: Ben Herrenschmidt <benh@kernel.crashing.org> > > > > 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> > > From: and Signed-off fields seem to not match. Well.. it's a fuzzy case in signed-off practice. Both Michael and Ben have worked on the patch, Michael first. I then split the patch up for submission and had to make a judgement call as to who was the main author of that section. My best guess on the available information was Ben. Michael, Ben, have anything to add?
Patch
diff --git a/hw/spapr.c b/hw/spapr.c index 8d0ad3c..81c49dc 100644 --- a/hw/spapr.c +++ b/hw/spapr.c @@ -799,7 +799,7 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args) /* 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 7a899dd..db01fe3 100644 --- a/hw/xics.c +++ b/hw/xics.c @@ -548,7 +548,7 @@ struct icp_state *xics_system_init(int nr_irqs) 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;