From 4d4c9f98296e82e0ef92acade21209c9a0febdfc Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Wed, 26 Oct 2022 08:44:34 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Expose hyp fixmap helpers in module_ops Expose the hyp_fixmap helpers in the module_ops struct to allow dynamic mapping and unmapping of pages from pKVM modules. Bug: 244543039 Bug: 244373730 Change-Id: I201db6044ed5eb4c2821a64a6b650b931dd2e389 Signed-off-by: Quentin Perret --- arch/arm64/include/asm/kvm_pkvm_module.h | 2 ++ arch/arm64/kvm/hyp/nvhe/modules.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm64/include/asm/kvm_pkvm_module.h b/arch/arm64/include/asm/kvm_pkvm_module.h index a9dabdaf79ba..af8491c1ccae 100644 --- a/arch/arm64/include/asm/kvm_pkvm_module.h +++ b/arch/arm64/include/asm/kvm_pkvm_module.h @@ -13,6 +13,8 @@ struct pkvm_module_ops { int (*register_serial_driver)(void (*hyp_putc_cb)(char)); void (*puts)(const char *str); void (*putx64)(u64 num); + void *(*fixmap_map)(phys_addr_t phys); + void (*fixmap_unmap)(void); }; struct pkvm_module_section { diff --git a/arch/arm64/kvm/hyp/nvhe/modules.c b/arch/arm64/kvm/hyp/nvhe/modules.c index f0514ee2593b..d8e11922597a 100644 --- a/arch/arm64/kvm/hyp/nvhe/modules.c +++ b/arch/arm64/kvm/hyp/nvhe/modules.c @@ -14,6 +14,8 @@ const struct pkvm_module_ops module_ops = { .register_serial_driver = __pkvm_register_serial_driver, .puts = hyp_puts, .putx64 = hyp_putx64, + .fixmap_map = hyp_fixmap_map, + .fixmap_unmap = hyp_fixmap_unmap, }; int __pkvm_init_module(void *module_init)