Add explicit thumb interwork bx in asm files.
Shouldn't matter for armv >= 5 but let's be safe.
This commit is contained in:
parent
3086175489
commit
d45067a290
4 changed files with 17 additions and 5 deletions
|
@ -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>
|
2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
Implement Truecrypt ISO loader.
|
Implement Truecrypt ISO loader.
|
||||||
|
|
|
@ -95,7 +95,8 @@ FUNCTION(grub_arch_sync_caches_armv7)
|
||||||
bl clean_dcache_range
|
bl clean_dcache_range
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
bl invalidate_icache_range
|
bl invalidate_icache_range
|
||||||
pop {r2, pc}
|
pop {r2, lr}
|
||||||
|
bx lr
|
||||||
|
|
||||||
#ifdef ARMV6
|
#ifdef ARMV6
|
||||||
FUNCTION(grub_arm_disable_caches_mmu_armv6)
|
FUNCTION(grub_arm_disable_caches_mmu_armv6)
|
||||||
|
@ -137,5 +138,6 @@ FUNCTION(grub_arm_disable_caches_mmu_armv7)
|
||||||
DSB
|
DSB
|
||||||
ISB
|
ISB
|
||||||
|
|
||||||
pop {r4, pc}
|
pop {r4, lr}
|
||||||
|
bx lr
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,7 @@ clean_invalidate_dcache:
|
||||||
@ return
|
@ return
|
||||||
6: DSB
|
6: DSB
|
||||||
ISB
|
ISB
|
||||||
pop {r4-r12, pc}
|
pop {r4-r12, lr}
|
||||||
|
bx lr
|
||||||
|
|
||||||
#include "cache.S"
|
#include "cache.S"
|
|
@ -135,14 +135,17 @@ FUNCTION(grub_uboot_syscall)
|
||||||
ldr r8, gd_backup
|
ldr r8, gd_backup
|
||||||
ldr r9, gd_backup + 4
|
ldr r9, gd_backup + 4
|
||||||
|
|
||||||
mov lr, pc
|
bl do_syscall
|
||||||
ldr pc, grub_uboot_syscall_ptr
|
|
||||||
|
|
||||||
ldr r8, transition_space
|
ldr r8, transition_space
|
||||||
ldr lr, transition_space + 4
|
ldr lr, transition_space + 4
|
||||||
ldr r9, transition_space + 8
|
ldr r9, transition_space + 8
|
||||||
|
|
||||||
bx lr
|
bx lr
|
||||||
|
do_syscall:
|
||||||
|
|
||||||
|
ldr ip, grub_uboot_syscall_ptr
|
||||||
|
bx ip
|
||||||
|
|
||||||
FUNCTION(grub_uboot_return)
|
FUNCTION(grub_uboot_return)
|
||||||
adr sp, entry_state_end
|
adr sp, entry_state_end
|
||||||
|
|
Loading…
Add table
Reference in a new issue