qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: qemu-ppc@nongnu.org, Greg Kurz <groug@kaod.org>, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 03/13] ppc/pnv: Introduce a "xics" property alias under the PSI model
Date: Sun, 22 Dec 2019 20:33:31 +1100	[thread overview]
Message-ID: <20191222093331.GA21569@umbus.fritz.box> (raw)
In-Reply-To: <20191219181155.32530-4-clg@kaod.org>

[-- Attachment #1: Type: text/plain, Size: 3377 bytes --]

On Thu, Dec 19, 2019 at 07:11:45PM +0100, Cédric Le Goater wrote:
> This removes the need of the intermediate link under PSI to pass the
> XICS link to the underlying ICSState object.
> 
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: Greg Kurz <groug@kaod.org>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>

LGTM, but will need a rebase if we're dropping the previous patch.

> ---
>  hw/ppc/pnv.c     |  4 ++--
>  hw/ppc/pnv_psi.c | 11 ++---------
>  2 files changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 1d8bfb164a32..163a658806e2 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -999,8 +999,6 @@ static void pnv_chip_power8_instance_init(Object *obj)
>  
>      object_initialize_child(obj, "psi",  &chip8->psi, sizeof(chip8->psi),
>                              TYPE_PNV8_PSI, &error_abort, NULL);
> -    object_property_add_const_link(OBJECT(&chip8->psi), "xics",
> -                                   OBJECT(qdev_get_machine()), &error_abort);
>  
>      object_initialize_child(obj, "lpc",  &chip8->lpc, sizeof(chip8->lpc),
>                              TYPE_PNV8_LPC, &error_abort, NULL);
> @@ -1069,6 +1067,8 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
>                              "bar", &error_fatal);
>      object_property_set_link(OBJECT(&chip8->psi), OBJECT(chip->system_memory),
>                               "system-memory", &error_abort);
> +    object_property_set_link(OBJECT(&chip8->psi), OBJECT(qdev_get_machine()),
> +                             ICS_PROP_XICS, &error_abort);
>      object_property_set_bool(OBJECT(&chip8->psi), true, "realized", &local_err);
>      if (local_err) {
>          error_propagate(errp, local_err);
> diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
> index 28d34e5c193a..d3124f673571 100644
> --- a/hw/ppc/pnv_psi.c
> +++ b/hw/ppc/pnv_psi.c
> @@ -470,6 +470,8 @@ static void pnv_psi_power8_instance_init(Object *obj)
>  
>      object_initialize_child(obj, "ics-psi",  &psi8->ics, sizeof(psi8->ics),
>                              TYPE_ICS, &error_abort, NULL);
> +    object_property_add_alias(obj, ICS_PROP_XICS, OBJECT(&psi8->ics),
> +                              ICS_PROP_XICS, &error_abort);
>  }
>  
>  static const uint8_t irq_to_xivr[] = {
> @@ -485,21 +487,12 @@ static void pnv_psi_power8_realize(DeviceState *dev, Error **errp)
>  {
>      PnvPsi *psi = PNV_PSI(dev);
>      ICSState *ics = &PNV8_PSI(psi)->ics;
> -    Object *obj;
>      Error *err = NULL;
>      unsigned int i;
>  
>      assert(psi->system_memory);
>  
> -    obj = object_property_get_link(OBJECT(dev), "xics", &err);
> -    if (!obj) {
> -        error_setg(errp, "%s: required link 'xics' not found: %s",
> -                   __func__, error_get_pretty(err));
> -        return;
> -    }
> -
>      /* Create PSI interrupt control source */
> -    object_property_set_link(OBJECT(ics), obj, ICS_PROP_XICS, &error_abort);
>      object_property_set_int(OBJECT(ics), PSI_NUM_INTERRUPTS, "nr-irqs", &err);
>      if (err) {
>          error_propagate(errp, err);

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-12-22  9:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-19 18:11 [PATCH v2 00/13] ppc/pnv: remove the use of qdev_get_machine() and get_system_memory() Cédric Le Goater
2019-12-19 18:11 ` [PATCH v2 01/13] ppc/pnv: Modify the powerdown notifier to get the PowerNV machine Cédric Le Goater
2019-12-20  0:26   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 02/13] ppc/pnv: Introduce a "system-memory" property Cédric Le Goater
2019-12-19 18:56   ` Greg Kurz
2019-12-20  0:31   ` David Gibson
2019-12-20  6:49     ` Cédric Le Goater
2019-12-19 18:11 ` [PATCH v2 03/13] ppc/pnv: Introduce a "xics" property alias under the PSI model Cédric Le Goater
2019-12-22  9:33   ` David Gibson [this message]
2019-12-19 18:11 ` [PATCH v2 04/13] ppc/pnv: Introduce a "xics" property under the POWER8 chip Cédric Le Goater
2019-12-23  4:17   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 05/13] spapr/xive: Use device_class_set_parent_realize() Cédric Le Goater
2019-12-23  4:27   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 06/13] pnv/xive: " Cédric Le Goater
2019-12-23  4:29   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 07/13] spapr, pnv, xive: Add a "xive-fabric" link to the XIVE router Cédric Le Goater
2019-12-23  6:10   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 08/13] xive: Use the XIVE fabric link under " Cédric Le Goater
2019-12-23  6:11   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 09/13] ppc/pnv: Add an "nr-threads" property to the base chip class Cédric Le Goater
2019-12-23  6:12   ` David Gibson
2019-12-19 18:11 ` [PATCH v2 10/13] ppc/pnv: Add a "pnor" const link property to the BMC internal simulator Cédric Le Goater
2019-12-19 18:11 ` [PATCH v2 11/13] xive: Add a "presenter" link property to the TCTX object Cédric Le Goater
2019-12-19 18:11 ` [PATCH v2 12/13] spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr Cédric Le Goater
2019-12-19 18:11 ` [PATCH v2 13/13] pnv/xive: Deduce the PnvXive " Cédric Le Goater
2019-12-23  6:16 ` [PATCH v2 00/13] ppc/pnv: remove the use of qdev_get_machine() and get_system_memory() David Gibson

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=20191222093331.GA21569@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=clg@kaod.org \
    --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).