mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 10:13:57 +08:00
arm64: hyp-stub/KVM: Kill __hyp_get_vectors
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>
This commit is contained in:
parent
ecb5d61daa
commit
0b51c547fd
@ -29,28 +29,25 @@
|
|||||||
* indirection of a function call (as implemented in hyp-stub.S).
|
* 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.
|
* HVC_SET_VECTORS - Set the value of the vbar_el2 register.
|
||||||
*
|
*
|
||||||
* @x1: Physical address of the new vector table.
|
* @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.
|
* 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
|
* 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 */
|
/* 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 */
|
/* Error returned when an invalid stub number is passed into x0 */
|
||||||
#define HVC_STUB_ERR 0xbadca11
|
#define HVC_STUB_ERR 0xbadca11
|
||||||
@ -77,7 +74,6 @@
|
|||||||
extern u32 __boot_cpu_mode[2];
|
extern u32 __boot_cpu_mode[2];
|
||||||
|
|
||||||
void __hyp_set_vectors(phys_addr_t phys_vector_base);
|
void __hyp_set_vectors(phys_addr_t phys_vector_base);
|
||||||
phys_addr_t __hyp_get_vectors(void);
|
|
||||||
void __hyp_reset_vectors(void);
|
void __hyp_reset_vectors(void);
|
||||||
|
|
||||||
/* Reports the availability of HYP mode */
|
/* Reports the availability of HYP mode */
|
||||||
|
@ -55,12 +55,7 @@ ENDPROC(__hyp_stub_vectors)
|
|||||||
.align 11
|
.align 11
|
||||||
|
|
||||||
el1_sync:
|
el1_sync:
|
||||||
cmp x0, #HVC_GET_VECTORS
|
cmp x0, #HVC_SET_VECTORS
|
||||||
b.ne 1f
|
|
||||||
mrs x0, vbar_el2
|
|
||||||
b 9f
|
|
||||||
|
|
||||||
1: cmp x0, #HVC_SET_VECTORS
|
|
||||||
b.ne 2f
|
b.ne 2f
|
||||||
msr vbar_el2, x1
|
msr vbar_el2, x1
|
||||||
b 9f
|
b 9f
|
||||||
@ -118,12 +113,6 @@ ENDPROC(\label)
|
|||||||
* initialisation entry point.
|
* initialisation entry point.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ENTRY(__hyp_get_vectors)
|
|
||||||
mov x0, #HVC_GET_VECTORS
|
|
||||||
hvc #0
|
|
||||||
ret
|
|
||||||
ENDPROC(__hyp_get_vectors)
|
|
||||||
|
|
||||||
ENTRY(__hyp_set_vectors)
|
ENTRY(__hyp_set_vectors)
|
||||||
mov x1, x0
|
mov x1, x0
|
||||||
mov x0, #HVC_SET_VECTORS
|
mov x0, #HVC_SET_VECTORS
|
||||||
|
@ -124,12 +124,7 @@ __do_hyp_init:
|
|||||||
ENDPROC(__kvm_hyp_init)
|
ENDPROC(__kvm_hyp_init)
|
||||||
|
|
||||||
ENTRY(__kvm_handle_stub_hvc)
|
ENTRY(__kvm_handle_stub_hvc)
|
||||||
cmp x0, #HVC_GET_VECTORS
|
cmp x0, #HVC_SOFT_RESTART
|
||||||
b.ne 1f
|
|
||||||
mrs x0, vbar_el2
|
|
||||||
b exit
|
|
||||||
|
|
||||||
1: cmp x0, #HVC_SOFT_RESTART
|
|
||||||
b.ne 1f
|
b.ne 1f
|
||||||
|
|
||||||
/* This is where we're about to jump, staying at EL2 */
|
/* This is where we're about to jump, staying at EL2 */
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* passed in x0.
|
* passed in x0.
|
||||||
*
|
*
|
||||||
* A function pointer with a value less than 0xfff has a special meaning,
|
* 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.
|
* arch/arm64/kernel/hyp_stub.S.
|
||||||
*/
|
*/
|
||||||
ENTRY(__kvm_call_hyp)
|
ENTRY(__kvm_call_hyp)
|
||||||
|
Loading…
Reference in New Issue
Block a user