qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: "Cédric Le Goater" <clg@kaod.org>,
	qemu-ppc@nongnu.org, "Greg Kurz" <groug@kaod.org>,
	qemu-devel@nongnu.org
Subject: [PATCH v3 09/12] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr
Date: Mon,  6 Jan 2020 15:56:42 +0100	[thread overview]
Message-ID: <20200106145645.4539-10-clg@kaod.org> (raw)
In-Reply-To: <20200106145645.4539-1-clg@kaod.org>

From: Greg Kurz <groug@kaod.org>

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 <groug@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 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.1



  parent reply	other threads:[~2020-01-06 15:28 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-06 14:56 [PATCH v3 00/12] ppc/pnv: remove the use of qdev_get_machine() Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 01/12] ppc/pnv: Introduce a "xics" property alias under the PSI model Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 02/12] ppc/pnv: Introduce a "xics" property under the POWER8 chip Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 03/12] pnv/xive: Use device_class_set_parent_realize() Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 04/12] spapr, pnv, xive: Add a "xive-fabric" link to the XIVE router Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 05/12] xive: Use the XIVE fabric link under " Cédric Le Goater
2020-01-07  0:11   ` David Gibson
2020-01-06 14:56 ` [PATCH v3 06/12] ppc/pnv: Add an "nr-threads" property to the base chip class Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 07/12] ppc/pnv: Add a "pnor" const link property to the BMC internal simulator Cédric Le Goater
2020-01-06 14:56 ` [PATCH v3 08/12] xive: Add a "presenter" link property to the TCTX object Cédric Le Goater
2020-01-06 14:56 ` Cédric Le Goater [this message]
2020-01-06 14:56 ` [PATCH v3 10/12] pnv/xive: Deduce the PnvXive pointer from XiveTCTX::xptr Cédric Le Goater
2020-01-07  0:16   ` David Gibson
2020-01-06 14:56 ` [PATCH v3 11/12] pnv/psi: Add device reset hook Cédric Le Goater
2020-01-07  0:23   ` David Gibson
2020-01-07  8:00     ` Greg Kurz
2020-01-06 14:56 ` [PATCH v3 12/12] pnv/psi: Consolidate some duplicated code in pnv_psi_realize() Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200106145645.4539-10-clg@kaod.org \
    --to=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).