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: Ie5c38ef33efadb2d6fdb2f892b4d08f33eee5c42
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/216927
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
Aaron Durbin 2014-09-06 02:40:54 -05:00 committed by chrome-internal-fetch
commit 1356ec527e
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. */
}
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();
}

View file

@ -20,6 +20,13 @@
#ifndef 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.
*/

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_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__ */
/*