arm64: hyp-stub/KVM: Kill __hyp_get_vectors
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 3 Apr 2017 18:38:04 +0000 (19:38 +0100)
committerChristoffer Dall <cdall@linaro.org>
Sun, 9 Apr 2017 14:49:34 +0000 (07:49 -0700)
Nobody is using __hyp_get_vectors anymore, so let's remove both
implementations (hyp-stub and KVM).

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
arch/arm64/include/asm/virt.h
arch/arm64/kernel/hyp-stub.S
arch/arm64/kvm/hyp-init.S
arch/arm64/kvm/hyp.S

index 435514c52b0feac2e6a18b602d4fe10b4942f105..c5f89442785c79b7dfe61f1fbf701420e20db1c5 100644 (file)
  * indirection of a function call (as implemented in hyp-stub.S).
  */
 
-/* HVC_GET_VECTORS - Return the value of the vbar_el2 register. */
-#define HVC_GET_VECTORS 0
-
 /*
  * HVC_SET_VECTORS - Set the value of the vbar_el2 register.
  *
  * @x1: Physical address of the new vector table.
  */
-#define HVC_SET_VECTORS 1
+#define HVC_SET_VECTORS 0
 
 /*
  * HVC_SOFT_RESTART - CPU soft reset, used by the cpu_soft_restart routine.
  */
-#define HVC_SOFT_RESTART 2
+#define HVC_SOFT_RESTART 1
 
 /*
  * HVC_RESET_VECTORS - Restore the vectors to the original HYP stubs
  */
-#define HVC_RESET_VECTORS 3
+#define HVC_RESET_VECTORS 2
 
 /* Max number of HYP stub hypercalls */
-#define HVC_STUB_HCALL_NR 4
+#define HVC_STUB_HCALL_NR 3
 
 /* Error returned when an invalid stub number is passed into x0 */
 #define HVC_STUB_ERR   0xbadca11
@@ -77,7 +74,6 @@
 extern u32 __boot_cpu_mode[2];
 
 void __hyp_set_vectors(phys_addr_t phys_vector_base);
-phys_addr_t __hyp_get_vectors(void);
 void __hyp_reset_vectors(void);
 
 /* Reports the availability of HYP mode */
index 8226fd90f73c6336d5c897364b8d813a4c7e5d3e..d55604d91e333eb4bfbc21ba6d21fff7376c604d 100644 (file)
@@ -55,12 +55,7 @@ ENDPROC(__hyp_stub_vectors)
        .align 11
 
 el1_sync:
-       cmp     x0, #HVC_GET_VECTORS
-       b.ne    1f
-       mrs     x0, vbar_el2
-       b       9f
-
-1:     cmp     x0, #HVC_SET_VECTORS
+       cmp     x0, #HVC_SET_VECTORS
        b.ne    2f
        msr     vbar_el2, x1
        b       9f
@@ -118,12 +113,6 @@ ENDPROC(\label)
  * initialisation entry point.
  */
 
-ENTRY(__hyp_get_vectors)
-       mov     x0, #HVC_GET_VECTORS
-       hvc     #0
-       ret
-ENDPROC(__hyp_get_vectors)
-
 ENTRY(__hyp_set_vectors)
        mov     x1, x0
        mov     x0, #HVC_SET_VECTORS
index 0ad34fd6d2fc86ff17f1dffeb6429b0f0c3e2458..3734e6315cd7aef6f135d67c7abd5586a73d683e 100644 (file)
@@ -124,12 +124,7 @@ __do_hyp_init:
 ENDPROC(__kvm_hyp_init)
 
 ENTRY(__kvm_handle_stub_hvc)
-       cmp     x0, #HVC_GET_VECTORS
-       b.ne    1f
-       mrs     x0, vbar_el2
-       b       exit
-
-1:     cmp     x0, #HVC_SOFT_RESTART
+       cmp     x0, #HVC_SOFT_RESTART
        b.ne    1f
 
        /* This is where we're about to jump, staying at EL2 */
index f6f20b58d65a5873a2a1be3598cd0ad31d7a450b..952f6cb9cf72051ec1415ad5d63954985544ba53 100644 (file)
@@ -36,7 +36,7 @@
  * passed in x0.
  *
  * A function pointer with a value less than 0xfff has a special meaning,
- * and is used to implement __hyp_get_vectors in the same way as in
+ * and is used to implement hyp stubs in the same way as in
  * arch/arm64/kernel/hyp_stub.S.
  */
 ENTRY(__kvm_call_hyp)