On Thu, 3 Oct 2019 14:25:58 +0200 Cédric Le Goater <c...@kaod.org> wrote:
> On 03/10/2019 14:01, Greg Kurz wrote: > > Both XICS and XIVE backends can access nr_servers by other means. No > > need to pass it around anymore. > > OK. You are doing the clean up in this patch. > > > Signed-off-by: Greg Kurz <gr...@kaod.org> > > even if spapr_irq removal is programmed, > I have another version of this patchset based on David's full cleanup series :) > Reviewed-by: Cédric Le Goater <c...@kaod.org> > > > --- > > hw/intc/spapr_xive.c | 3 +-- > > hw/intc/xics_spapr.c | 3 +-- > > hw/ppc/spapr.c | 3 +-- > > hw/ppc/spapr_irq.c | 5 ++--- > > include/hw/ppc/spapr_irq.h | 3 +-- > > include/hw/ppc/spapr_xive.h | 3 +-- > > include/hw/ppc/xics_spapr.h | 3 +-- > > 7 files changed, 8 insertions(+), 15 deletions(-) > > > > diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c > > index 62888ddc68db..56d851169cf6 100644 > > --- a/hw/intc/spapr_xive.c > > +++ b/hw/intc/spapr_xive.c > > @@ -1552,8 +1552,7 @@ void spapr_xive_hcall_init(SpaprMachineState *spapr) > > spapr_register_hypercall(H_INT_RESET, h_int_reset); > > } > > > > -void spapr_dt_xive(SpaprMachineState *spapr, uint32_t nr_servers, void > > *fdt, > > - uint32_t phandle) > > +void spapr_dt_xive(SpaprMachineState *spapr, void *fdt, uint32_t phandle) > > { > > SpaprXive *xive = spapr->xive; > > int node; > > diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c > > index aa568ed0dc0d..015753c19c5d 100644 > > --- a/hw/intc/xics_spapr.c > > +++ b/hw/intc/xics_spapr.c > > @@ -308,8 +308,7 @@ static void ics_spapr_realize(DeviceState *dev, Error > > **errp) > > spapr_register_hypercall(H_IPOLL, h_ipoll); > > } > > > > -void spapr_dt_xics(SpaprMachineState *spapr, uint32_t nr_servers, void > > *fdt, > > - uint32_t phandle) > > +void spapr_dt_xics(SpaprMachineState *spapr, void *fdt, uint32_t phandle) > > { > > ICSState *ics = spapr->ics; > > uint32_t interrupt_server_ranges_prop[] = { > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > > index b8b9796c88e4..8f59f08c102e 100644 > > --- a/hw/ppc/spapr.c > > +++ b/hw/ppc/spapr.c > > @@ -1255,8 +1255,7 @@ static void *spapr_build_fdt(SpaprMachineState *spapr) > > _FDT(fdt_setprop_cell(fdt, 0, "#size-cells", 2)); > > > > /* /interrupt controller */ > > - spapr->irq->dt_populate(spapr, spapr_max_server_number(spapr), fdt, > > - PHANDLE_INTC); > > + spapr->irq->dt_populate(spapr, fdt, PHANDLE_INTC); > > > > ret = spapr_populate_memory(spapr, fdt); > > if (ret < 0) { > > diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c > > index 025fd00143a2..02e1b5503b65 100644 > > --- a/hw/ppc/spapr_irq.c > > +++ b/hw/ppc/spapr_irq.c > > @@ -368,11 +368,10 @@ static void > > spapr_irq_print_info_dual(SpaprMachineState *spapr, Monitor *mon) > > spapr_irq_current(spapr)->print_info(spapr, mon); > > } > > > > -static void spapr_irq_dt_populate_dual(SpaprMachineState *spapr, > > - uint32_t nr_servers, void *fdt, > > +static void spapr_irq_dt_populate_dual(SpaprMachineState *spapr, void *fdt, > > uint32_t phandle) > > { > > - spapr_irq_current(spapr)->dt_populate(spapr, nr_servers, fdt, phandle); > > + spapr_irq_current(spapr)->dt_populate(spapr, fdt, phandle); > > } > > > > static void spapr_irq_cpu_intc_create_dual(SpaprMachineState *spapr, > > diff --git a/include/hw/ppc/spapr_irq.h b/include/hw/ppc/spapr_irq.h > > index 69a37f608e01..1736e503a8e9 100644 > > --- a/include/hw/ppc/spapr_irq.h > > +++ b/include/hw/ppc/spapr_irq.h > > @@ -45,8 +45,7 @@ typedef struct SpaprIrq { > > int (*claim)(SpaprMachineState *spapr, int irq, bool lsi, Error > > **errp); > > void (*free)(SpaprMachineState *spapr, int irq); > > void (*print_info)(SpaprMachineState *spapr, Monitor *mon); > > - void (*dt_populate)(SpaprMachineState *spapr, uint32_t nr_servers, > > - void *fdt, uint32_t phandle); > > + void (*dt_populate)(SpaprMachineState *spapr, void *fdt, uint32_t > > phandle); > > void (*cpu_intc_create)(SpaprMachineState *spapr, PowerPCCPU *cpu, > > Error **errp); > > int (*post_load)(SpaprMachineState *spapr, int version_id); > > diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h > > index 4a4a6fc6be7f..fae075d51815 100644 > > --- a/include/hw/ppc/spapr_xive.h > > +++ b/include/hw/ppc/spapr_xive.h > > @@ -61,8 +61,7 @@ void spapr_xive_pic_print_info(SpaprXive *xive, Monitor > > *mon); > > int spapr_xive_post_load(SpaprXive *xive, int version_id); > > > > void spapr_xive_hcall_init(SpaprMachineState *spapr); > > -void spapr_dt_xive(SpaprMachineState *spapr, uint32_t nr_servers, void > > *fdt, > > - uint32_t phandle); > > +void spapr_dt_xive(SpaprMachineState *spapr, void *fdt, uint32_t phandle); > > void spapr_xive_set_tctx_os_cam(XiveTCTX *tctx); > > void spapr_xive_mmio_set_enabled(SpaprXive *xive, bool enable); > > void spapr_xive_map_mmio(SpaprXive *xive); > > diff --git a/include/hw/ppc/xics_spapr.h b/include/hw/ppc/xics_spapr.h > > index 0b35e85c266a..ecb67c6c340a 100644 > > --- a/include/hw/ppc/xics_spapr.h > > +++ b/include/hw/ppc/xics_spapr.h > > @@ -32,8 +32,7 @@ > > #define TYPE_ICS_SPAPR "ics-spapr" > > #define ICS_SPAPR(obj) OBJECT_CHECK(ICSState, (obj), TYPE_ICS_SPAPR) > > > > -void spapr_dt_xics(SpaprMachineState *spapr, uint32_t nr_servers, void > > *fdt, > > - uint32_t phandle); > > +void spapr_dt_xics(SpaprMachineState *spapr, void *fdt, uint32_t phandle); > > int xics_kvm_connect(SpaprMachineState *spapr, Error **errp); > > void xics_kvm_disconnect(SpaprMachineState *spapr, Error **errp); > > bool xics_kvm_has_broken_disconnect(SpaprMachineState *spapr); > > >