diff --git a/components/lwp/arch/arm/cortex-a/lwp_gcc.S b/components/lwp/arch/arm/cortex-a/lwp_gcc.S index 6c89152b0c..395974a2b7 100644 --- a/components/lwp/arch/arm/cortex-a/lwp_gcc.S +++ b/components/lwp/arch/arm/cortex-a/lwp_gcc.S @@ -45,9 +45,9 @@ lwp_user_entry: /* * void SVC_Handler(void); */ -.global SVC_Handler -.type SVC_Handler, % function -SVC_Handler: +.global vector_swi +.type vector_swi, % function +vector_swi: push {lr} mrs lr, spsr push {r4, r5, lr} diff --git a/components/lwp/arch/arm/cortex-a9/lwp_gcc.S b/components/lwp/arch/arm/cortex-a9/lwp_gcc.S index 6c89152b0c..93e88f7c97 100644 --- a/components/lwp/arch/arm/cortex-a9/lwp_gcc.S +++ b/components/lwp/arch/arm/cortex-a9/lwp_gcc.S @@ -43,11 +43,11 @@ lwp_user_entry: movs pc, r1 /* - * void SVC_Handler(void); + * void vector_swi(void); */ -.global SVC_Handler -.type SVC_Handler, % function -SVC_Handler: +.global vector_swi +.type vector_swi, % function +vector_swi: push {lr} mrs lr, spsr push {r4, r5, lr} diff --git a/libcpu/arm/cortex-a/start_gcc.S b/libcpu/arm/cortex-a/start_gcc.S index 7464ba6161..51026b7ed5 100644 --- a/libcpu/arm/cortex-a/start_gcc.S +++ b/libcpu/arm/cortex-a/start_gcc.S @@ -241,9 +241,7 @@ rt_hw_context_switch_interrupt_do: .endm .align 5 - .globl vector_swi -.weak SVC_Handler -SVC_Handler: +.weak vector_swi vector_swi: push_svc_reg bl rt_hw_trap_swi