[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 12/13] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX:
From: |
Cédric Le Goater |
Subject: |
[PATCH v2 12/13] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr |
Date: |
Thu, 19 Dec 2019 19:11:54 +0100 |
From: Greg Kurz <address@hidden>
And use it instead of reaching out to the machine. This allows to get rid
of a call to qdev_get_machine() and to reduce the scope of another one so
that it is only used within the argument list of error_append_hint(). This
is an acceptable tradeoff compared to all it would require to know about
the maximum number of CPUs here without calling qdev_get_machine().
Signed-off-by: Greg Kurz <address@hidden>
Signed-off-by: Cédric Le Goater <address@hidden>
---
hw/intc/spapr_xive_kvm.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c
index 32b2809210a0..edb7ee0e74f1 100644
--- a/hw/intc/spapr_xive_kvm.c
+++ b/hw/intc/spapr_xive_kvm.c
@@ -75,7 +75,7 @@ static void kvm_cpu_disable_all(void)
void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp)
{
- SpaprXive *xive = SPAPR_MACHINE(qdev_get_machine())->xive;
+ SpaprXive *xive = SPAPR_XIVE(tctx->xptr);
uint64_t state[2];
int ret;
@@ -97,7 +97,7 @@ void kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp)
void kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp)
{
- SpaprXive *xive = SPAPR_MACHINE(qdev_get_machine())->xive;
+ SpaprXive *xive = SPAPR_XIVE(tctx->xptr);
uint64_t state[2] = { 0 };
int ret;
@@ -152,8 +152,7 @@ void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx,
Error **errp)
void kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)
{
- MachineState *ms = MACHINE(qdev_get_machine());
- SpaprXive *xive = SPAPR_MACHINE(ms)->xive;
+ SpaprXive *xive = SPAPR_XIVE(tctx->xptr);
unsigned long vcpu_id;
int ret;
@@ -179,7 +178,7 @@ void kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)
vcpu_id, strerror(errno));
if (errno == ENOSPC) {
error_append_hint(&local_err, "Try -smp maxcpus=N with N < %u\n",
- ms->smp.max_cpus);
+ MACHINE(qdev_get_machine())->smp.max_cpus);
}
error_propagate(errp, local_err);
return;
--
2.21.0
- [PATCH v2 06/13] pnv/xive: Use device_class_set_parent_realize(), (continued)
- [PATCH v2 06/13] pnv/xive: Use device_class_set_parent_realize(), Cédric Le Goater, 2019/12/19
- [PATCH v2 07/13] spapr, pnv, xive: Add a "xive-fabric" link to the XIVE router, Cédric Le Goater, 2019/12/19
- [PATCH v2 08/13] xive: Use the XIVE fabric link under the XIVE router, Cédric Le Goater, 2019/12/19
- [PATCH v2 09/13] ppc/pnv: Add an "nr-threads" property to the base chip class, Cédric Le Goater, 2019/12/19
- [PATCH v2 10/13] ppc/pnv: Add a "pnor" const link property to the BMC internal simulator, Cédric Le Goater, 2019/12/19
- [PATCH v2 11/13] xive: Add a "presenter" link property to the TCTX object, Cédric Le Goater, 2019/12/19
- [PATCH v2 12/13] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr,
Cédric Le Goater <=
- [PATCH v2 13/13] pnv/xive: Deduce the PnvXive pointer from XiveTCTX::xptr, Cédric Le Goater, 2019/12/19
- Re: [PATCH v2 00/13] ppc/pnv: remove the use of qdev_get_machine() and get_system_memory(), David Gibson, 2019/12/23