diff options
| author | shaojinchun <[email protected]> | 2019-04-27 13:54:51 +0800 |
|---|---|---|
| committer | shaojinchun <[email protected]> | 2019-04-27 13:54:51 +0800 |
| commit | 1e7bd3d8a1082060f6cf71631849da903787d045 (patch) | |
| tree | 168400509fc8ec011ca16e5310de1b5707e778d4 | |
| parent | 12610f76aecc3fccb9acb5930cc4e3a3f5f8887a (diff) | |
修改lwp支持中arm cortex-a的swi入口函数处理
| -rw-r--r-- | components/lwp/arch/arm/cortex-a/lwp_gcc.S | 6 | ||||
| -rw-r--r-- | components/lwp/arch/arm/cortex-a9/lwp_gcc.S | 8 | ||||
| -rw-r--r-- | libcpu/arm/cortex-a/start_gcc.S | 4 |
3 files changed, 8 insertions, 10 deletions
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 |
