smp.c (38fd2c202a3d82bc12430bce5789fa2c2a406f71) smp.c (2751b628c97e66e61f482935ca59148751972941)
1/*
2 * SMP support for pSeries machines.
3 *
4 * Dave Engebretsen, Peter Bergner, and
5 * Mike Corrigan {engebret|bergner|mikec}@us.ibm.com
6 *
7 * Plus various changes from other IBM teams...
8 *

--- 30 unchanged lines hidden (view full) ---

39#include <asm/firmware.h>
40#include <asm/rtas.h>
41#include <asm/mpic.h>
42#include <asm/vdso_datapage.h>
43#include <asm/cputhreads.h>
44#include <asm/xics.h>
45#include <asm/dbell.h>
46#include <asm/plpar_wrappers.h>
1/*
2 * SMP support for pSeries machines.
3 *
4 * Dave Engebretsen, Peter Bergner, and
5 * Mike Corrigan {engebret|bergner|mikec}@us.ibm.com
6 *
7 * Plus various changes from other IBM teams...
8 *

--- 30 unchanged lines hidden (view full) ---

39#include <asm/firmware.h>
40#include <asm/rtas.h>
41#include <asm/mpic.h>
42#include <asm/vdso_datapage.h>
43#include <asm/cputhreads.h>
44#include <asm/xics.h>
45#include <asm/dbell.h>
46#include <asm/plpar_wrappers.h>
47#include <asm/code-patching.h>
47
48#include "pseries.h"
49#include "offline_states.h"
50
51
52/*
53 * The Primary thread of each non-boot processor was started from the OF client
54 * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop.

--- 36 unchanged lines hidden (view full) ---

91 *
92 * Returns:
93 * 0 - failure
94 * 1 - success
95 */
96static inline int smp_startup_cpu(unsigned int lcpu)
97{
98 int status;
48
49#include "pseries.h"
50#include "offline_states.h"
51
52
53/*
54 * The Primary thread of each non-boot processor was started from the OF client
55 * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop.

--- 36 unchanged lines hidden (view full) ---

92 *
93 * Returns:
94 * 0 - failure
95 * 1 - success
96 */
97static inline int smp_startup_cpu(unsigned int lcpu)
98{
99 int status;
99 unsigned long start_here = __pa((u32)*((unsigned long *)
100 generic_secondary_smp_init));
100 unsigned long start_here =
101 __pa(ppc_function_entry(generic_secondary_smp_init));
101 unsigned int pcpu;
102 int start_cpu;
103
104 if (cpumask_test_cpu(lcpu, of_spin_mask))
105 /* Already started by OF and sitting in spin loop */
106 return 1;
107
108 pcpu = get_hard_smp_processor_id(lcpu);

--- 167 unchanged lines hidden ---
102 unsigned int pcpu;
103 int start_cpu;
104
105 if (cpumask_test_cpu(lcpu, of_spin_mask))
106 /* Already started by OF and sitting in spin loop */
107 return 1;
108
109 pcpu = get_hard_smp_processor_id(lcpu);

--- 167 unchanged lines hidden ---