From 0682cfefdb888807bef6ee7f3bb81615282e0390 Mon Sep 17 00:00:00 2001 From: Hung-Te Lin Date: Tue, 6 Aug 2013 20:37:55 +0800 Subject: armv7/exynos5420: Configure CPU cores for kernel to enable SMP. The SMP on Exynos 5420 requires setting a special page and entry wrappers in firmware side (SRAM) so kernel can start cores (and to switch clusters). Change-Id: I77ca98bb6cff5b13e95dd29228e4536302f0aee9 Signed-off-by: Hung-Te Lin Reviewed-on: https://gerrit.chromium.org/gerrit/64770 Reviewed-by: Ronald G. Minnich (cherry picked from commit 4a11c7ab78cc0811df0f88763b0af8b9f24e5433) Signed-off-by: Isaac Christensen Reviewed-on: http://review.coreboot.org/6405 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Edward O'Callaghan --- src/arch/armv7/include/arch/cpu.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/arch') diff --git a/src/arch/armv7/include/arch/cpu.h b/src/arch/armv7/include/arch/cpu.h index 2613025348..ec37a969ce 100644 --- a/src/arch/armv7/include/arch/cpu.h +++ b/src/arch/armv7/include/arch/cpu.h @@ -98,4 +98,10 @@ inline static void sev(void) asm volatile ("sev"); } +/* puts CPU into SVC32 mode and disable interrupts. */ +inline static void set_svc32_mode(void) +{ + asm volatile("msr cpsr_c, %0" :: "r"(0x13 | 0xc0)); +} + #endif /* __ARCH_CPU_H__ */ -- cgit v1.2.3