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/

Reply via email to