KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2
authorPaul Mackerras <paulus@ozlabs.org>
Thu, 11 Jan 2018 05:54:26 +0000 (16:54 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Thu, 18 Jan 2018 01:05:19 +0000 (12:05 +1100)
commit00608e1f007e4cf6031485c5630e0e504bceef9b
tree4d77031b241c77ff089cfa6ee43c78020ec700a2
parent6964e6a4e4894c707e42d51d9d30683c57f43201
KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2

POWER9 chip versions starting with "Nimbus" v2.2 can support running
with some threads of a core in HPT mode and others in radix mode.
This means that we don't have to prohibit independent-threads mode
when running a HPT guest on a radix host, and we don't have to do any
of the synchronization between threads that was introduced in commit
c01015091a77 ("KVM: PPC: Book3S HV: Run HPT guests on POWER9 radix
hosts", 2017-10-19).

Rather than using up another CPU feature bit, we just do an
explicit test on the PVR (processor version register) at module
startup time to determine whether we have to take steps to avoid
having some threads in HPT mode and some in radix mode (so-called
"mixed mode").  We test for "Nimbus" (indicated by 0 or 1 in the top
nibble of the lower 16 bits) v2.2 or later, or "Cumulus" (indicated by
2 or 3 in that nibble) v1.1 or later.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_hv.c