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 <c...@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, -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature