arcv2: Halt non-master cores
Even though we expect only master core to execute U-Boot code let's make sure even if for some reason slave cores attempt to execute U-Boot in parallel with master they get halted very early. If platform wants it may kick-start slave cores before passing control to say Linux kernel or any other application that want to see all cores of SMP SoC up and running. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This commit is contained in:
parent
2a5062ca9e
commit
6cba327bd9
@ -10,6 +10,22 @@
|
||||
#include <asm/arcregs.h>
|
||||
|
||||
ENTRY(_start)
|
||||
; Non-masters will be halted immediately, they might be kicked later
|
||||
; by platform code right before passing control to the Linux kernel
|
||||
; in bootm.c:boot_jump_linux().
|
||||
lr r5, [identity]
|
||||
lsr r5, r5, 8
|
||||
bmsk r5, r5, 7
|
||||
cmp r5, 0
|
||||
mov.nz r0, r5
|
||||
bz .Lmaster_proceed
|
||||
flag 1
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
.Lmaster_proceed:
|
||||
|
||||
/* Setup interrupt vector base that matches "__text_start" */
|
||||
sr __ivt_start, [ARC_AUX_INTR_VEC_BASE]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user