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, qemu-devel@nongnu.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [Qemu-devel] [PATCH v7 18/19] spapr: add a 'pseries-4.0-xive' machine type
Date: Tue, 11 Dec 2018 13:06:20 +1100	[thread overview]
Message-ID: <20181211020620.GG4261@umbus.fritz.box> (raw)
In-Reply-To: <39e8edd0-6056-5b51-174b-631dcb267ff5@kaod.org>

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

On Mon, Dec 10, 2018 at 11:17:33PM +0100, Cédric Le Goater wrote:
> On 12/9/18 8:46 PM, Cédric Le Goater wrote:
> > This pseries machine makes use of a new sPAPR IRQ backend supporting
> > the XIVE interrupt mode.
> > 
> > The guest OS is required to have support for the XIVE exploitation
> > mode of the POWER9 interrupt controller.
> > 
> > Signed-off-by: Cédric Le Goater <clg@kaod.org>
> > ---
> >  hw/ppc/spapr.c | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> > 
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index 4012ebd794a4..3cc134a0b673 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -3985,6 +3985,21 @@ static void spapr_machine_4_0_class_options(MachineClass *mc)
> >  
> >  DEFINE_SPAPR_MACHINE(4_0, "4.0", true);
> >  
> > +static void spapr_machine_4_0_xive_instance_options(MachineState *machine)
> > +{
> > +    spapr_machine_4_0_instance_options(machine);
> > +}
> > +
> > +static void spapr_machine_4_0_xive_class_options(MachineClass *mc)
> > +{
> > +    sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> > +
> > +    spapr_machine_4_0_class_options(mc);> +    smc->irq = &spapr_irq_xive;
> 
> I have been adding checks on the CPU model to export the XIVE capability 
> only on POWER9 processors but it breaks some of the tests.
> 
> I was wondering if we could add a default POWER9 CPU to the -xive machine : 
> 
>   + mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.0");
> 
> and if we could change tests/cpu-plug-test.c with :
> 
>   @@ -198,8 +198,13 @@ static void add_pseries_test_case(const
>        }
>        data = g_new(PlugTestData, 1);
>        data->machine = g_strdup(mname);
>   -    data->cpu_model = "power8_v2.0";
>   -    data->device_model = g_strdup("power8_v2.0-spapr-cpu-core");
>   +    if (g_str_has_suffix(mname, "xive")) {
>   +        data->cpu_model = "power9_v2.0";
>   +        data->device_model = g_strdup("power9_v2.0-spapr-cpu-core");
>   +    } else {
>   +        data->cpu_model = "power8_v2.0";
>   +        data->device_model = g_strdup("power8_v2.0-spapr-cpu-core");
>   +    }
>        data->sockets = 2;
>        data->cores = 3;
>        data->threads = 1;
> 
> or if there is a better way ?

So, I'd actually prefer a machine option, rather than wholly separate
machine types to select xics/xive/dual.  Machine types was fine while
prototyping this, but I don't think we want to actually merge new
machine types for it.

So, instead I think we want a machine option which can be set to
xics/xive/dual, with xics being the default for earlier machine types
and dual the default for 4.0 onwards.  We can make POWER9 the default
cpu for 4.0 onwards as well, if you want.

-- 
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:[~2018-12-11  2:17 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-09 19:45 [Qemu-devel] [PATCH v7 00/19] ppc: support for the XIVE interrupt controller (POWER9) Cédric Le Goater
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 01/19] ppc/xive: add support for the END Event State Buffers Cédric Le Goater
2018-12-10  4:16   ` David Gibson
2018-12-10  7:11     ` Cédric Le Goater
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 02/19] ppc/xive: introduce the XIVE interrupt thread context Cédric Le Goater
2018-12-10  4:19   ` David Gibson
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 03/19] ppc/xive: introduce a simplified XIVE presenter Cédric Le Goater
2018-12-10  4:27   ` David Gibson
2018-12-10  7:15     ` Cédric Le Goater
2018-12-11  1:37       ` David Gibson
2018-12-11 10:43         ` Cédric Le Goater
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 04/19] ppc/xive: notify the CPU when the interrupt priority is more privileged Cédric Le Goater
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 05/19] spapr/xive: introduce a XIVE interrupt controller Cédric Le Goater
2018-12-10  4:36   ` David Gibson
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 06/19] spapr/xive: use the VCPU id as a NVT identifier Cédric Le Goater
2018-12-10  4:42   ` David Gibson
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 07/19] spapr: introduce a new machine IRQ backend for XIVE Cédric Le Goater
2018-12-10  4:45   ` David Gibson
2018-12-09 19:45 ` [Qemu-devel] [PATCH v7 08/19] spapr: add hcalls support for the XIVE exploitation interrupt mode Cédric Le Goater
2018-12-10  6:34   ` David Gibson
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 09/19] spapr: add device tree support for the XIVE exploitation mode Cédric Le Goater
2018-12-10  6:39   ` David Gibson
2018-12-10  7:53     ` Cédric Le Goater
2018-12-11  0:38       ` David Gibson
2018-12-11  9:06         ` Cédric Le Goater
2018-12-12  0:19           ` David Gibson
2018-12-12  7:37             ` Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 10/19] spapr: allocate the interrupt thread context under the CPU core Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 11/19] spapr: extend the sPAPR IRQ backend for XICS migration Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 12/19] spapr: add a 'reset' method to the sPAPR IRQ backend Cédric Le Goater
2018-12-10  6:42   ` David Gibson
2018-12-10  7:30     ` Cédric Le Goater
2018-12-11 10:55     ` Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 13/19] spapr: add an extra OV5 field " Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 14/19] spapr: set the interrupt presenter at reset Cédric Le Goater
2018-12-11  1:46   ` David Gibson
2018-12-11 10:58     ` Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 15/19] spapr/xive: enable XIVE MMIOs " Cédric Le Goater
2018-12-11  1:47   ` David Gibson
2018-12-11 10:14     ` Cédric Le Goater
2018-12-12  0:32       ` David Gibson
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 16/19] spapr: introduce a new sPAPR IRQ backend supporting XIVE and XICS Cédric Le Goater
2018-12-11  2:03   ` David Gibson
2018-12-11 10:19     ` Cédric Le Goater
2018-12-12  0:54       ` David Gibson
2018-12-12  9:13         ` Cédric Le Goater
2018-12-15  8:09           ` David Gibson
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 17/19] spapr: Add a pseries-4.0 machine type Cédric Le Goater
2018-12-09 22:05   ` Benjamin Herrenschmidt
2018-12-10  3:41     ` David Gibson
2018-12-10  7:09       ` Cédric Le Goater
2018-12-10  6:45   ` David Gibson
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 18/19] spapr: add a 'pseries-4.0-xive' " Cédric Le Goater
2018-12-10 22:17   ` Cédric Le Goater
2018-12-11  2:06     ` David Gibson [this message]
2018-12-11 10:42       ` Cédric Le Goater
2018-12-11 16:44         ` Cédric Le Goater
2018-12-15  8:03           ` David Gibson
2018-12-12  0:34         ` David Gibson
2018-12-12  7:26           ` Cédric Le Goater
2018-12-09 19:46 ` [Qemu-devel] [PATCH v7 19/19] spapr: add a 'pseries-4.0-dual' " 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=20181211020620.GG4261@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=benh@kernel.crashing.org \
    --cc=clg@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).