Add explicit thumb interwork bx in asm files.

Shouldn't matter for armv >= 5 but let's be safe.
This commit is contained in:
Vladimir Serbinenko 2013-12-17 14:50:44 +01:00
parent 3086175489
commit d45067a290
4 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
Add explicit thumb interwork bx in asm files.
Shouldn't matter for armv >= 5 but let's be safe.
2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
Implement Truecrypt ISO loader.

View file

@ -95,7 +95,8 @@ FUNCTION(grub_arch_sync_caches_armv7)
bl clean_dcache_range
pop {r0, r1}
bl invalidate_icache_range
pop {r2, pc}
pop {r2, lr}
bx lr
#ifdef ARMV6
FUNCTION(grub_arm_disable_caches_mmu_armv6)
@ -137,5 +138,6 @@ FUNCTION(grub_arm_disable_caches_mmu_armv7)
DSB
ISB
pop {r4, pc}
pop {r4, lr}
bx lr

View file

@ -120,6 +120,7 @@ clean_invalidate_dcache:
@ return
6: DSB
ISB
pop {r4-r12, pc}
pop {r4-r12, lr}
bx lr
#include "cache.S"

View file

@ -135,14 +135,17 @@ FUNCTION(grub_uboot_syscall)
ldr r8, gd_backup
ldr r9, gd_backup + 4
mov lr, pc
ldr pc, grub_uboot_syscall_ptr
bl do_syscall
ldr r8, transition_space
ldr lr, transition_space + 4
ldr r9, transition_space + 8
bx lr
do_syscall:
ldr ip, grub_uboot_syscall_ptr
bx ip
FUNCTION(grub_uboot_return)
adr sp, entry_state_end