From 29dceaf3d563c522e23052b1ec6b85ba3d358773 Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Tue, 25 Oct 2022 13:03:38 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Expose puts and putx64 in pKVM ABI Expose the hyp_puts() and hyp_putx64() helpers in the module_ops struct to allow logging messages on the UART from pKVM modules. Bug: 244543039 Bug: 244373730 Change-Id: Ica578667297e5a1f94c370603c29482be89982a9 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 27bc000132c3..a9dabdaf79ba 100644 --- a/arch/arm64/include/asm/kvm_pkvm_module.h +++ b/arch/arm64/include/asm/kvm_pkvm_module.h @@ -11,6 +11,8 @@ struct pkvm_module_ops { enum kvm_pgtable_prot prot, unsigned long *haddr); int (*register_serial_driver)(void (*hyp_putc_cb)(char)); + void (*puts)(const char *str); + void (*putx64)(u64 num); }; struct pkvm_module_section { diff --git a/arch/arm64/kvm/hyp/nvhe/modules.c b/arch/arm64/kvm/hyp/nvhe/modules.c index b845fe559307..f0514ee2593b 100644 --- a/arch/arm64/kvm/hyp/nvhe/modules.c +++ b/arch/arm64/kvm/hyp/nvhe/modules.c @@ -12,6 +12,8 @@ const struct pkvm_module_ops module_ops = { .create_private_mapping = __pkvm_create_private_mapping, .register_serial_driver = __pkvm_register_serial_driver, + .puts = hyp_puts, + .putx64 = hyp_putx64, }; int __pkvm_init_module(void *module_init)