[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v0] spapr: Restore support for 970MP and POWER8NVL
From: |
Bharata B Rao |
Subject: |
Re: [Qemu-ppc] [PATCH v0] spapr: Restore support for 970MP and POWER8NVL CPU cores |
Date: |
Wed, 29 Jun 2016 19:03:49 +0530 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Jun 29, 2016 at 02:28:08PM +0200, Thomas Huth wrote:
> On 29.06.2016 13:37, Bharata B Rao wrote:
> > Introduction of core based CPU hotplug for PowerPC sPAPR didn't
> > add support for 970MP and POWER8NVL based core types. Add support for
> > the same.
> >
> > While we are here, add support for explicit specification of POWER5+_v2.1
> > core type.
> >
> > Signed-off-by: Bharata B Rao <address@hidden>
> > ---
> > hw/ppc/spapr_cpu_core.c | 20 ++++++++++++++++++--
> > 1 file changed, 18 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> > index 2aa0dc5..e30b159 100644
> > --- a/hw/ppc/spapr_cpu_core.c
> > +++ b/hw/ppc/spapr_cpu_core.c
> > @@ -337,12 +337,15 @@ static void glue(glue(spapr_cpu_core_, _fname),
> > _initfn(Object *obj)) \
> > core->cpu_class = oc; \
> > }
> >
> > +SPAPR_CPU_CORE_INITFN(970mp_v1.0, 970MP_v10);
> > +SPAPR_CPU_CORE_INITFN(970mp_v1.1, 970MP_v11);
> > SPAPR_CPU_CORE_INITFN(970_v2.2, 970);
> > SPAPR_CPU_CORE_INITFN(POWER5+_v2.1, POWER5plus);
> > SPAPR_CPU_CORE_INITFN(POWER7_v2.3, POWER7);
> > SPAPR_CPU_CORE_INITFN(POWER7+_v2.1, POWER7plus);
> > SPAPR_CPU_CORE_INITFN(POWER8_v2.0, POWER8);
> > SPAPR_CPU_CORE_INITFN(POWER8E_v2.1, POWER8E);
> > +SPAPR_CPU_CORE_INITFN(POWER8NVL_v1.0, POWER8NVL);
> >
> > typedef struct SPAPRCoreInfo {
> > const char *name;
> > @@ -350,10 +353,19 @@ typedef struct SPAPRCoreInfo {
> > } SPAPRCoreInfo;
> >
> > static const SPAPRCoreInfo spapr_cores[] = {
> > - /* 970 */
> > + /* 970 and aliaes */
> > + { .name = "970_v2.2", .initfn = spapr_cpu_core_970_initfn },
> > { .name = "970", .initfn = spapr_cpu_core_970_initfn },
> >
> > - /* POWER5 */
> > + /* 970MP variants and aliases */
> > + { .name = "970MP_v1.0", .initfn = spapr_cpu_core_970MP_v10_initfn },
> > + { .name = "970mp_v1.0", .initfn = spapr_cpu_core_970MP_v10_initfn },
> > + { .name = "970MP_v1.1", .initfn = spapr_cpu_core_970MP_v11_initfn },
> > + { .name = "970mp_v1.1", .initfn = spapr_cpu_core_970MP_v11_initfn },
> > + { .name = "970mp", .initfn = spapr_cpu_core_970MP_v11_initfn },
>
> Are the upper-case "970MP_v1.1" and "970MP_v1.0" lines required here?
> According to target-ppc/cpu-models.c, these CPU models are always
> spelled with lower-case letters in QEMU, aren't they?
The .name here is used to build the type of spapr-cpu-core based on the
CPU model specified. I saw that we support both
-cpu 970MP_v1.1 and
-cpu 970mp_v1.1
Same for v1.0 (but support only -cpu 970mp and not -cpu 970MP!)
Hence the above lines are needed to register appropriate spapr-cpu-core
types (970mp_v1.1-spapr-cpu-core or 970MP_v1.1-spapr-cpu-core) based on the
CPU model specified.
Regards,
Bharata.