]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - embedded/arch/arm/mach-lpc21xx/libs/iap/iap_asm.S
Update of system-less architecture and board support code to actual uLAN.sf.net version.
[lincan.git] / embedded / arch / arm / mach-lpc21xx / libs / iap / iap_asm.S
index 8867e32d5fab3e83caff9e9c52eb0560df1513c8..213d031b1d7121d880f84e6a017940107292140a 100644 (file)
@@ -1,6 +1,20 @@
 .global iap_asm_entry
 .func iap_asm_entry
+
+#if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
+        .code 16
+       .align  0
+        .thumb_func
+       .type   iap_asm_entry, %function
+iap_asm_entry:
+       bx      pc
+       nop
+        .code 32
+#else
+        .code 32
+       .type   iap_asm_entry, %function
 iap_asm_entry:
+#endif
        stmfd   sp!,{r1, r2, lr}
        adr     lr,iap_asm_exit
        ldr     r2,=0x7FFFFFF1
@@ -8,6 +22,6 @@ iap_asm_entry:
 
 iap_asm_exit:
        ldmfd   sp!,{r1, r2, lr}
-       mov     pc,lr
+       bx      lr
 .endfunc
 .end