<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 17, 2016 at 10:09 PM, Michael Ellerman <span dir="ltr"><<a href="mailto:mpe@ellerman.id.au" target="_blank">mpe@ellerman.id.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, 2016-02-17 at 16:07 +1100, Michael Neuling wrote:<br>
<br>
> Add a cputable entry for POWER9.  More code is required to actually<br>
> boot and run on a POWER9 but this gets the base piece in which we can<br>
> start building on.<br>
><br>
> Copies over from POWER8 except for:<br>
> - Adds a new CPU_FTR_ARCH_30 bit to start hanging new architecture<br>
<br>
</span>ARCH thirty?<br>
<br>
Would CPU_FTR_ARCH_3 read better?<br>
<br>
Or CPU_FTR_ARCH_3_00 ?</blockquote><div><br></div><div>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.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">> +#define COMMON_USER_POWER9   (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_06 |\<br></div></div><div><div class="h5">
> +                              PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \<br>
> +                              PPC_FEATURE_TRUE_LE | \<br>
> +                              PPC_FEATURE_PSERIES_PERFMON_COMPAT)<br>
<br>
</div></div>That looks like it's == COMMON_USER_POWER8.<br>
<span class=""><br>
> +#define COMMON_USER2_POWER9  (PPC_FEATURE2_ARCH_2_07 | \<br>
> +                              PPC_FEATURE2_HTM_COMP | \<br>
> +                              PPC_FEATURE2_HTM_NOSC_COMP | \<br>
> +                              PPC_FEATURE2_DSCR | \<br>
> +                              PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | \<br>
> +                              PPC_FEATURE2_VEC_CRYPTO | \<br>
> +                              PPC_FEATURE2_ARCH_3_00 | \<br>
> +                              PPC_FEATURE2_HAS_IEEE128)<br>
<br>
</span>And this could be COMMON_USER_POWER8 + ARCH_3 + HAS_IEEE128 I think?</blockquote><div><br></div><div>It could be, but similarly the POWER8 flags could also be POWER7 + some. I think they're separate so flags can be easily removed if need be, but I'm not sure how useful that is.</div></div></div></div>