[PATCH 2/2] powerpc: Add POWER9 cputable entry

Michael Ellerman mpe at ellerman.id.au
Wed Feb 17 23:49:49 AEDT 2016


On Wed, 2016-02-17 at 23:28 +1100, oliver wrote:

> On Wed, Feb 17, 2016 at 10:09 PM, Michael Ellerman <mpe at ellerman.id.au> wrote:

> > On Wed, 2016-02-17 at 16:07 +1100, Michael Neuling wrote:
> > 
> > > Add a cputable entry for POWER9.  More code is required to actually
> > > boot and run on a POWER9 but this gets the base piece in which we can
> > > start building on.
> > >
> > > Copies over from POWER8 except for:
> > > - Adds a new CPU_FTR_ARCH_30 bit to start hanging new architecture
> > 
> > ARCH thirty?
> > 
> > Would CPU_FTR_ARCH_3 read better?
> > 
> > Or CPU_FTR_ARCH_3_00 ?

> The user visible version flags all have the pattern ARCH_X_XX while the
> in-kernel flags use ARCH_XXX. It should probably be CPU_FTR_ARCH_300 for
> consistency with the other kernel flags.

Yeah, 300 is ugly too.

I'm not sure if the plan is for the next version to be 3.01 or 4, hopefully the
latter.

It would be a pity if we had ARCH_300 and then the next version was 4.

So I'm inclined to say now is the time where we break from the 2.0x tradition,
and just use ARCH_3.

> > > +#define COMMON_USER_POWER9   (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_06 |\
> > > +                              PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \
> > > +                              PPC_FEATURE_TRUE_LE | \
> > > +                              PPC_FEATURE_PSERIES_PERFMON_COMPAT)
> > 
> > That looks like it's == COMMON_USER_POWER8.
> > 
> > > +#define COMMON_USER2_POWER9  (PPC_FEATURE2_ARCH_2_07 | \
> > > +                              PPC_FEATURE2_HTM_COMP | \
> > > +                              PPC_FEATURE2_HTM_NOSC_COMP | \
> > > +                              PPC_FEATURE2_DSCR | \
> > > +                              PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | \
> > > +                              PPC_FEATURE2_VEC_CRYPTO | \
> > > +                              PPC_FEATURE2_ARCH_3_00 | \
> > > +                              PPC_FEATURE2_HAS_IEEE128)
> > 
> > And this could be COMMON_USER_POWER8 + ARCH_3 + HAS_IEEE128 I think?

> It could be, but similarly the POWER8 flags could also be POWER7 + some.

You just found yourself another cleanup to do :)

> I think they're separate so flags can be easily removed if need be, but I'm not
> sure how useful that is.

It's not useful. Looking at the history it looks like we have literally *never*
removed a bit.

cheers



More information about the Linuxppc-dev mailing list