diff options
Diffstat (limited to 'libcpu/arm/arm926/stack.c')
| -rw-r--r-- | libcpu/arm/arm926/stack.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libcpu/arm/arm926/stack.c b/libcpu/arm/arm926/stack.c index ee29aad3ac..966088f829 100644 --- a/libcpu/arm/arm926/stack.c +++ b/libcpu/arm/arm926/stack.c @@ -50,10 +50,9 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, { rt_uint32_t *stk; - //stk = (rt_uint32_t*)stack_addr; stack_addr += sizeof(rt_uint32_t); stack_addr = (rt_uint8_t *)RT_ALIGN_DOWN((rt_uint32_t)stack_addr, 8); - stk = (rt_uint32_t *)stack_addr; + stk = (rt_uint32_t *)stack_addr; *(--stk) = (rt_uint32_t)tentry; /* entry point */ *(--stk) = (rt_uint32_t)texit; /* lr */ @@ -70,11 +69,11 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, *(--stk) = 0xdeadbeef; /* r2 */ *(--stk) = 0xdeadbeef; /* r1 */ *(--stk) = (rt_uint32_t)parameter; /* r0 : argument */ - /* cpsr */ - if ((rt_uint32_t)tentry & 0x01) - *(--stk) = SVCMODE | 0x20; /* thumb mode */ - else - *(--stk) = SVCMODE; /* arm mode */ + /* cpsr */ + if ((rt_uint32_t)tentry & 0x01) + *(--stk) = SVCMODE | 0x20; /* thumb mode */ + else + *(--stk) = SVCMODE; /* arm mode */ /* return task's current stack address */ return (rt_uint8_t *)stk; |
