On Thu, 2018-01-18 at 12:27 +1100, Paul Mackerras wrote:
> > 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).
>
> OK, how about this for the check:
>
> if (cpu_has_feature(CPU_FTR_ARCH_300)) {
> unsigned int pvr = mfspr(SPRN_PVR);
> if ((pvr >> 16) == PVR_POWER9 &&
> (((pvr & 0xe000) == 0 && (pvr & 0xfff) < 0x202) ||
> ((pvr & 0xe000) == 0x2000 && (pvr & 0xfff) < 0x101)))
> no_mixing_hpt_and_radix = true;
> }
>
> Paul.
Looks good.
Cheers,
Ben.