[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v6 04/10] ppc/xics: add a 'set_nr_servers' handler to
From: |
Cédric Le Goater |
Subject: |
[Qemu-ppc] [PATCH v6 04/10] ppc/xics: add a 'set_nr_servers' handler to the xics_common class |
Date: |
Tue, 8 Nov 2016 09:08:04 +0100 |
It also makes the xics_common class usable as a standalone class. This
will be useful for the PowerNV machine which only needs a simple
container XICS object at the machine level.
It also cleans up a little more the xics_spapr class and we should
soon be able to remove it. The 'set_nr_irqs' is still in the way.
Signed-off-by: Cédric Le Goater <address@hidden>
---
hw/intc/xics.c | 8 ++++++++
hw/intc/xics_spapr.c | 7 -------
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index dd77e3b77d69..62389e2bbe2d 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -219,6 +219,12 @@ void xics_set_nr_servers(XICSState *xics, uint32_t
nr_servers,
}
}
+static void xics_common_set_nr_servers(XICSState *xics, uint32_t nr_servers,
+ Error **errp)
+{
+ xics_set_nr_servers(xics, nr_servers, TYPE_ICP, errp);
+}
+
static void xics_prop_get_nr_servers(Object *obj, Visitor *v,
const char *name, void *opaque,
Error **errp)
@@ -305,10 +311,12 @@ static void xics_common_class_init(ObjectClass *oc, void
*data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
InterruptStatsProviderClass *ic = INTERRUPT_STATS_PROVIDER_CLASS(oc);
+ XICSStateClass *xsc = XICS_COMMON_CLASS(oc);
dc->realize = xics_common_realize;
dc->reset = xics_common_reset;
ic->print_info = xics_common_pic_print_info;
+ xsc->set_nr_servers = xics_common_set_nr_servers;
}
static const TypeInfo xics_common_info = {
diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c
index e15180f8304c..c5a2f452d308 100644
--- a/hw/intc/xics_spapr.c
+++ b/hw/intc/xics_spapr.c
@@ -251,12 +251,6 @@ static void xics_spapr_set_nr_irqs(XICSState *xics,
uint32_t nr_irqs,
}
}
-static void xics_spapr_set_nr_servers(XICSState *xics, uint32_t nr_servers,
- Error **errp)
-{
- xics_set_nr_servers(xics, nr_servers, TYPE_ICP, errp);
-}
-
static void xics_spapr_realize(DeviceState *dev, Error **errp)
{
/* Registration of global state belongs into realize */
@@ -288,7 +282,6 @@ static void xics_spapr_class_init(ObjectClass *oc, void
*data)
xsc->realize = xics_spapr_realize;
xsc->set_nr_irqs = xics_spapr_set_nr_irqs;
- xsc->set_nr_servers = xics_spapr_set_nr_servers;
}
static const TypeInfo xics_spapr_info = {
--
2.7.4
- [Qemu-ppc] [PATCH v6 00/10] ppc/pnv: reworking the interrupt controller, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 01/10] ppc/xics: introduce a helper to insert a new ics, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 02/10] ppc/xics: add a xics_get_cpu_index_by_pir helper, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 03/10] ppc/xics: add a 'realize' handler to the xics_common class, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 04/10] ppc/xics: add a 'set_nr_servers' handler to the xics_common class,
Cédric Le Goater <=
- [Qemu-ppc] [PATCH v6 05/10] ppc/pnv: add a XICS object to the PowerNV machine, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 06/10] ppc/pnv: add MMIO regions for ICPs, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 07/10] ppc/pnv: link the CPUs to the machine XICS, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 08/10] ppc/pnv: Add cut down PSI bridge model and hookup external interrupt, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 09/10] ppc/pnv: Add OCC model stub with interrupt support, Cédric Le Goater, 2016/11/08
- [Qemu-ppc] [PATCH v6 10/10] ppc/pnv: Add Naples chip support for LPC interrupts, Cédric Le Goater, 2016/11/08