On Thu, Feb 16, 2017 at 02:47:30PM +0100, Cédric Le Goater wrote: > Signed-off-by: Cédric Le Goater <c...@kaod.org>
Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > --- > hw/intc/xics.c | 5 +++-- > hw/ppc/spapr_events.c | 6 +++--- > hw/ppc/spapr_pci.c | 2 +- > include/hw/pci-host/spapr.h | 2 +- > include/hw/ppc/spapr_vio.h | 2 +- > include/hw/ppc/xics.h | 3 ++- > 6 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/hw/intc/xics.c b/hw/intc/xics.c > index 39c442f70116..0ffdf09c5304 100644 > --- a/hw/intc/xics.c > +++ b/hw/intc/xics.c > @@ -747,9 +747,10 @@ ICSState *xics_find_source(XICSState *xics, int irq) > return NULL; > } > > -qemu_irq xics_get_qirq(XICSState *xics, int irq) > +qemu_irq xics_get_qirq(XICSInterface *xi, int irq) > { > - ICSState *ics = xics_find_source(xics, irq); > + XICSInterfaceClass *xic = XICS_INTERFACE_GET_CLASS(xi); > + ICSState *ics = xic->ics_get(xi, irq); > > if (ics) { > return ics->qirqs[irq - ics->offset]; > diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c > index 38b4258a9be7..aa627dc13008 100644 > --- a/hw/ppc/spapr_events.c > +++ b/hw/ppc/spapr_events.c > @@ -481,7 +481,7 @@ static void spapr_powerdown_req(Notifier *n, void *opaque) > > rtas_event_log_queue(RTAS_LOG_TYPE_EPOW, new_epow, true); > > - qemu_irq_pulse(xics_get_qirq(spapr->xics, > + qemu_irq_pulse(xics_get_qirq(XICS_INTERFACE(spapr), > rtas_event_log_to_irq(spapr, > RTAS_LOG_TYPE_EPOW))); > } > @@ -574,7 +574,7 @@ static void spapr_hotplug_req_event(uint8_t hp_id, > uint8_t hp_action, > > rtas_event_log_queue(RTAS_LOG_TYPE_HOTPLUG, new_hp, true); > > - qemu_irq_pulse(xics_get_qirq(spapr->xics, > + qemu_irq_pulse(xics_get_qirq(XICS_INTERFACE(spapr), > rtas_event_log_to_irq(spapr, > > RTAS_LOG_TYPE_HOTPLUG))); > } > @@ -695,7 +695,7 @@ static void check_exception(PowerPCCPU *cpu, > sPAPRMachineState *spapr, > spapr_event_sources_get_source(spapr->event_sources, i); > > g_assert(source->enabled); > - qemu_irq_pulse(xics_get_qirq(spapr->xics, source->irq)); > + qemu_irq_pulse(xics_get_qirq(XICS_INTERFACE(spapr), > source->irq)); > } > } > > diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c > index 01d5c92425ed..e52d6e993c9e 100644 > --- a/hw/ppc/spapr_pci.c > +++ b/hw/ppc/spapr_pci.c > @@ -736,7 +736,7 @@ static void spapr_msi_write(void *opaque, hwaddr addr, > > trace_spapr_pci_msi_write(addr, data, irq); > > - qemu_irq_pulse(xics_get_qirq(spapr->xics, irq)); > + qemu_irq_pulse(xics_get_qirq(XICS_INTERFACE(spapr), irq)); > } > > static const MemoryRegionOps spapr_msi_ops = { > diff --git a/include/hw/pci-host/spapr.h b/include/hw/pci-host/spapr.h > index 092294ed5a65..bfd307be30ca 100644 > --- a/include/hw/pci-host/spapr.h > +++ b/include/hw/pci-host/spapr.h > @@ -106,7 +106,7 @@ static inline qemu_irq spapr_phb_lsi_qirq(struct > sPAPRPHBState *phb, int pin) > { > sPAPRMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > > - return xics_get_qirq(spapr->xics, phb->lsi_table[pin].irq); > + return xics_get_qirq(XICS_INTERFACE(spapr), phb->lsi_table[pin].irq); > } > > PCIHostState *spapr_create_phb(sPAPRMachineState *spapr, int index); > diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h > index fc6f673ea086..1b04523b683d 100644 > --- a/include/hw/ppc/spapr_vio.h > +++ b/include/hw/ppc/spapr_vio.h > @@ -87,7 +87,7 @@ static inline qemu_irq spapr_vio_qirq(VIOsPAPRDevice *dev) > { > sPAPRMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > > - return xics_get_qirq(spapr->xics, dev->irq); > + return xics_get_qirq(XICS_INTERFACE(spapr), dev->irq); > } > > static inline bool spapr_vio_dma_valid(VIOsPAPRDevice *dev, uint64_t taddr, > diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h > index 640603b3d76d..896fa5d87c1c 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -197,7 +197,8 @@ typedef struct XICSInterfaceClass { > > #define XICS_IRQS_SPAPR 1024 > > -qemu_irq xics_get_qirq(XICSState *icp, int irq); > +qemu_irq xics_get_qirq(XICSInterface *xi, int irq); > + > int spapr_ics_alloc(ICSState *ics, int irq_hint, bool lsi, Error **errp); > int spapr_ics_alloc_block(ICSState *ics, int num, bool lsi, bool align, > Error **errp); -- 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