From 0a097ba54bee9ee9fb2f6c5529b55d4b46b872b2 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Wed, 24 Jan 2018 15:27:04 +0300 Subject: [PATCH] arc: Don't halt slaves This commit basically reverts two 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 Signed-off-by: Alexey Brodkin --- arch/arc/lib/start.S | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/arch/arc/lib/start.S b/arch/arc/lib/start.S index 0d72fe7..ac9944c 100644 --- a/arch/arc/lib/start.S +++ b/arch/arc/lib/start.S @@ -10,26 +10,6 @@ #include 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] -- 2.7.4