[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 2/5] ppc/xics: assign of the CPU 'intc' pointer under
From: |
Cédric Le Goater |
Subject: |
[Qemu-ppc] [PATCH 2/5] ppc/xics: assign of the CPU 'intc' pointer under the core |
Date: |
Fri, 1 Dec 2017 17:06:01 +0100 |
The 'intc' pointer of the CPU references the interrupt presenter in
the XICS interrupt mode. When the XIVE interrupt mode is available and
activated, the machine will need to reassign this pointer to reflect
the change.
Moving this assignment under the realize routine of the CPU will ease
the process when the interrupt mode is toggled.
Signed-off-by: Cédric Le Goater <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
---
hw/intc/xics.c | 1 -
hw/ppc/pnv_core.c | 2 +-
hw/ppc/spapr_cpu_core.c | 3 ++-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index bfc6b5bb2367..700f6baa1395 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -334,7 +334,6 @@ static void icp_realize(DeviceState *dev, Error **errp)
}
cpu = POWERPC_CPU(obj);
- cpu->intc = OBJECT(icp);
icp->cs = CPU(obj);
env = &cpu->env;
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index 8d966e080288..03317db853d5 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -133,7 +133,7 @@ static void pnv_core_realize_child(Object *child,
XICSFabric *xi, Error **errp)
return;
}
- icp_create(child, TYPE_PNV_ICP, xi, &local_err);
+ cpu->intc = icp_create(child, TYPE_PNV_ICP, xi, &local_err);
if (local_err) {
error_propagate(errp, local_err);
return;
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 70e757f808c7..032438b9ce70 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -121,7 +121,8 @@ static void spapr_cpu_core_realize_child(Object *child,
goto error;
}
- icp_create(child, spapr->icp_type, XICS_FABRIC(spapr), &local_err);
+ cpu->intc = icp_create(child, spapr->icp_type, XICS_FABRIC(spapr),
+ &local_err);
if (local_err) {
goto error;
}
--
2.13.6
- [Qemu-ppc] [PATCH 0/5] spapr: preliminary cleanups before introducing XIVE, Cédric Le Goater, 2017/12/01
- [Qemu-ppc] [PATCH 2/5] ppc/xics: assign of the CPU 'intc' pointer under the core,
Cédric Le Goater <=
- [Qemu-ppc] [PATCH 1/5] ppc/xics: introduce an icp_create() helper, Cédric Le Goater, 2017/12/01
- [Qemu-ppc] [PATCH 3/5] spapr: move the IRQ allocation routines under the machine, Cédric Le Goater, 2017/12/01
- [Qemu-ppc] [PATCH 4/5] spapr: introduce a spapr_irq_set_lsi() helper, Cédric Le Goater, 2017/12/01
- [Qemu-ppc] [PATCH 5/5] spapr: introduce a spapr_qirq() helper, Cédric Le Goater, 2017/12/01
- Re: [Qemu-ppc] [PATCH 0/5] spapr: preliminary cleanups before introducing XIVE, David Gibson, 2017/12/02