diff --git a/trunk/bootrom/build/libraries/init/ARM11/crt0.c b/trunk/bootrom/build/libraries/init/ARM11/crt0.c index ac4170a..f918bc9 100644 --- a/trunk/bootrom/build/libraries/init/ARM11/crt0.c +++ b/trunk/bootrom/build/libraries/init/ARM11/crt0.c @@ -83,8 +83,8 @@ LSYM(1) beq BSYM(1) mcr p15, 0, r0, c15, c12, 0 //---- check CPU-ID - mrc p15,0, r0, c0, c0, 5 - tst r0, #HW_C0_AP_CPU_ID_MASK + mrc p15,0, r2, c0, c0, 5 + tst r2, #HW_C0_AP_CPU_ID_MASK beq core0_start //---- Wait for IPI @@ -92,21 +92,22 @@ LSYM(1) beq BSYM(1) cpsid i #else mrs r0, cpsr - orr r1, r0, #HW_PSR_IRQ_DISABLE - msr cpsr_c, r1 + orr r0, r0, #HW_PSR_IRQ_DISABLE + msr cpsr_c, r0 #endif ldr r3, =REG_IDR_CNT_ADDR mov r0, #REG_OS_IDR_CNT_E_MASK str r0, [r3] ldr r3, =REG_IDR_CLR_PND0_ADDR - ldr r1, =REG_OS_IDR_CLR_PND0_IPI_ALL_MASK + mov r1, #REG_OS_IDR_CLR_PND0_IPI0_MASK + mov r1, r1, lsl r2 mov r0, #~0 str r0, [r3] LSYM(10) + wfi + nop ldr r0, [r3] tst r0, r1 - wfieq - nop beq BSYM(10) ldr lr, =HW_START_VECTOR1_BUF ldr lr, [lr]