diff mbox

[04/77] target-ppc: Use sensible POWER8/POWER8E versions

Message ID 1447201710-10229-5-git-send-email-benh@kernel.crashing.org
State New
Headers show

Commit Message

Benjamin Herrenschmidt Nov. 11, 2015, 12:27 a.m. UTC
We never released anything older than POWER8 DD2.0 and POWER8E DD2.1,
so let's use these versions, without that some firmware or Linux code
might fail to use some HW features that were non functional in earlier
internal only spins of the chip.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 target-ppc/cpu-models.c | 12 ++++++------
 target-ppc/cpu-models.h |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

Comments

Stewart Smith Nov. 11, 2015, 12:59 a.m. UTC | #1
Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> We never released anything older than POWER8 DD2.0 and POWER8E DD2.1,
> so let's use these versions, without that some firmware or Linux code
> might fail to use some HW features that were non functional in earlier
> internal only spins of the chip.

We were getting it wrong with mambo a while ago and it caused some
oddness. There's zero reason for anyone to use pre-production processors
these days, so:

Acked-by: Stewart Smith <stewart@linux.vnet.ibm.com>
David Gibson Nov. 16, 2015, 5:01 a.m. UTC | #2
On Wed, Nov 11, 2015 at 11:27:17AM +1100, Benjamin Herrenschmidt wrote:
> We never released anything older than POWER8 DD2.0 and POWER8E DD2.1,
> so let's use these versions, without that some firmware or Linux code
> might fail to use some HW features that were non functional in earlier
> internal only spins of the chip.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Hmm, I'm just wondering if replacing the old CPU models could have
implications for migration from old images.

> ---
>  target-ppc/cpu-models.c | 12 ++++++------
>  target-ppc/cpu-models.h |  4 ++--
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/target-ppc/cpu-models.c b/target-ppc/cpu-models.c
> index 4d5ab4b..349783e 100644
> --- a/target-ppc/cpu-models.c
> +++ b/target-ppc/cpu-models.c
> @@ -1138,10 +1138,10 @@
>                  "POWER7 v2.3")
>      POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
>                  "POWER7+ v2.1")
> -    POWERPC_DEF("POWER8E_v1.0",  CPU_POWERPC_POWER8E_v10,            POWER8,
> -                "POWER8E v1.0")
> -    POWERPC_DEF("POWER8_v1.0",   CPU_POWERPC_POWER8_v10,             POWER8,
> -                "POWER8 v1.0")
> +    POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
> +                "POWER8E v2.1")
> +    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
> +                "POWER8 v2.0")
>      POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
>                  "PowerPC 970 v2.2")
>      POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
> @@ -1389,8 +1389,8 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
>      { "POWER5gs", "POWER5+_v2.1" },
>      { "POWER7", "POWER7_v2.3" },
>      { "POWER7+", "POWER7+_v2.1" },
> -    { "POWER8E", "POWER8E_v1.0" },
> -    { "POWER8", "POWER8_v1.0" },
> +    { "POWER8E", "POWER8E_v2.1" },
> +    { "POWER8", "POWER8_v2.0" },
>      { "970", "970_v2.2" },
>      { "970fx", "970fx_v3.1" },
>      { "970mp", "970mp_v1.1" },
> diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h
> index 9d80e72..2992427 100644
> --- a/target-ppc/cpu-models.h
> +++ b/target-ppc/cpu-models.h
> @@ -557,9 +557,9 @@ enum {
>      CPU_POWERPC_POWER7P_BASE       = 0x004A0000,
>      CPU_POWERPC_POWER7P_v21        = 0x004A0201,
>      CPU_POWERPC_POWER8E_BASE       = 0x004B0000,
> -    CPU_POWERPC_POWER8E_v10        = 0x004B0100,
> +    CPU_POWERPC_POWER8E_v21        = 0x004B0201,
>      CPU_POWERPC_POWER8_BASE        = 0x004D0000,
> -    CPU_POWERPC_POWER8_v10         = 0x004D0100,
> +    CPU_POWERPC_POWER8_v20         = 0x004D0200,
>      CPU_POWERPC_970_v22            = 0x00390202,
>      CPU_POWERPC_970FX_v10          = 0x00391100,
>      CPU_POWERPC_970FX_v20          = 0x003C0200,
Benjamin Herrenschmidt Nov. 16, 2015, 10:17 a.m. UTC | #3
On Mon, 2015-11-16 at 16:01 +1100, David Gibson wrote:
> On Wed, Nov 11, 2015 at 11:27:17AM +1100, Benjamin Herrenschmidt wrote:

> > We never released anything older than POWER8 DD2.0 and POWER8E DD2.1,

> > so let's use these versions, without that some firmware or Linux code

> > might fail to use some HW features that were non functional in earlier

> > internal only spins of the chip.

> > 

> > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> 

> Hmm, I'm just wondering if replacing the old CPU models could have

> implications for migration from old images.


I don't know, I'm not that familiar with migration. Alexey, what do you
reckon ? I'd think KVM images use the real PVR so should be a non-
issue, does anybody actually cares about migration of old TCG images ?

> > ---

> >  target-ppc/cpu-models.c | 12 ++++++------

> >  target-ppc/cpu-models.h |  4 ++--

> >  2 files changed, 8 insertions(+), 8 deletions(-)

> > 

> > diff --git a/target-ppc/cpu-models.c b/target-ppc/cpu-models.c

> > index 4d5ab4b..349783e 100644

> > --- a/target-ppc/cpu-models.c

> > +++ b/target-ppc/cpu-models.c

> > @@ -1138,10 +1138,10 @@

> >                  "POWER7 v2.3")

