arm64: kvm: Remove kern_hyp_va from get_vcpu_ptr
authorAndrew Scull <ascull@google.com>
Thu, 18 Jun 2020 09:36:16 +0000 (10:36 +0100)
committerMarc Zyngier <maz@kernel.org>
Sun, 5 Jul 2020 17:02:36 +0000 (18:02 +0100)
get_vcpu_ptr is an assembly accessor for the percpu value
kvm_host_data->host_ctxt.__hyp_running_vcpu. kern_hyp_va only applies to
nVHE however __hyp_running_vcpu is always assigned a pointer that has
already had kern_hyp_va applied in __kvm_vcpu_run_nvhe.

kern_hyp_va is currently idempotent as it just masks and inserts the
tag, but this could change in future and the second application is
unnecessary.

Signed-off-by: Andrew Scull <ascull@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: James Morse <james.morse@arm.com>
Link: https://lore.kernel.org/r/20200618093616.164413-1-ascull@google.com
arch/arm64/include/asm/kvm_asm.h

index 352aaeb..ac71d09 100644 (file)
@@ -143,7 +143,6 @@ extern char __smccc_workaround_1_smc[__SMCCC_WORKAROUND_1_SMC_SZ];
 .macro get_vcpu_ptr vcpu, ctxt
        get_host_ctxt \ctxt, \vcpu
        ldr     \vcpu, [\ctxt, #HOST_CONTEXT_VCPU]
-       kern_hyp_va     \vcpu
 .endm
 
 #endif