On Thu, Nov 23, 2017 at 02:29:36PM +0100, Cédric Le Goater wrote: > xics_get_qirq() is only used by the sPAPR machine. Let's move it there > and change its name to reflect its scope. It will be useful for XIVE > support which will use its own set of qirqs. > > Signed-off-by: Cédric Le Goater <c...@kaod.org>
s/spapr_irq_get_qirq/spapr_qirq/ for brevity With that change Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > --- > hw/intc/xics.c | 12 ------------ > hw/ppc/spapr.c | 11 +++++++++++ > hw/ppc/spapr_events.c | 12 +++++------- > hw/ppc/spapr_pci.c | 2 +- > include/hw/pci-host/spapr.h | 2 +- > include/hw/ppc/spapr.h | 1 + > include/hw/ppc/spapr_vio.h | 2 +- > include/hw/ppc/xics.h | 1 - > 8 files changed, 20 insertions(+), 23 deletions(-) > > diff --git a/hw/intc/xics.c b/hw/intc/xics.c > index 0f2e7273bc8f..a78b4dbd033d 100644 > --- a/hw/intc/xics.c > +++ b/hw/intc/xics.c > @@ -714,18 +714,6 @@ static const TypeInfo xics_fabric_info = { > /* > * Exported functions > */ > -qemu_irq xics_get_qirq(XICSFabric *xi, int irq) > -{ > - XICSFabricClass *xic = XICS_FABRIC_GET_CLASS(xi); > - ICSState *ics = xic->ics_get(xi, irq); > - > - if (ics) { > - return ics->qirqs[irq - ics->offset]; > - } > - > - return NULL; > -} > - > ICPState *xics_icp_get(XICSFabric *xi, int server) > { > XICSFabricClass *xic = XICS_FABRIC_GET_CLASS(xi); > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 79f38a9ff4e1..5d3325ca3c88 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -3689,6 +3689,17 @@ void spapr_irq_free(sPAPRMachineState *spapr, int irq, > int num) > } > } > > +qemu_irq spapr_irq_get_qirq(sPAPRMachineState *spapr, int irq) > +{ > + ICSState *ics = spapr->ics; > + > + if (ics_valid_irq(ics, irq)) { > + return ics->qirqs[irq - ics->offset]; > + } > + > + return NULL; > +} > + > static void spapr_pic_print_info(InterruptStatsProvider *obj, > Monitor *mon) > { > diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c > index cead596f3e7a..0427590e9cac 100644 > --- a/hw/ppc/spapr_events.c > +++ b/hw/ppc/spapr_events.c > @@ -472,9 +472,8 @@ static void spapr_powerdown_req(Notifier *n, void *opaque) > > rtas_event_log_queue(spapr, entry); > > - qemu_irq_pulse(xics_get_qirq(XICS_FABRIC(spapr), > - rtas_event_log_to_irq(spapr, > - RTAS_LOG_TYPE_EPOW))); > + qemu_irq_pulse(spapr_irq_get_qirq(spapr, > + rtas_event_log_to_irq(spapr, RTAS_LOG_TYPE_EPOW))); > } > > static void spapr_hotplug_req_event(uint8_t hp_id, uint8_t hp_action, > @@ -556,9 +555,8 @@ static void spapr_hotplug_req_event(uint8_t hp_id, > uint8_t hp_action, > > rtas_event_log_queue(spapr, entry); > > - qemu_irq_pulse(xics_get_qirq(XICS_FABRIC(spapr), > - rtas_event_log_to_irq(spapr, > - > RTAS_LOG_TYPE_HOTPLUG))); > + qemu_irq_pulse(spapr_irq_get_qirq(spapr, > + rtas_event_log_to_irq(spapr, RTAS_LOG_TYPE_HOTPLUG))); > } > > void spapr_hotplug_req_add_by_index(sPAPRDRConnector *drc) > @@ -678,7 +676,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(XICS_FABRIC(spapr), source->irq)); > + qemu_irq_pulse(spapr_irq_get_qirq(spapr, source->irq)); > } > } > > diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c > index e0ef77a480e5..a02faa12333e 100644 > --- a/hw/ppc/spapr_pci.c > +++ b/hw/ppc/spapr_pci.c > @@ -723,7 +723,7 @@ static void spapr_msi_write(void *opaque, hwaddr addr, > > trace_spapr_pci_msi_write(addr, data, irq); > > - qemu_irq_pulse(xics_get_qirq(XICS_FABRIC(spapr), irq)); > + qemu_irq_pulse(spapr_irq_get_qirq(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 38470b2f0e5c..3059fdd614e6 100644 > --- a/include/hw/pci-host/spapr.h > +++ b/include/hw/pci-host/spapr.h > @@ -108,7 +108,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(XICS_FABRIC(spapr), phb->lsi_table[pin].irq); > + return spapr_irq_get_qirq(spapr, phb->lsi_table[pin].irq); > } > > PCIHostState *spapr_create_phb(sPAPRMachineState *spapr, int index); > diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h > index 7a133f80411a..9a3885593c86 100644 > --- a/include/hw/ppc/spapr.h > +++ b/include/hw/ppc/spapr.h > @@ -714,5 +714,6 @@ int spapr_irq_alloc(sPAPRMachineState *spapr, int > irq_hint, bool lsi, > int spapr_irq_alloc_block(sPAPRMachineState *spapr, int num, bool lsi, > bool align, Error **errp); > void spapr_irq_free(sPAPRMachineState *spapr, int irq, int num); > +qemu_irq spapr_irq_get_qirq(sPAPRMachineState *spapr, int irq); > > #endif /* HW_SPAPR_H */ > diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h > index 2e9685a5d900..404f1de2c046 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(XICS_FABRIC(spapr), dev->irq); > + return spapr_irq_get_qirq(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 cea462bc7f3e..2f1f35294e6d 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -183,7 +183,6 @@ typedef struct XICSFabricClass { > > void spapr_dt_xics(int nr_servers, void *fdt, uint32_t phandle); > > -qemu_irq xics_get_qirq(XICSFabric *xi, int irq); > ICPState *xics_icp_get(XICSFabric *xi, int server); > > /* Internal XICS interfaces */ -- 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