KVM: arm64: Use lm_alias in nVHE-only VA conversion
init_hyp_physvirt_offset() computes PA from a kernel VA. Conversion to kernel linear-map is required first but the code used kvm_ksym_ref() for this purpose. Under VHE that is a NOP and resulted in a runtime warning. Replace kvm_ksym_ref with lm_alias. Reported-by: Qian Cai <qcai@redhat.com> Signed-off-by: David Brazdil <dbrazdil@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20201208142452.87237-3-dbrazdil@google.com
This commit is contained in:
parent
ff367fe473
commit
7a96a0687b
|
@ -42,7 +42,7 @@ static void init_hyp_physvirt_offset(void)
|
||||||
u64 kern_va, hyp_va;
|
u64 kern_va, hyp_va;
|
||||||
|
|
||||||
/* Compute the offset from the hyp VA and PA of a random symbol. */
|
/* Compute the offset from the hyp VA and PA of a random symbol. */
|
||||||
kern_va = (u64)kvm_ksym_ref(__hyp_text_start);
|
kern_va = (u64)lm_alias(__hyp_text_start);
|
||||||
hyp_va = __early_kern_hyp_va(kern_va);
|
hyp_va = __early_kern_hyp_va(kern_va);
|
||||||
CHOOSE_NVHE_SYM(hyp_physvirt_offset) = (s64)__pa(kern_va) - (s64)hyp_va;
|
CHOOSE_NVHE_SYM(hyp_physvirt_offset) = (s64)__pa(kern_va) - (s64)hyp_va;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue