powerpc: Fix SMP issues with ppc64le ABIv2
There is no need to put a function descriptor in __secondary_hold_spinloop. Use ppc_function_entry to get the instruction address and put it in __secondary_hold_spinloop instead. Also fix an issue where we assumed cur_cpu_spec held a function descriptor. Signed-off-by: Anton Blanchard <anton@samba.org>
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/rtas.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/code-patching.h>
|
||||
|
||||
#include "interrupt.h"
|
||||
#include <asm/udbg.h>
|
||||
@@ -70,8 +71,8 @@ static cpumask_t of_spin_map;
|
||||
static inline int smp_startup_cpu(unsigned int lcpu)
|
||||
{
|
||||
int status;
|
||||
unsigned long start_here = __pa((u32)*((unsigned long *)
|
||||
generic_secondary_smp_init));
|
||||
unsigned long start_here =
|
||||
__pa(ppc_function_entry(generic_secondary_smp_init));
|
||||
unsigned int pcpu;
|
||||
int start_cpu;
|
||||
|
||||
|
Reference in New Issue
Block a user