qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 17/22] ppc/xics: move the ICP array under the sPA


From: Cédric Le Goater
Subject: [Qemu-devel] [PATCH v2 17/22] ppc/xics: move the ICP array under the sPAPR machine
Date: Thu, 16 Feb 2017 14:47:40 +0100

Signed-off-by: Cédric Le Goater <address@hidden>
---
 hw/ppc/spapr.c         | 17 ++++++++---------
 include/hw/ppc/spapr.h |  3 +++
 include/hw/ppc/xics.h  |  2 --
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 445d9a6ddad4..6b35b48f818a 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -123,15 +123,15 @@ static XICSState *try_create_xics(sPAPRMachineState 
*spapr,
         goto error;
     }
 
-    xics->ss = g_malloc0(nr_servers * sizeof(ICPState));
-    xics->nr_servers = nr_servers;
+    spapr->icps = g_malloc0(nr_servers * sizeof(ICPState));
+    spapr->nr_servers = nr_servers;
 
     for (i = 0; i < nr_servers; i++) {
-        ICPState *icp = &xics->ss[i];
+        ICPState *icp = &spapr->icps[i];
 
         object_initialize(icp, sizeof(*icp), type_icp);
         qdev_set_parent_bus(DEVICE(icp), sysbus_get_default());
-        object_property_add_child(OBJECT(xics), "icp[*]", OBJECT(icp), NULL);
+        object_property_add_child(OBJECT(spapr), "icp[*]", OBJECT(icp), NULL);
         object_property_add_const_link(OBJECT(icp), "xics", OBJECT(xics), 
NULL);
         object_property_set_bool(OBJECT(icp), true, "realized", &err);
         if (err) {
@@ -965,7 +965,7 @@ static void *spapr_build_fdt(sPAPRMachineState *spapr,
     _FDT(fdt_setprop_cell(fdt, 0, "#size-cells", 2));
 
     /* /interrupt controller */
-    spapr_dt_xics(spapr->xics->nr_servers, fdt, PHANDLE_XICP);
+    spapr_dt_xics(spapr->nr_servers, fdt, PHANDLE_XICP);
 
     ret = spapr_populate_memory(spapr, fdt);
     if (ret < 0) {
@@ -2920,8 +2920,7 @@ static ICPState *spapr_icp_get(XICSInterface *xi, int 
server)
 {
     sPAPRMachineState *spapr = SPAPR_MACHINE(xi);
 
-    return (server < spapr->xics->nr_servers) ? &spapr->xics->ss[server] :
-        NULL;
+    return (server < spapr->nr_servers) ? &spapr->icps[server] : NULL;
 }
 
 static void spapr_icp_resend(XICSInterface *xi)
@@ -2929,8 +2928,8 @@ static void spapr_icp_resend(XICSInterface *xi)
     sPAPRMachineState *spapr = SPAPR_MACHINE(xi);
     int i;
 
-    for (i = 0; i < spapr->xics->nr_servers; i++) {
-        icp_resend(xi, &spapr->xics->ss[i]);
+    for (i = 0; i < spapr->nr_servers; i++) {
+        icp_resend(xi, &spapr->icps[i]);
     }
 }
 
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 21e506b13cfa..f5bbb040f941 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -95,6 +95,9 @@ struct sPAPRMachineState {
     /*< public >*/
     char *kvm_type;
     MemoryHotplugState hotplug_memory;
+
+    uint32_t nr_servers;
+    ICPState *icps;
 };
 
 #define H_SUCCESS         0
diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h
index e320a4c91bb1..726492c948db 100644
--- a/include/hw/ppc/xics.h
+++ b/include/hw/ppc/xics.h
@@ -80,8 +80,6 @@ struct XICSState {
     /*< private >*/
     SysBusDevice parent_obj;
     /*< public >*/
-    uint32_t nr_servers;
-    ICPState *ss;
 };
 
 #define TYPE_ICP "icp"
-- 
2.7.4




reply via email to

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