> >      POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,

> >                  "POWER7+ v2.1")

> > -    POWERPC_DEF("POWER8E_v1.0",  CPU_POWERPC_POWER8E_v10,            POWER8,

> > -                "POWER8E v1.0")

> > -    POWERPC_DEF("POWER8_v1.0",   CPU_POWERPC_POWER8_v10,             POWER8,

> > -                "POWER8 v1.0")

> > +    POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,

> > +                "POWER8E v2.1")

> > +    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,

> > +                "POWER8 v2.0")

> >      POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,

> >                  "PowerPC 970 v2.2")

> >      POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,

> > @@ -1389,8 +1389,8 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {

> >      { "POWER5gs", "POWER5+_v2.1" },

> >      { "POWER7", "POWER7_v2.3" },

> >      { "POWER7+", "POWER7+_v2.1" },

> > -    { "POWER8E", "POWER8E_v1.0" },

> > -    { "POWER8", "POWER8_v1.0" },

> > +    { "POWER8E", "POWER8E_v2.1" },

> > +    { "POWER8", "POWER8_v2.0" },

> >      { "970", "970_v2.2" },

> >      { "970fx", "970fx_v3.1" },

> >      { "970mp", "970mp_v1.1" },

> > diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h

> > index 9d80e72..2992427 100644

> > --- a/target-ppc/cpu-models.h

> > +++ b/target-ppc/cpu-models.h

> > @@ -557,9 +557,9 @@ enum {

> >      CPU_POWERPC_POWER7P_BASE       = 0x004A0000,

> >      CPU_POWERPC_POWER7P_v21        = 0x004A0201,

> >      CPU_POWERPC_POWER8E_BASE       = 0x004B0000,

> > -    CPU_POWERPC_POWER8E_v10        = 0x004B0100,

> > +    CPU_POWERPC_POWER8E_v21        = 0x004B0201,

> >      CPU_POWERPC_POWER8_BASE        = 0x004D0000,

> > -    CPU_POWERPC_POWER8_v10         = 0x004D0100,

> > +    CPU_POWERPC_POWER8_v20         = 0x004D0200,

> >      CPU_POWERPC_970_v22            = 0x00390202,

> >      CPU_POWERPC_970FX_v10          = 0x00391100,

> >      CPU_POWERPC_970FX_v20          = 0x003C0200,

>
Alexey Kardashevskiy Nov. 17, 2015, 12:11 a.m. UTC | #4
On 11/16/2015 09:17 PM, Benjamin Herrenschmidt wrote:
> On Mon, 2015-11-16 at 16:01 +1100, David Gibson wrote:
>> On Wed, Nov 11, 2015 at 11:27:17AM +1100, Benjamin Herrenschmidt wrote:
>>> We never released anything older than POWER8 DD2.0 and POWER8E DD2.1,
>>> so let's use these versions, without that some firmware or Linux code
>>> might fail to use some HW features that were non functional in earlier
>>> internal only spins of the chip.
>>>
>>> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>
>> Hmm, I'm just wondering if replacing the old CPU models could have
>> implications for migration from old images.
>
> I don't know, I'm not that familiar with migration. Alexey, what do you
> reckon ? I'd think KVM images use the real PVR so should be a non-
> issue, does anybody actually cares about migration of old TCG images ?


I have never heard of anyone testing migration of TCG guests. KVM guests 
use host PVR anyway.

I just wonder that we "never released anything older than" but we still 
support them in the kernel - why do not we wipe these there too?

>
>>> ---
>>>   target-ppc/cpu-models.c | 12 ++++++------
>>>   target-ppc/cpu-models.h |  4 ++--
>>>   2 files changed, 8 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/target-ppc/cpu-models.c b/target-ppc/cpu-models.c
>>> index 4d5ab4b..349783e 100644
>>> --- a/target-ppc/cpu-models.c
>>> +++ b/target-ppc/cpu-models.c
>>> @@ -1138,10 +1138,10 @@
>>>                   "POWER7 v2.3")
>>>       POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
>>>                   "POWER7+ v2.1")
>>> -    POWERPC_DEF("POWER8E_v1.0",  CPU_POWERPC_POWER8E_v10,            POWER8,
>>> -                "POWER8E v1.0")
>>> -    POWERPC_DEF("POWER8_v1.0",   CPU_POWERPC_POWER8_v10,             POWER8,
>>> -                "POWER8 v1.0")
>>> +    POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
>>> +                "POWER8E v2.1")
>>> +    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
>>> +                "POWER8 v2.0")
>>>       POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
>>>                   "PowerPC 970 v2.2")
>>>       POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
>>> @@ -1389,8 +1389,8 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
>>>       { "POWER5gs", "POWER5+_v2.1" },
>>>       { "POWER7", "POWER7_v2.3" },
>>>       { "POWER7+", "POWER7+_v2.1" },
>>> -    { "POWER8E", "POWER8E_v1.0" },
>>> -    { "POWER8", "POWER8_v1.0" },
>>> +    { "POWER8E", "POWER8E_v2.1" },
>>> +    { "POWER8", "POWER8_v2.0" },
>>>       { "970", "970_v2.2" },
>>>       { "970fx", "970fx_v3.1" },
>>>       { "970mp", "970mp_v1.1" },
>>> diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h
>>> index 9d80e72..2992427 100644
>>> --- a/target-ppc/cpu-models.h
>>> +++ b/target-ppc/cpu-models.h
>>> @@ -557,9 +557,9 @@ enum {
>>>       CPU_POWERPC_POWER7P_BASE       = 0x004A0000,
>>>       CPU_POWERPC_POWER7P_v21        = 0x004A0201,
>>>       CPU_POWERPC_POWER8E_BASE       = 0x004B0000,
>>> -    CPU_POWERPC_POWER8E_v10        = 0x004B0100,
>>> +    CPU_POWERPC_POWER8E_v21        = 0x004B0201,
>>>       CPU_POWERPC_POWER8_BASE        = 0x004D0000,
>>> -    CPU_POWERPC_POWER8_v10         = 0x004D0100,
>>> +    CPU_POWERPC_POWER8_v20         = 0x004D0200,
>>>       CPU_POWERPC_970_v22            = 0x00390202,
>>>       CPU_POWERPC_970FX_v10          = 0x00391100,
>>>       CPU_POWERPC_970FX_v20          = 0x003C0200,
>>
Benjamin Herrenschmidt Nov. 17, 2015, 12:40 a.m. UTC | #5
On Tue, 2015-11-17 at 11:11 +1100, Alexey Kardashevskiy wrote:
> 
> I have never heard of anyone testing migration of TCG guests. KVM guests 
> use host PVR anyway.
> 
> I just wonder that we "never released anything older than" but we still 
> support them in the kernel - why do not we wipe these there too?

We could... it was handy in the early days when some selected partners
had access to pre-release systems, to tell them to use upstream kernels
:)

