[U-Boot] CPU errata workarounds are using the SPL stack before it is initialized
Siarhei Siamashka
siarhei.siamashka at gmail.com
Tue Jul 25 09:58:12 UTC 2017
Hello,
Currently the code in 'arch/arm/cpu/armv7/start.S' calls
the 'cpu_init_cp15' function before 'cpu_init_crit'. The initial
SPL stack is initialized in 'lowlevel_init', which is called
from 'cpu_init_crit'. But 'cpu_init_cp15' is already using stack
when applying errata workarounds. Here is one example:
#ifdef CONFIG_ARM_ERRATA_430973
cmp r2, #0x21 @ Only on < r2p1
bge skip_errata_430973
mrc p15, 0, r0, c1, c0, 1 @ Read ACR
orr r0, r0, #(0x1 << 6) @ Set IBE bit
push {r1-r5} @ Save the cpu info registers
bl v7_arch_cp15_set_acr
pop {r1-r5} @ Restore the cpu info - fall through
skip_errata_430973:
#endif
--
Best regards,
Siarhei Siamashka
More information about the U-Boot
mailing list