qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v6 04/10] ppc/xics: add a 'set_nr_servers' handler t


From: Cédric Le Goater
Subject: [Qemu-devel] [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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]