KVM: PPC: Book3S HV: Simplify dynamic micro-threading code
authorPaul Mackerras <paulus@ozlabs.org>
Thu, 22 Jun 2017 05:08:42 +0000 (15:08 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Sat, 1 Jul 2017 08:59:01 +0000 (18:59 +1000)
commit898b25b202f3504335ae00055d7a2863bd93f2f8
tree2346ef73c7b0ef0fb9f7c070f70f34c28defd81b
parent2ed4f9dd19c0f76f7fb56c4b201696d29149325c
KVM: PPC: Book3S HV: Simplify dynamic micro-threading code

Since commit b009031f74da ("KVM: PPC: Book3S HV: Take out virtual
core piggybacking code", 2016-09-15), we only have at most one
vcore per subcore.  Previously, the fact that there might be more
than one vcore per subcore meant that we had the notion of a
"master vcore", which was the vcore that controlled thread 0 of
the subcore.  We also needed a list per subcore in the core_info
struct to record which vcores belonged to each subcore.  Now that
there can only be one vcore in the subcore, we can replace the
list with a simple pointer and get rid of the notion of the
master vcore (and in fact treat every vcore as a master vcore).

We can also get rid of the subcore_vm[] field in the core_info
struct since it is never read.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/include/asm/kvm_book3s_asm.h
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_hv_builtin.c