Message ID | 1447201710-10229-5-git-send-email-benh@kernel.crashing.org |
---|---|
State | New |
Headers | show |
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>
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,
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, >
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, >>
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 --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,
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(-)