[PATCH v3 15/41] KVM: arm64: Remove kern_hyp_va() use in VHE switch function
From: Christoffer Dall <hidden>
Date: 2018-01-25 19:48:00
Also in:
kvm, kvmarm
On Wed, Jan 24, 2018 at 04:24:15PM +0000, Dave Martin wrote:
On Fri, Jan 12, 2018 at 01:07:21PM +0100, Christoffer Dall wrote:quoted
VHE kernels run completely in EL2 and therefore don't have a notion of kernel and hyp addresses, they are all just kernel addresses. Therefore don't call kern_hyp_va() in the VHE switch function.Isn't this an example of avoidable forkage? This looks like it's probably just saving a couple of nops, though I may have misunderstood how this interfacts with alternatives.
In isolation, and if we stopped here, you're absolutely right, it doesn't make sense. But this is just a step on the way to significantly reduce the _vhe version. Have a look at the following patches and the end result and let me know if you still have concerns. Thanks, -Christoffer
quoted
Reviewed-by: Andrew Jones <redacted> Reviewed-by: Marc Zyngier <redacted> Signed-off-by: Christoffer Dall <redacted> --- arch/arm64/kvm/hyp/switch.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c index accfe9a016f9..05fba76ec918 100644 --- a/arch/arm64/kvm/hyp/switch.c +++ b/arch/arm64/kvm/hyp/switch.c@@ -345,9 +345,7 @@ int kvm_vcpu_run_vhe(struct kvm_vcpu *vcpu) struct kvm_cpu_context *guest_ctxt; u64 exit_code; - vcpu = kern_hyp_va(vcpu); - - host_ctxt = kern_hyp_va(vcpu->arch.host_cpu_context); + host_ctxt = vcpu->arch.host_cpu_context; host_ctxt->__hyp_running_vcpu = vcpu; guest_ctxt = &vcpu->arch.ctxt;-- 2.14.2 _______________________________________________ kvmarm mailing list kvmarm at lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm