From mboxrd@z Thu Jan 1 00:00:00 1970 From: Siarhei Siamashka Date: Tue, 25 Jul 2017 12:58:12 +0300 Subject: [U-Boot] CPU errata workarounds are using the SPL stack before it is initialized Message-ID: <20170725125812.598b4511@i7> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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