smp.c (e23c34bb41da65f354fb7eee04300c56ee48f60c) | smp.c (2751b628c97e66e61f482935ca59148751972941) |
---|---|
1/* 2 * SMP support for PowerNV machines. 3 * 4 * Copyright 2011 IBM Corp. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 16 unchanged lines hidden (view full) --- 25#include <asm/machdep.h> 26#include <asm/cputable.h> 27#include <asm/firmware.h> 28#include <asm/rtas.h> 29#include <asm/vdso_datapage.h> 30#include <asm/cputhreads.h> 31#include <asm/xics.h> 32#include <asm/opal.h> | 1/* 2 * SMP support for PowerNV machines. 3 * 4 * Copyright 2011 IBM Corp. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 16 unchanged lines hidden (view full) --- 25#include <asm/machdep.h> 26#include <asm/cputable.h> 27#include <asm/firmware.h> 28#include <asm/rtas.h> 29#include <asm/vdso_datapage.h> 30#include <asm/cputhreads.h> 31#include <asm/xics.h> 32#include <asm/opal.h> |
33#include <asm/code-patching.h> |
|
33 34#include "powernv.h" 35 36#ifdef DEBUG 37#include <asm/udbg.h> 38#define DBG(fmt...) udbg_printf(fmt) 39#else 40#define DBG(fmt...) 41#endif 42 43static void pnv_smp_setup_cpu(int cpu) 44{ 45 if (cpu != boot_cpuid) 46 xics_setup_cpu(); 47} 48 49int pnv_smp_kick_cpu(int nr) 50{ 51 unsigned int pcpu = get_hard_smp_processor_id(nr); | 34 35#include "powernv.h" 36 37#ifdef DEBUG 38#include <asm/udbg.h> 39#define DBG(fmt...) udbg_printf(fmt) 40#else 41#define DBG(fmt...) 42#endif 43 44static void pnv_smp_setup_cpu(int cpu) 45{ 46 if (cpu != boot_cpuid) 47 xics_setup_cpu(); 48} 49 50int pnv_smp_kick_cpu(int nr) 51{ 52 unsigned int pcpu = get_hard_smp_processor_id(nr); |
52 unsigned long start_here = __pa(*((unsigned long *) 53 generic_secondary_smp_init)); | 53 unsigned long start_here = 54 __pa(ppc_function_entry(generic_secondary_smp_init)); |
54 long rc; 55 56 BUG_ON(nr < 0 || nr >= NR_CPUS); 57 58 /* 59 * If we already started or OPALv2 is not supported, we just 60 * kick the CPU via the PACA 61 */ --- 148 unchanged lines hidden --- | 55 long rc; 56 57 BUG_ON(nr < 0 || nr >= NR_CPUS); 58 59 /* 60 * If we already started or OPALv2 is not supported, we just 61 * kick the CPU via the PACA 62 */ --- 148 unchanged lines hidden --- |