Message ID | 1453684527-23564-2-git-send-email-david@gibson.dropbear.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 01/25/2016 02:15 AM, David Gibson wrote: > From: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > 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> > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > --- > 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") Removing those breaks -cpu host on 1.0 machines, no? Alex > + 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 25.01.2016 20:14, Alexander Graf wrote: > > > On 01/25/2016 02:15 AM, David Gibson wrote: >> From: Benjamin Herrenschmidt <benh@kernel.crashing.org> >> >> 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> >> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> >> --- >> 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") > > Removing those breaks -cpu host on 1.0 machines, no? I don't think so. The code in kvm_ppc_register_host_cpu_type() explicitly registers a "host" CPU type with the PVR of the current host. Apart from that, as mentioned in the patch description, v1.0 chips apparently have never been released into the wild - and I guess the unreleased v1.0 chips have all already scrapped nowadays ... so the patch should be fine, I think. Thomas
On 01/25/2016 08:26 PM, Thomas Huth wrote: > On 25.01.2016 20:14, Alexander Graf wrote: >> >> On 01/25/2016 02:15 AM, David Gibson wrote: >>> From: Benjamin Herrenschmidt <benh@kernel.crashing.org> >>> >>> 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> >>> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> >>> --- >>> 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") >> Removing those breaks -cpu host on 1.0 machines, no? > I don't think so. The code in kvm_ppc_register_host_cpu_type() > explicitly registers a "host" CPU type with the PVR of the current host. Ah, right, it used to only search for a fitting one, but I think we changed it to account for cpu families. So all is safe :). Alex
Thomas Huth <thuth@redhat.com> writes: > Apart from that, as mentioned in the patch description, v1.0 chips > apparently have never been released into the wild - and I guess the > unreleased v1.0 chips have all already scrapped nowadays ... so the > patch should be fine, I think. Not only not in the wild, but I'm pretty sure there's < 1.0 of them left inside IBM. Literally 0 users who expect *anything* to work.
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,