On Fri, Sep 27, 2019 at 12:16:49PM +0200, Greg Kurz wrote: > On Fri, 27 Sep 2019 15:50:16 +1000 > David Gibson <[email protected]> wrote: > > > This method essentially represents code which belongs to the interrupt > > controller, but needs to be called on all possible intcs, rather than > > just the currently active one. The "dual" version therefore calls > > into the xics and xive versions confusingly. > > > > Handle this more directly, by making it instead a method on the intc > > backend, and always calling it on every backend that exists. > > > > While we're there, streamline the error reporting a bit. > > > > Signed-off-by: David Gibson <[email protected]>
[snip]
> > +void spapr_irq_print_info(SpaprMachineState *spapr, Monitor *mon);
> > +void spapr_irq_dt(SpaprMachineState *spapr, uint32_t nr_servers,
> > + void *fdt, uint32_t phandle);
>
> These two ^^ seem to belong to later patches.
Oops, yes. I've moved those to where they belong.
>
> > +int spapr_irq_cpu_intc_create(SpaprMachineState *spapr,
> > + PowerPCCPU *cpu, Error **errp);
> > +
> > +
> > void spapr_irq_msi_init(SpaprMachineState *spapr, uint32_t nr_msis);
> > int spapr_irq_msi_alloc(SpaprMachineState *spapr, uint32_t num, bool align,
> > Error **errp);
> > @@ -61,8 +75,6 @@ typedef struct SpaprIrq {
> > void (*print_info)(SpaprMachineState *spapr, Monitor *mon);
> > void (*dt_populate)(SpaprMachineState *spapr, uint32_t nr_servers,
> > void *fdt, uint32_t phandle);
> > - void (*cpu_intc_create)(SpaprMachineState *spapr, PowerPCCPU *cpu,
> > - Error **errp);
> > int (*post_load)(SpaprMachineState *spapr, int version_id);
> > void (*reset)(SpaprMachineState *spapr, Error **errp);
> > void (*set_irq)(void *opaque, int srcno, int val);
>
--
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
