1
0
Fork 0
forked from len0rd/rockbox

cpucache_invalidate: use bx reg instead of mov pc, reg to return

Using BX has the effect to set the T bit, so it can return to a thumb
function

With this change, rockbox runs fine on Clipv2 built with -mthumb (for
most files which don't use inline 32 bits ARM assembly)

Some other places use code which change the T bit on armv5 but not on
armv4 so armv4 won't run

See FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26386 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2010-05-29 17:12:42 +00:00
parent b7330ca295
commit 5ea1fe614a

View file

@ -396,5 +396,5 @@ cpucache_invalidate:
mov r2, lr @ save lr to r1, call uses r0 only mov r2, lr @ save lr to r1, call uses r0 only
bl invalidate_dcache @ Clean and invalidate entire DCache bl invalidate_dcache @ Clean and invalidate entire DCache
mcr p15, 0, r1, c7, c5, 0 @ Invalidate ICache (r1=0 from call) mcr p15, 0, r1, c7, c5, 0 @ Invalidate ICache (r1=0 from call)
mov pc, r2 @ bx r2
.size invalidate_idcache, .-invalidate_idcache .size invalidate_idcache, .-invalidate_idcache