This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Re: thumb support
Jonathan Larmour wrote:
Daniel Néri wrote:
In vectors.S, there is a call to hal_spurious_IRQ that is (still) not
thumb-aware. Proposed fix below.
Applied, thanks. I had a third party report that it fixed things too.
Actually, just thinking about it, we should probably endeavour not to
lengthen the interrupt path, so I also checked in the attached patch.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/arch/current/ChangeLog,v
retrieving revision 1.88
diff -u -5 -p -r1.88 ChangeLog
--- ChangeLog 30 Apr 2003 13:35:06 -0000 1.88
+++ ChangeLog 30 Apr 2003 13:40:49 -0000
@@ -1,5 +1,10 @@
+2003-04-30 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * src/vectors.S (handle_IRQ_or_FIQ): Tweak below to be conditional on
+ __thumb__.
+
2003-04-26 Daniel Néri <daniel.neri@sigicom.se>
* vectors.S (handle_IRQ_or_FIQ):
Use thumb-aware call to hal_spurious_IRQ.
Index: src/vectors.S
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/arch/current/src/vectors.S,v
retrieving revision 1.49
diff -u -5 -p -r1.49 vectors.S
--- src/vectors.S 30 Apr 2003 13:35:06 -0000 1.49
+++ src/vectors.S 30 Apr 2003 13:40:50 -0000
@@ -804,13 +804,17 @@ handle_IRQ_or_FIQ:
cmp r0,#CYGNUM_HAL_INTERRUPT_NONE // spurious interrupt
bne 10f
#ifndef CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS
mov r0,v6 // register frame
+# ifdef __thumb__
ldr r1,=hal_spurious_IRQ
mov lr,pc
bx r1
+# else
+ bl hal_spurious_IRQ
+# endif
#endif // CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS
b spurious_IRQ
10: ldr r1,.hal_interrupt_data
ldr r1,[r1,v1,lsl #2] // handler data