* shared/irq/irq_asm.S: Correct minor mistakes in adding Thumb code
	which prevented ARM from working.
This commit is contained in:
Joel Sherrill
2008-08-04 17:46:07 +00:00
parent ce7803fe45
commit 6579ae0480
2 changed files with 9 additions and 3 deletions

View File

@@ -1,3 +1,8 @@
2008-08-04 Ray Xu <rayx.cn@gmail.com>
* shared/irq/irq_asm.S: Correct minor mistakes in adding Thumb code
which prevented ARM from working.
2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/comm/console.c: Eliminate copies of switches to convert * shared/comm/console.c: Eliminate copies of switches to convert

View File

@@ -47,7 +47,7 @@ _ISR_Handler:
/* BSP specific function to INT handler */ /* BSP specific function to INT handler */
/* FIXME: I'm not sure why I can't save just r12. I'm also */ /* FIXME: I'm not sure why I can't save just r12. I'm also */
/* not sure which of r1-r3 are important. */ /* not sure which of r1-r3 are important. */
#if __thumb__ #ifdef __thumb__
ldr r0, =ExecuteITHandler +1 ldr r0, =ExecuteITHandler +1
mov lr, pc mov lr, pc
bx r0 bx r0
@@ -121,7 +121,7 @@ bframe:
/* we have to emulate that */ /* we have to emulate that */
#ifdef __thumb__ #ifdef __thumb__
sub lr, #0x1 sub lr, #0x1
#endif #endif
ldmia sp!, {r1} /* out with the old */ ldmia sp!, {r1} /* out with the old */
stmdb sp!, {lr} /* in with the new (lr) */ stmdb sp!, {lr} /* in with the new (lr) */
#ifndef __thumb__ #ifndef __thumb__
@@ -147,6 +147,7 @@ _ISR_Dispatch:
/* we don't save lr, since */ /* we don't save lr, since */
/* it's just going to get */ /* it's just going to get */
/* overwritten */ /* overwritten */
nop /* made _ISR_Dispatch_p_4 4-word align */
#else #else
.code 32 .code 32
stmdb sp!, {r0-r3, r12,lr} /* save regs on SVC stack */ stmdb sp!, {r0-r3, r12,lr} /* save regs on SVC stack */
@@ -155,7 +156,7 @@ _ISR_Dispatch:
/* it's just going to get */ /* it's just going to get */
/* overwritten */ /* overwritten */
#endif #endif
nop /*made _ISR_Dispatch_p_4 4-word align */
_ISR_Dispatch_p_4: _ISR_Dispatch_p_4:
bl _Thread_Dispatch bl _Thread_Dispatch