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>
This commit is contained in:
Aaron Durbin 2014-09-06 02:40:54 -05:00 committed by Patrick Georgi
parent b6a81fa94b
commit 3693838d47
3 changed files with 7 additions and 27 deletions

View File

@ -36,11 +36,6 @@ void __attribute__((weak)) arm64_soc_init(void)
/* Default weak implementation does nothing. */ /* Default weak implementation does nothing. */
} }
void __attribute__((weak)) soc_secondary_cpu_init(void)
{
/* Default weak implementation does nothing. */
}
static void seed_stack(void) static void seed_stack(void)
{ {
char *stack_begin; char *stack_begin;
@ -71,15 +66,6 @@ static void secondary_cpu_start(void)
mmu_enable(); mmu_enable();
exception_hwinit(); 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. */ /* This will never return. */
arch_secondary_cpu_init(); arch_secondary_cpu_init();
} }

View File

@ -20,6 +20,13 @@
#ifndef ARCH_CPU_INTERNAL_H #ifndef ARCH_CPU_INTERNAL_H
#define ARCH_CPU_INTERNAL_H #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. * Code path for the non-BSP CPUs. This is an internal function used.
*/ */

View File

@ -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_cpu_async(unsigned int cpu, struct cpu_action *action);
int arch_run_on_all_cpus_async(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__ */ #endif /* !__PRE_RAM__ */
/* /*