Message ID | 20190102055743.5052-5-clg@kaod.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spapr: introduce the 'dual' interrupt mode XICS/XIVE | expand |
On Wed, Jan 02, 2019 at 06:57:37AM +0100, Cédric Le Goater wrote: > The qirq routines of the XiveSource and the sPAPRXive model are only > used under the sPAPR IRQ backend. Simplify the overall call stack and > gather all the code under spapr_qirq_xive(). It will ease future > changes. > > Signed-off-by: Cédric Le Goater <clg@kaod.org> Seems a good clean up in its own right, so I've applied. > --- > include/hw/ppc/spapr_xive.h | 1 - > include/hw/ppc/xive.h | 6 ------ > hw/intc/spapr_xive.c | 14 -------------- > hw/ppc/spapr_irq.c | 12 +++++++++++- > 4 files changed, 11 insertions(+), 22 deletions(-) > > diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h > index 728735dbcfbe..9ee524fdb218 100644 > --- a/include/hw/ppc/spapr_xive.h > +++ b/include/hw/ppc/spapr_xive.h > @@ -40,7 +40,6 @@ typedef struct sPAPRXive { > bool spapr_xive_irq_claim(sPAPRXive *xive, uint32_t lisn, bool lsi); > bool spapr_xive_irq_free(sPAPRXive *xive, uint32_t lisn); > void spapr_xive_pic_print_info(sPAPRXive *xive, Monitor *mon); > -qemu_irq spapr_xive_qirq(sPAPRXive *xive, uint32_t lisn); > > typedef struct sPAPRMachineState sPAPRMachineState; > > diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h > index 18cd114eb244..b05fe88b5b82 100644 > --- a/include/hw/ppc/xive.h > +++ b/include/hw/ppc/xive.h > @@ -278,12 +278,6 @@ uint8_t xive_source_esb_set(XiveSource *xsrc, uint32_t srcno, uint8_t pq); > void xive_source_pic_print_info(XiveSource *xsrc, uint32_t offset, > Monitor *mon); > > -static inline qemu_irq xive_source_qirq(XiveSource *xsrc, uint32_t srcno) > -{ > - assert(srcno < xsrc->nr_irqs); > - return xsrc->qirqs[srcno]; > -} > - > static inline bool xive_source_irq_is_lsi(XiveSource *xsrc, uint32_t srcno) > { > assert(srcno < xsrc->nr_irqs); > diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c > index 0e39c90cbd07..eea28337e807 100644 > --- a/hw/intc/spapr_xive.c > +++ b/hw/intc/spapr_xive.c > @@ -488,20 +488,6 @@ bool spapr_xive_irq_free(sPAPRXive *xive, uint32_t lisn) > return true; > } > > -qemu_irq spapr_xive_qirq(sPAPRXive *xive, uint32_t lisn) > -{ > - XiveSource *xsrc = &xive->source; > - > - if (lisn >= xive->nr_irqs) { > - return NULL; > - } > - > - /* The sPAPR machine/device should have claimed the IRQ before */ > - assert(xive_eas_is_valid(&xive->eat[lisn])); > - > - return xive_source_qirq(xsrc, lisn); > -} > - > /* > * XIVE hcalls > * > diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c > index 50e767120d21..b875065ef86b 100644 > --- a/hw/ppc/spapr_irq.c > +++ b/hw/ppc/spapr_irq.c > @@ -294,7 +294,17 @@ static void spapr_irq_free_xive(sPAPRMachineState *spapr, int irq, int num) > > static qemu_irq spapr_qirq_xive(sPAPRMachineState *spapr, int irq) > { > - return spapr_xive_qirq(spapr->xive, irq); > + sPAPRXive *xive = spapr->xive; > + XiveSource *xsrc = &xive->source; > + > + if (irq >= xive->nr_irqs) { > + return NULL; > + } > + > + /* The sPAPR machine/device should have claimed the IRQ before */ > + assert(xive_eas_is_valid(&xive->eat[irq])); > + > + return xsrc->qirqs[irq]; > } > > static void spapr_irq_print_info_xive(sPAPRMachineState *spapr,
diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h index 728735dbcfbe..9ee524fdb218 100644 --- a/include/hw/ppc/spapr_xive.h +++ b/include/hw/ppc/spapr_xive.h @@ -40,7 +40,6 @@ typedef struct sPAPRXive { bool spapr_xive_irq_claim(sPAPRXive *xive, uint32_t lisn, bool lsi); bool spapr_xive_irq_free(sPAPRXive *xive, uint32_t lisn); void spapr_xive_pic_print_info(sPAPRXive *xive, Monitor *mon); -qemu_irq spapr_xive_qirq(sPAPRXive *xive, uint32_t lisn); typedef struct sPAPRMachineState sPAPRMachineState; diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 18cd114eb244..b05fe88b5b82 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -278,12 +278,6 @@ uint8_t xive_source_esb_set(XiveSource *xsrc, uint32_t srcno, uint8_t pq); void xive_source_pic_print_info(XiveSource *xsrc, uint32_t offset, Monitor *mon); -static inline qemu_irq xive_source_qirq(XiveSource *xsrc, uint32_t srcno) -{ - assert(srcno < xsrc->nr_irqs); - return xsrc->qirqs[srcno]; -} - static inline bool xive_source_irq_is_lsi(XiveSource *xsrc, uint32_t srcno) { assert(srcno < xsrc->nr_irqs); diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 0e39c90cbd07..eea28337e807 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -488,20 +488,6 @@ bool spapr_xive_irq_free(sPAPRXive *xive, uint32_t lisn) return true; } -qemu_irq spapr_xive_qirq(sPAPRXive *xive, uint32_t lisn) -{ - XiveSource *xsrc = &xive->source; - - if (lisn >= xive->nr_irqs) { - return NULL; - } - - /* The sPAPR machine/device should have claimed the IRQ before */ - assert(xive_eas_is_valid(&xive->eat[lisn])); - - return xive_source_qirq(xsrc, lisn); -} - /* * XIVE hcalls * diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 50e767120d21..b875065ef86b 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -294,7 +294,17 @@ static void spapr_irq_free_xive(sPAPRMachineState *spapr, int irq, int num) static qemu_irq spapr_qirq_xive(sPAPRMachineState *spapr, int irq) { - return spapr_xive_qirq(spapr->xive, irq); + sPAPRXive *xive = spapr->xive; + XiveSource *xsrc = &xive->source; + + if (irq >= xive->nr_irqs) { + return NULL; + } + + /* The sPAPR machine/device should have claimed the IRQ before */ + assert(xive_eas_is_valid(&xive->eat[irq])); + + return xsrc->qirqs[irq]; } static void spapr_irq_print_info_xive(sPAPRMachineState *spapr,
The qirq routines of the XiveSource and the sPAPRXive model are only used under the sPAPR IRQ backend. Simplify the overall call stack and gather all the code under spapr_qirq_xive(). It will ease future changes. Signed-off-by: Cédric Le Goater <clg@kaod.org> --- include/hw/ppc/spapr_xive.h | 1 - include/hw/ppc/xive.h | 6 ------ hw/intc/spapr_xive.c | 14 -------------- hw/ppc/spapr_irq.c | 12 +++++++++++- 4 files changed, 11 insertions(+), 22 deletions(-)