KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9
authorPaul Mackerras <paulus@ozlabs.org>
Thu, 26 Jul 2018 04:53:54 +0000 (14:53 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Thu, 26 Jul 2018 04:53:54 +0000 (14:53 +1000)
commit1ebe6b81ebdba8faf377d1d7d84ad9368e7a0bae
tree79230eb977a85adf77f6b55e083043f9e594344e
parent1e175d2e07c71d9574f5b1c74523abca54e2654f
KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9

Commit 1e175d2 ("KVM: PPC: Book3S HV: Pack VCORE IDs to access full
VCPU ID space", 2018-07-25) allowed use of VCPU IDs up to
KVM_MAX_VCPU_ID on POWER9 in all guest SMT modes and guest emulated
hardware SMT modes.  However, with the current definition of
KVM_MAX_VCPU_ID, a guest SMT mode of 1 and an emulated SMT mode of 8,
it is only possible to create KVM_MAX_VCPUS / 2 VCPUS, because
threads_per_subcore is 4 on POWER9 CPUs.  (Using an emulated SMT mode
of 8 is useful when migrating VMs to or from POWER8 hosts.)

This increases KVM_MAX_VCPU_ID to 8 * KVM_MAX_VCPUS when HV KVM is
configured in, so that a full complement of KVM_MAX_VCPUS VCPUs can
be created on POWER9 in all guest SMT modes and emulated hardware
SMT modes.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/include/asm/kvm_host.h