From: Al Viro <v...@zeniv.linux.org.uk> Signed-off-by: Al Viro <v...@zeniv.linux.org.uk> --- arch/arm/include/asm/kvm_host.h | 4 ++-- arch/arm/kvm/arm.c | 13 +++++-------- arch/arm64/include/asm/kvm_host.h | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h index 6692982..20c51e8 100644 --- a/arch/arm/include/asm/kvm_host.h +++ b/arch/arm/include/asm/kvm_host.h @@ -190,7 +190,7 @@ int handle_exit(struct kvm_vcpu *vcpu, struct kvm_run *run, static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr, phys_addr_t pgd_ptr, - unsigned long hyp_stack_ptr, + void *hyp_stack_ptr, unsigned long vector_ptr) { /* @@ -211,7 +211,7 @@ static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr, kvm_call_hyp(NULL, 0, boot_pgd_ptr); - kvm_call_hyp((void*)hyp_stack_ptr, vector_ptr, pgd_ptr); + kvm_call_hyp(hyp_stack_ptr, vector_ptr, pgd_ptr); } static inline int kvm_arch_dev_ioctl_check_extension(long ext) diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c index 08fe183..385bdce 100644 --- a/arch/arm/kvm/arm.c +++ b/arch/arm/kvm/arm.c @@ -49,7 +49,7 @@ __asm__(".arch_extension virt"); #endif -static DEFINE_PER_CPU(unsigned long, kvm_arm_hyp_stack_page); +static DEFINE_PER_CPU(void *, kvm_arm_hyp_stack_page); static kvm_cpu_context_t __percpu *kvm_host_cpu_state; static unsigned long hyp_default_vectors; @@ -958,8 +958,7 @@ static void cpu_init_hyp_mode(void *dummy) { phys_addr_t boot_pgd_ptr; phys_addr_t pgd_ptr; - unsigned long hyp_stack_ptr; - unsigned long stack_page; + void *hyp_stack_ptr, *stack_page; unsigned long vector_ptr; /* Switch from the HYP stub to our own HYP init vector */ @@ -1047,9 +1046,7 @@ static int init_hyp_mode(void) * Allocate stack pages for Hypervisor-mode */ for_each_possible_cpu(cpu) { - unsigned long stack_page; - - stack_page = __get_free_page(GFP_KERNEL); + void *stack_page = (void *)__get_free_page(GFP_KERNEL); if (!stack_page) { err = -ENOMEM; goto out_free_stack_pages; @@ -1071,7 +1068,7 @@ static int init_hyp_mode(void) * Map the Hyp stack pages */ for_each_possible_cpu(cpu) { - char *stack_page = (char *)per_cpu(kvm_arm_hyp_stack_page, cpu); + char *stack_page = per_cpu(kvm_arm_hyp_stack_page, cpu); err = create_hyp_mappings(stack_page, stack_page + PAGE_SIZE); if (err) { @@ -1136,7 +1133,7 @@ out_free_mappings: free_hyp_pgds(); out_free_stack_pages: for_each_possible_cpu(cpu) - free_page((void *)per_cpu(kvm_arm_hyp_stack_page, cpu)); + free_page(per_cpu(kvm_arm_hyp_stack_page, cpu)); out_err: kvm_err("error initializing Hyp mode: %d\n", err); return err; diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index a35ce72..e3adc1d 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -236,7 +236,7 @@ struct kvm_vcpu *kvm_mpidr_to_vcpu(struct kvm *kvm, unsigned long mpidr); static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr, phys_addr_t pgd_ptr, - unsigned long hyp_stack_ptr, + void *hyp_stack_ptr, unsigned long vector_ptr) { /* -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/