From fc4c55e592f36bf505986046491e79e7115d8429 Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Tue, 17 Jan 2023 07:57:22 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Expose hyp_va to modules Modules will need to convert physical addresses in EL2 linear map addresses, so expose hyp_va to modules. Bug: 264070847 Change-Id: I641ab3943a029072c351f5a422e2d9d2cbb240be Signed-off-by: Quentin Perret --- arch/arm64/include/asm/kvm_pkvm_module.h | 1 + arch/arm64/kvm/hyp/nvhe/modules.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/include/asm/kvm_pkvm_module.h b/arch/arm64/include/asm/kvm_pkvm_module.h index 2629afaad7cb..c19511a966a9 100644 --- a/arch/arm64/include/asm/kvm_pkvm_module.h +++ b/arch/arm64/include/asm/kvm_pkvm_module.h @@ -39,6 +39,7 @@ struct pkvm_module_ops { void* (*memcpy)(void *to, const void *from, size_t count); void* (*memset)(void *dst, int c, size_t count); phys_addr_t (*hyp_pa)(void *x); + void* (*hyp_va)(phys_addr_t phys); unsigned long (*kern_hyp_va)(unsigned long x); }; diff --git a/arch/arm64/kvm/hyp/nvhe/modules.c b/arch/arm64/kvm/hyp/nvhe/modules.c index bfbb7362144e..aae93093bb64 100644 --- a/arch/arm64/kvm/hyp/nvhe/modules.c +++ b/arch/arm64/kvm/hyp/nvhe/modules.c @@ -115,6 +115,7 @@ const struct pkvm_module_ops module_ops = { .memcpy = memcpy, .memset = memset, .hyp_pa = hyp_virt_to_phys, + .hyp_va = hyp_phys_to_virt, .kern_hyp_va = __kern_hyp_va, };