Comments
Patch
@@ -56,16 +56,21 @@ asm (
"ldr r12, =0x102\n"
"mov r0, pc\n"
"smc 0x1\n"
- "ldr r1, =0x48281804\n" // AUX_CORE_BOOT_1
+ "ldr r1, =0x48281800\n" /* AUX_CORE_BOOT_0 */
"mov r2, #0\n"
- "str r2, [r1]\n"
+ "str r2, [r1]\n" /* AUX_CORE_BOOT_0 */
+ "str r2, [r1, #4]\n" /* AUX_CORE_BOOT_1 */
"isb\n"
"dsb\n"
+ "mov r3, #0xf0\n"
"1: wfe\n"
- "ldr r2, [r1]\n"
- "cmp r2, #0\n"
- "movne pc, r2\n"
- "b 1b\n"
+ "ldr r2, [r1]\n" /* AUX_CORE_BOOT_0 */
+ "ands r2, r2, r3\n"
+ "beq 1b\n"
+ "ldr r2, [r1, #4]\n" /* AUX_CORE_BOOT_1 */
+ "cmp r2, #0\n"
+ "beq 1b\n"
+ "bx r2\n"
".popsection\n"
);
@@ -378,7 +383,7 @@ void hyp_enable(void) {
"ldr r1, =0x48281800\n" // AUX_CORE_BOOT_1
"ldr r2, =__hyp_init_sec\n"
"str r2, [r1, #4]\n"
- "mov r2, #0x200\n"
+ "mov r2, #0x20\n"
"str r2, [r1]\n" // AUX_CORE_BOOT_0
"isb\n"
"dmb\n"
Make it work on PandaBoard 5 with 5432 ES2 and Linux. Signed-off-by: Vincent Stehlé <v-stehle@ti.com> --- Hi, Here are some necessary adaptations for OMAP5 ES2, as magic value has changed. In the mean time, we make the secondary cpu routine a bit closer to what romcode does. Best regards, V. arch/arm/lib/bootm.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)