It will not be used by the native implementation. This allows us to also remove the include of spapr.h from the common code
Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> --- hw/intc/xics.c | 12 ------------ hw/intc/xics_kvm.c | 13 ++++++++++++- hw/intc/xics_spapr.c | 13 ++++++++++++- include/hw/ppc/xics.h | 1 - 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/hw/intc/xics.c b/hw/intc/xics.c index c4ac057..0c355f4 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -28,7 +28,6 @@ #include "hw/hw.h" #include "trace.h" #include "qemu/timer.h" -#include "hw/ppc/spapr.h" #include "hw/ppc/xics.h" #include "qemu/error-report.h" #include "qapi/visitor.h" @@ -694,17 +693,6 @@ void ics_set_irq_type(ICSState *ics, int srcno, bool lsi) * XICS */ -void xics_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) -{ - ICSState *ics = QLIST_FIRST(&xics->ics); - - /* This needs to be deprecated ... */ - xics->nr_irqs = nr_irqs; - if (ics) { - ics->nr_irqs = nr_irqs; - } -} - void xics_set_nr_servers(XICSState *xics, uint32_t nr_servers, Error **errp) { int i; diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c index a478d25..6fbc715 100644 --- a/hw/intc/xics_kvm.c +++ b/hw/intc/xics_kvm.c @@ -468,6 +468,17 @@ fail: kvmppc_define_rtas_kernel_token(0, "ibm,int-off"); } +static void xics_kvm_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) +{ + ICSState *ics = QLIST_FIRST(&xics->ics); + + /* This needs to be deprecated ... */ + xics->nr_irqs = nr_irqs; + if (ics) { + ics->nr_irqs = nr_irqs; + } +} + static void xics_kvm_initfn(Object *obj) { XICSState *xics = XICS_COMMON(obj); @@ -488,7 +499,7 @@ static void xics_kvm_class_init(ObjectClass *oc, void *data) dc->realize = xics_kvm_realize; xsc->cpu_setup = xics_kvm_cpu_setup; - xsc->set_nr_irqs = xics_set_nr_irqs; + xsc->set_nr_irqs = xics_kvm_set_nr_irqs; xsc->set_nr_servers = xics_kvm_set_nr_servers; } diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c index d75fcf0..3092f8d 100644 --- a/hw/intc/xics_spapr.c +++ b/hw/intc/xics_spapr.c @@ -267,13 +267,24 @@ static void xics_spapr_initfn(Object *obj) QLIST_INSERT_HEAD(&xics->ics, ics, list); } +static void xics_spapr_set_nr_irqs(XICSState *xics, uint32_t nr_irqs, Error **errp) +{ + ICSState *ics = QLIST_FIRST(&xics->ics); + + /* This needs to be deprecated ... */ + xics->nr_irqs = nr_irqs; + if (ics) { + ics->nr_irqs = nr_irqs; + } +} + static void xics_spapr_class_init(ObjectClass *oc, void *data) { DeviceClass *dc = DEVICE_CLASS(oc); XICSStateClass *xsc = XICS_SPAPR_CLASS(oc); dc->realize = xics_spapr_realize; - xsc->set_nr_irqs = xics_set_nr_irqs; + xsc->set_nr_irqs = xics_spapr_set_nr_irqs; xsc->set_nr_servers = xics_set_nr_servers; } diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 51a63cb..9e5b751 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -189,7 +189,6 @@ void ics_write_xive(ICSState *ics, int nr, int server, void ics_set_irq_type(ICSState *ics, int srcno, bool lsi); -void xics_set_nr_irqs(XICSState *icp, uint32_t nr_irqs, Error **errp); void xics_set_nr_servers(XICSState *icp, uint32_t nr_servers, Error **errp); ICSState *xics_find_source(XICSState *icp, int irq); -- 2.5.0