On Wed, 2018-01-17 at 20:51 +1100, Paul Mackerras wrote:
> +
> + /*
> + * POWER9 chips before version 2.02 can't have some threads in
> + * HPT mode and some in radix mode on the same core.
> + */
> + if (cpu_has_feature(CPU_FTR_ARCH_300)) {
> + unsigned int pvr = mfspr(SPRN_PVR);
> + if ((pvr >> 16) == PVR_POWER9 && (pvr & 0xfff) < 0x202)
> + no_mixing_hpt_and_radix = true;
> + }
> +
> return r;
> }
You need to check that it's a Nimbus using the top nimble of the bottom
16 bits of PVR. For Cumulus, the fixes are either in 1.0 or 1.1 (to
check).
Cheers,
Ben.