In the case of qemu, however, it's more harmful than anything else.

Cheers,
Ben.
diff mbox

Patch

diff --git a/target-ppc/cpu-models.c b/target-ppc/cpu-models.c
index 4d5ab4b..349783e 100644
--- a/target-ppc/cpu-models.c
+++ b/target-ppc/cpu-models.c
@@ -1138,10 +1138,10 @@ 
                 "POWER7 v2.3")
     POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
                 "POWER7+ v2.1")
-    POWERPC_DEF("POWER8E_v1.0",  CPU_POWERPC_POWER8E_v10,            POWER8,
-                "POWER8E v1.0")
-    POWERPC_DEF("POWER8_v1.0",   CPU_POWERPC_POWER8_v10,             POWER8,
-                "POWER8 v1.0")
+    POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
+                "POWER8E v2.1")
+    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
+                "POWER8 v2.0")
     POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
                 "PowerPC 970 v2.2")
     POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
@@ -1389,8 +1389,8 @@  PowerPCCPUAlias ppc_cpu_aliases[] = {
     { "POWER5gs", "POWER5+_v2.1" },
     { "POWER7", "POWER7_v2.3" },
     { "POWER7+", "POWER7+_v2.1" },
-    { "POWER8E", "POWER8E_v1.0" },
-    { "POWER8", "POWER8_v1.0" },
+    { "POWER8E", "POWER8E_v2.1" },
+    { "POWER8", "POWER8_v2.0" },
     { "970", "970_v2.2" },
     { "970fx", "970fx_v3.1" },
     { "970mp", "970mp_v1.1" },
diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h
index 9d80e72..2992427 100644
--- a/target-ppc/cpu-models.h
+++ b/target-ppc/cpu-models.h
@@ -557,9 +557,9 @@  enum {
     CPU_POWERPC_POWER7P_BASE       = 0x004A0000,
     CPU_POWERPC_POWER7P_v21        = 0x004A0201,
     CPU_POWERPC_POWER8E_BASE       = 0x004B0000,
-    CPU_POWERPC_POWER8E_v10        = 0x004B0100,
+    CPU_POWERPC_POWER8E_v21        = 0x004B0201,
     CPU_POWERPC_POWER8_BASE        = 0x004D0000,
-    CPU_POWERPC_POWER8_v10         = 0x004D0100,
+    CPU_POWERPC_POWER8_v20         = 0x004D0200,
     CPU_POWERPC_970_v22            = 0x00390202,
     CPU_POWERPC_970FX_v10          = 0x00391100,
     CPU_POWERPC_970FX_v20          = 0x003C0200,