summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-09-06 02:40:54 -0500
committerPatrick Georgi <pgeorgi@google.com>2015-03-27 08:05:22 +0100
commit3693838d47a133cc0133353ea6361e6fef8b664d (patch)
tree2997bb171770728f139ae46272a92b75125b1569
parentb6a81fa94b93319288bd2f3300889a651cab91b4 (diff)
downloadcoreboot-3693838d47a133cc0133353ea6361e6fef8b664d.tar.xz
arm64: remove soc_secondary_cpu_init()
The original purpose of soc_secondary_cpu_init() was to provide a way for the SoC to run code on the secondary processors as they come up. Now that devicetree based bringup is supported there's no need to have this functionality. BUG=chrome-os-partner:31761 BRANCH=None TEST=Booted SMP into linux. Change-Id: I6fa39b66a8b728d9982b0721480b7fae45af7c6e Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 1356ec527e2bc61043ccd7dea4a7ff5182b16f3e Original-Change-Id: Ie5c38ef33efadb2d6fdb2f892b4d08f33eee5c42 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/216927 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9044 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/arch/arm64/c_entry.c14
-rw-r--r--src/arch/arm64/cpu-internal.h7
-rw-r--r--src/arch/arm64/include/armv8/arch/cpu.h13
3 files changed, 7 insertions, 27 deletions
diff --git a/src/arch/arm64/c_entry.c b/src/arch/arm64/c_entry.c
index aba9fd3719..4e5c1510c0 100644
--- a/src/arch/arm64/c_entry.c
+++ b/src/arch/arm64/c_entry.c
@@ -36,11 +36,6 @@ void __attribute__((weak)) arm64_soc_init(void)
/* Default weak implementation does nothing. */
}
-void __attribute__((weak)) soc_secondary_cpu_init(void)
-{
- /* Default weak implementation does nothing. */
-}
-
static void seed_stack(void)
{
char *stack_begin;
@@ -71,15 +66,6 @@ static void secondary_cpu_start(void)
mmu_enable();
exception_hwinit();
- if (!IS_ENABLED(CONFIG_SMP)) {
- soc_secondary_cpu_init();
- /*
- * TODO(adurbin): need a proper place to park the CPUs.
- * Currently assuming SoC code does the appropriate thing.
- */
- while (1);
- }
-
/* This will never return. */
arch_secondary_cpu_init();
}
diff --git a/src/arch/arm64/cpu-internal.h b/src/arch/arm64/cpu-internal.h
index be13ba4e98..266dc633c6 100644
--- a/src/arch/arm64/cpu-internal.h
+++ b/src/arch/arm64/cpu-internal.h
@@ -21,6 +21,13 @@
#define ARCH_CPU_INTERNAL_H
/*
+ * Do the necessary work to prepare for secondary CPUs coming up. The
+ * SoC will call this function before bringing up the other CPUs. The
+ * entry point for the seoncdary CPUs is returned.
+ */
+void *prepare_secondary_cpu_startup(void);
+
+/*
* Code path for the non-BSP CPUs. This is an internal function used.
*/
void arch_secondary_cpu_init(void);
diff --git a/src/arch/arm64/include/armv8/arch/cpu.h b/src/arch/arm64/include/armv8/arch/cpu.h
index 8a8e3b6c91..a5d20c49ac 100644
--- a/src/arch/arm64/include/armv8/arch/cpu.h
+++ b/src/arch/arm64/include/armv8/arch/cpu.h
@@ -97,19 +97,6 @@ int arch_run_on_all_cpus(struct cpu_action *action);
int arch_run_on_cpu_async(unsigned int cpu, struct cpu_action *action);
int arch_run_on_all_cpus_async(struct cpu_action *action);
-/*
- * Do the necessary work to prepare for secondary CPUs coming up. The
- * SoC will call this function before bringing up the other CPUs. The
- * entry point for the seoncdary CPUs is returned.
- */
-void *prepare_secondary_cpu_startup(void);
-
-/*
- * Function provided by the SoC code that is called for each secondary
- * CPU startup.
- */
-void soc_secondary_cpu_init(void);
-
#endif /* !__PRE_RAM__ */
/*