]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: ARM: Fix calculation of virtual CPU ID
authorJonathan Austin <jonathan.austin@arm.com>
Thu, 26 Sep 2013 15:49:27 +0000 (16:49 +0100)
committerJiri Slaby <jslaby@suse.cz>
Thu, 30 Apr 2015 09:14:56 +0000 (11:14 +0200)
commit45aaf85687dd6ac119c55c5ec0dbe0bef0e62235
tree2ed40efce9c67d480c72e0e54eda087456344cd5
parentacd7c63a7e8c375d1b69e66ee036b6618ad1ff2a
KVM: ARM: Fix calculation of virtual CPU ID

commit 1158fca401e09665c440a9fe4fd4f131ee85c13b upstream.

KVM does not have a notion of multiple clusters for CPUs, just a linear
array of CPUs. When using a system with cores in more than one cluster, the
current method for calculating the virtual MPIDR will leak the (physical)
cluster information into the virtual MPIDR. One effect of this is that
Linux under KVM fails to boot multiple CPUs that aren't in the 0th cluster.

This patch does away with exposing the real MPIDR fields in favour of simply
using the virtual CPU number (but preserving the U bit, as before).

Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/arm/kvm/coproc_a15.c