|
@@ -71,14 +71,14 @@ ENTRY(stext)
|
|
GET_CPU_ID r5
|
|
GET_CPU_ID r5
|
|
cmp r5, 0
|
|
cmp r5, 0
|
|
mov.nz r0, r5
|
|
mov.nz r0, r5
|
|
-#ifdef CONFIG_ARC_SMP_HALT_ON_RESET
|
|
|
|
- ; Non-Master can proceed as system would be booted sufficiently
|
|
|
|
- jnz first_lines_of_secondary
|
|
|
|
-#else
|
|
|
|
|
|
+ bz .Lmaster_proceed
|
|
|
|
+
|
|
; Non-Masters wait for Master to boot enough and bring them up
|
|
; Non-Masters wait for Master to boot enough and bring them up
|
|
- jnz arc_platform_smp_wait_to_boot
|
|
|
|
-#endif
|
|
|
|
- ; Master falls thru
|
|
|
|
|
|
+ ; when they resume, tail-call to entry point
|
|
|
|
+ mov blink, @first_lines_of_secondary
|
|
|
|
+ j arc_platform_smp_wait_to_boot
|
|
|
|
+
|
|
|
|
+.Lmaster_proceed:
|
|
#endif
|
|
#endif
|
|
|
|
|
|
; Clear BSS before updating any globals
|
|
; Clear BSS before updating any globals
|