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.