When running on armv6, set alignment checking to modulo-4 mode rather
than modulo-8, because clang emits ldrd and strd instructions for addresses that are only 4-byte aligned
This commit is contained in:
parent
fea6d14816
commit
f370876f88
@ -27,6 +27,7 @@
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
#include <machine/armreg.h>
|
||||
|
||||
/*
|
||||
* Entry point to the loader that U-Boot passes control to.
|
||||
@ -42,6 +43,13 @@ _start:
|
||||
ldr ip, =saved_regs
|
||||
str r8, [ip, #0]
|
||||
|
||||
#ifdef _ARM_ARCH_6
|
||||
mrc p15, 0, r2, c1, c0, 0
|
||||
orr r2, r2, #(CPU_CONTROL_UNAL_ENABLE)
|
||||
orr r2, r2, #(CPU_CONTROL_AFLT_ENABLE)
|
||||
mcr p15, 0, r2, c1, c0, 0
|
||||
#endif
|
||||
|
||||
/* Start loader */
|
||||
b main
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user