]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: KVM: Move CPU ID reg trap setup off the world switch path
authorDave Martin <Dave.Martin@arm.com>
Fri, 1 Dec 2017 15:19:40 +0000 (15:19 +0000)
committerChristoffer Dall <christoffer.dall@linaro.org>
Mon, 26 Feb 2018 09:48:01 +0000 (10:48 +0100)
commit4423bed035e35d65e24d37d3ebbe261536d150e6
treef051f4c0deb9597f88bf0e1ee8b500165f774f07
parent1c35078c3b5ac7de7fa22c146e80b599199b28d6
arm64: KVM: Move CPU ID reg trap setup off the world switch path

The HCR_EL2.TID3 flag needs to be set when trapping guest access to
the CPU ID registers is required.  However, the decision about
whether to set this bit does not need to be repeated at every
switch to the guest.

Instead, it's sufficient to make this decision once and record the
outcome.

This patch moves the decision to vcpu_reset_hcr() and records the
choice made in vcpu->arch.hcr_el2.  The world switch code can then
load this directly when switching to the guest without the need for
conditional logic on the critical path.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Suggested-by: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/include/asm/kvm_emulate.h
arch/arm64/kvm/hyp/switch.c