[PATCH 3/6] KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2
Paul Mackerras
paulus at ozlabs.org
Thu Jan 18 12:27:24 AEDT 2018
On Wed, Jan 17, 2018 at 10:14:45PM +1100, Benjamin Herrenschmidt wrote:
> 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).
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.
More information about the Linuxppc-dev
mailing list