u-boot/arch/arc/lib
Alexey Brodkin 8b2eb776b1 arc: implement slave cores kick-start for Linux kernel
With new SMP-enabled CPUs with ARC HS38 cores and corresponding support
in Linux kernel it's required to add basic SMP support in U-Boot.

Currently we assume the one and only core starts execution after
power-on. So most of things in U-Boot is handled in UP mode.

But when U-Boot is used for loading and starting Linux kernel right
before jumping to kernel's entry point U-Boot:
 [1] Sets all slave cores to jump to the same address [kernel's entry
point]
 [2] Really starts all slav cores

In ARC's implemetation of SMP in Linux kernel all cores are supposed to
run the same start-up code. But only core with ID 0 (master core)
processes further while others are looping waiting for master core to
complete some initialization.

That means it's safe to un-pause slave cores and let them execute kernel
- they will wait for master anyway.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
2015-07-01 17:17:27 +03:00
..
_millicodethunk.S arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
bootm.c arc: implement slave cores kick-start for Linux kernel 2015-07-01 17:17:27 +03:00
cache.c arc: add support for SLC (System Level Cache, AKA L2-cache) 2015-04-03 09:47:50 +03:00
cpu.c arc: clean-up init procedure 2015-04-03 09:47:49 +03:00
init_helpers.c arc: clean-up init procedure 2015-04-03 09:47:49 +03:00
interrupts.c arc: move common sources in library 2015-01-15 22:40:49 +03:00
ints_low.S arc: move low-level interrupt and exception handlers in a separate file 2015-04-03 09:47:49 +03:00
libgcc2.c arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
libgcc2.h arc: build libgcc in U-Boot 2015-02-09 16:41:20 +03:00
Makefile arc: fix separate compilation of start.o 2015-04-10 19:22:40 +03:00
memcmp.S arc: memcmp - fix zero-delay loop utilization 2015-02-09 16:41:20 +03:00
memcpy-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
memset.S arc: add library functions 2014-02-07 08:14:32 -05:00
relocate.c arc: clean-up init procedure 2015-04-03 09:47:49 +03:00
reset.c arc: move common sources in library 2015-01-15 22:40:49 +03:00
sections.c arc: introduce separate section for interrupt vector table 2015-01-15 22:38:42 +03:00
start.S arc: add support for SLC (System Level Cache, AKA L2-cache) 2015-04-03 09:47:50 +03:00
strchr-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
strcmp.S arc: add library functions 2014-02-07 08:14:32 -05:00
strcpy-700.S arc: add library functions 2014-02-07 08:14:32 -05:00
strlen.S arc: add library functions 2014-02-07 08:14:32 -05:00
timer.c arc: move common sources in library 2015-01-15 22:40:49 +03:00