From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Brodkin Date: Wed, 1 Jul 2015 14:21:11 +0000 Subject: [U-Boot] [PATCH] arc: implement slave cores kick-start for Linux kernel In-Reply-To: <1435759418-30207-1-git-send-email-abrodkin@synopsys.com> References: <1435759418-30207-1-git-send-email-abrodkin@synopsys.com> Message-ID: <1435760471.4689.52.camel@synopsys.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, 2015-07-01 at 17:03 +0300, Alexey Brodkin wrote: > 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 > Cc: Vineet Gupta > --- > arch/arc/lib/bootm.c | 6 ++++++ > board/synopsys/axs101/axs101.c | 30 ++++++++++++++++++++++++++++++ > 2 files changed, 36 insertions(+) Applied, thanks. -Alexey