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 ---