[PATCH v3 02/12] KVM: arm64: Fix __pkvm_init_switch_pgd C signature
Will Deacon
will at kernel.org
Mon May 13 07:03:13 PDT 2024
On Fri, May 10, 2024 at 12:26:31PM +0100, Pierre-Clément Tosi wrote:
> Update the function declaration to match the asm implementation.
>
> Fixes: f320bc742bc2 ("KVM: arm64: Prepare the creation of s1 mappings at EL2")
> Signed-off-by: Pierre-Clément Tosi <ptosi at google.com>
> ---
> arch/arm64/include/asm/kvm_hyp.h | 3 +--
> arch/arm64/kvm/hyp/nvhe/setup.c | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/include/asm/kvm_hyp.h b/arch/arm64/include/asm/kvm_hyp.h
> index 3e2a1ac0c9bb..96daf7cf6802 100644
> --- a/arch/arm64/include/asm/kvm_hyp.h
> +++ b/arch/arm64/include/asm/kvm_hyp.h
> @@ -123,8 +123,7 @@ void __noreturn __hyp_do_panic(struct kvm_cpu_context *host_ctxt, u64 spsr,
> #endif
>
> #ifdef __KVM_NVHE_HYPERVISOR__
> -void __pkvm_init_switch_pgd(phys_addr_t phys, unsigned long size,
> - phys_addr_t pgd, void *sp, void *cont_fn);
> +void __pkvm_init_switch_pgd(phys_addr_t params, void (*finalize_fn)(void));
> int __pkvm_init(phys_addr_t phys, unsigned long size, unsigned long nr_cpus,
> unsigned long *per_cpu_base, u32 hyp_va_bits);
> void __noreturn __host_enter(struct kvm_cpu_context *host_ctxt);
> diff --git a/arch/arm64/kvm/hyp/nvhe/setup.c b/arch/arm64/kvm/hyp/nvhe/setup.c
> index bc58d1b515af..bcaeb0fafd2d 100644
> --- a/arch/arm64/kvm/hyp/nvhe/setup.c
> +++ b/arch/arm64/kvm/hyp/nvhe/setup.c
> @@ -316,7 +316,7 @@ int __pkvm_init(phys_addr_t phys, unsigned long size, unsigned long nr_cpus,
> {
> struct kvm_nvhe_init_params *params;
> void *virt = hyp_phys_to_virt(phys);
> - void (*fn)(phys_addr_t params_pa, void *finalize_fn_va);
> + typeof(__pkvm_init_switch_pgd) *fn;
> int ret;
>
> BUG_ON(kvm_check_pvm_sysreg_table());
> --
> 2.45.0.118.g7fe29c98d7-goog
Acked-by: Will Deacon <will at kernel.org>
Will
More information about the linux-arm-kernel
mailing list