Mercurial > flash_v2
diff packages/hal/arm/arch/current/src/context.S @ 38:e7ba79f6d3a8 ecos-sw-1999-09-23
Merge from eCos master repository on 1999-09-23-20:10:25-BST
| author | jlarmour |
|---|---|
| date | Thu, 23 Sep 1999 19:52:27 +0000 |
| parents | 5f5102441818 |
| children | c38311975d4f |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/src/context.S +++ b/packages/hal/arm/arch/current/src/context.S @@ -67,8 +67,8 @@ name: FUNC_START(hal_thread_switch_context) mov ip,sp // saved stack pointer - sub sp,sp,#ARMREG_SIZE // make space for saved registers - stmea sp,{r0-r10,fp,ip,lr,pc} + stmfd sp!,{fp,ip,lr,pc} // filler + stmfd sp!,{r0-r10,fp,ip,lr,pc} mrs r2,cpsr str r2,[sp,#armreg_cpsr] str sp,[r1] // return new stack pointer @@ -90,8 +90,8 @@ FUNC_START(hal_thread_load_context) msr cpsr,r0 ldr r0,[fp,#armreg_cpsr] msr spsr,r0 - ldmfd fp,{r0-r10,fp,sp,lr} // also restores saved PSR - movs pc,lr + ldmfd fp,{r0-r10,fp,sp,lr} + movs pc,lr // also restores saved PSR // ------------------------------------------------------------------------------ // HAL longjmp, setjmp implementations
