Skip to contentSkip to conversation

arc: Don't halt slaves

PATCH New Alexey Brodkin 1 participant 1 message Jan 25, 2018 Synopsys ARC architecture

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arc: Don't halt slaves

This commit basically reverts two previous commits:
1. cf628f772ef2 ("arc: arcv1: Disable master/slave check")
2. 6cba327bd96f ("arcv2: Halt non-master cores")

With mentioned commits in-place we experience more trouble than benefits. In case of SMP Linux kernel this is really required as we have all the cores running from the very beginning and then we need to allow master core to do some preparatory work while slaves are not getting in the way.

In case of U-Boot we:
a) Don't really run more than 1 core in parallel
b) We may use whatever core for that

---
 arch/arc/lib/start.S | 20 --------------------
 1 file changed, 20 deletions(-)
arch/arc/lib/start.S +0 -20
index 5098db9286fd..0d9c85741447 100644
@@ -11,26 +11,6 @@
 #include <asm/global_data.h>
 
 ENTRY(_start)
-; ARCompact devices are not supposed to be SMP so master/slave check
-; makes no sense.
-#ifdef CONFIG_ISA_ARCV2
-	; 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:
-#endif
-
 	/* Setup interrupt vector base that matches "__text_start" */
 	sr	__ivt_start, [ARC_AUX_INTR_VEC_BASE]
 
Signature · 1 line
2.14.3