Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
smpboot.c File Reference
#include <linux/module.h>
#include <linux/acpi.h>
#include <linux/bootmem.h>
#include <linux/cpu.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/kernel_stat.h>
#include <linux/mm.h>
#include <linux/notifier.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/efi.h>
#include <linux/percpu.h>
#include <linux/bitops.h>
#include <linux/atomic.h>
#include <asm/cache.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/machvec.h>
#include <asm/mca.h>
#include <asm/page.h>
#include <asm/paravirt.h>
#include <asm/pgalloc.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
#include <asm/sal.h>
#include <asm/tlbflush.h>
#include <asm/unistd.h>
#include <asm/sn/arch.h>

Go to the source code of this file.

Macros

#define SMP_DEBUG   0
 
#define Dprintk(x...)
 
#define set_brendez_area(x)
 
#define MASTER   (0)
 
#define SLAVE   (SMP_CACHE_BYTES/8)
 
#define NUM_ROUNDS   64 /* magic value */
 
#define NUM_ITERS   5 /* likewise */
 
#define DEBUG_ITC_SYNC   0
 
#define CPEI_OVERRIDE_DEFAULT   (0)
 

Functions

void start_ap (void)
 
 DEFINE_PER_CPU (int, cpu_state)
 
 EXPORT_SYMBOL (cpu_core_map)
 
 DEFINE_PER_CPU_SHARED_ALIGNED (cpumask_t, cpu_sibling_map)
 
 EXPORT_PER_CPU_SYMBOL (cpu_sibling_map)
 
 EXPORT_SYMBOL (ia64_cpu_to_sapicid)
 
 __setup ("force_cpei=", cmdl_force_cpei)
 
 __setup ("nointroute", nointroute)
 
void sync_master (void *arg)
 
void ia64_sync_itc (unsigned int master)
 
int __cpuinit start_secondary (void *unused)
 
struct pt_regs *__cpuinit idle_regs (struct pt_regs *regs)
 
void __init smp_build_cpu_map (void)
 
void __init smp_prepare_cpus (unsigned int max_cpus)
 
void __devinit smp_prepare_boot_cpu (void)
 
void smp_cpus_done (unsigned int dummy)
 
int __cpuinit __cpu_up (unsigned int cpu, struct task_struct *tidle)
 
void __init init_smp_config (void)
 
void __devinit identify_siblings (struct cpuinfo_ia64 *c)
 
int is_multithreading_enabled (void)
 
 EXPORT_SYMBOL_GPL (is_multithreading_enabled)
 

Variables

unsigned long ia64_iobase
 
struct task_structtask_for_booting_cpu
 
cpumask_t cpu_core_map[NR_CPUS__cacheline_aligned
 
int smp_num_siblings = 1
 
volatile int ia64_cpu_to_sapicid [NR_CPUS]
 
struct smp_boot_data smp_boot_data __initdata
 
unsigned long ap_wakeup_vector = -1
 
char __initdata no_int_routing
 
unsigned char smp_int_redirect
 
unsigned int force_cpei_retarget = CPEI_OVERRIDE_DEFAULT
 

Macro Definition Documentation

#define CPEI_OVERRIDE_DEFAULT   (0)

Definition at line 143 of file smpboot.c.

#define DEBUG_ITC_SYNC   0

Definition at line 107 of file smpboot.c.

#define Dprintk (   x...)

Definition at line 67 of file smpboot.c.

#define MASTER   (0)

Definition at line 98 of file smpboot.c.

#define NUM_ITERS   5 /* likewise */

Definition at line 102 of file smpboot.c.

#define NUM_ROUNDS   64 /* magic value */

Definition at line 101 of file smpboot.c.

#define set_brendez_area (   x)

Definition at line 91 of file smpboot.c.

#define SLAVE   (SMP_CACHE_BYTES/8)

Definition at line 99 of file smpboot.c.

#define SMP_DEBUG   0

Definition at line 62 of file smpboot.c.

Function Documentation

int __cpuinit __cpu_up ( unsigned int  cpu,
struct task_struct tidle 
)

Definition at line 739 of file smpboot.c.

__setup ( )
__setup ( "nointroute"  ,
nointroute   
)
DEFINE_PER_CPU ( int  ,
cpu_state   
)
DEFINE_PER_CPU_SHARED_ALIGNED ( cpumask_t  ,
cpu_sibling_map   
)
EXPORT_PER_CPU_SYMBOL ( cpu_sibling_map  )
EXPORT_SYMBOL ( cpu_core_map  )
EXPORT_SYMBOL ( ia64_cpu_to_sapicid  )
EXPORT_SYMBOL_GPL ( is_multithreading_enabled  )
void ia64_sync_itc ( unsigned int  master)

Definition at line 278 of file smpboot.c.

void __devinit identify_siblings ( struct cpuinfo_ia64 c)

Definition at line 802 of file smpboot.c.

struct pt_regs* __cpuinit idle_regs ( struct pt_regs regs)
read

Definition at line 463 of file smpboot.c.

void __init init_smp_config ( void  )

Definition at line 780 of file smpboot.c.

int is_multithreading_enabled ( void  )

Definition at line 850 of file smpboot.c.

void __init smp_build_cpu_map ( void  )

Definition at line 513 of file smpboot.c.

void smp_cpus_done ( unsigned int  dummy)

Definition at line 704 of file smpboot.c.

void __devinit smp_prepare_boot_cpu ( void  )

Definition at line 571 of file smpboot.c.

void __init smp_prepare_cpus ( unsigned int  max_cpus)

Definition at line 540 of file smpboot.c.

void start_ap ( void  )
int __init start_secondary ( void unused)

Definition at line 447 of file smpboot.c.

void sync_master ( void arg)

Definition at line 193 of file smpboot.c.

Variable Documentation

cpumask_t cpu_core_map [NR_CPUS] __cacheline_aligned

Definition at line 119 of file smpboot.c.

struct smp_boot_data smp_boot_data __initdata

Definition at line 132 of file smpboot.c.

unsigned long ap_wakeup_vector = -1

Definition at line 134 of file smpboot.c.

unsigned int force_cpei_retarget = CPEI_OVERRIDE_DEFAULT

Definition at line 146 of file smpboot.c.

volatile int ia64_cpu_to_sapicid[NR_CPUS]

Definition at line 127 of file smpboot.c.

unsigned long ia64_iobase

Definition at line 100 of file setup.c.

char __initdata no_int_routing

Definition at line 136 of file smpboot.c.

unsigned char smp_int_redirect

Definition at line 138 of file smpboot.c.

int smp_num_siblings = 1

Definition at line 124 of file smpboot.c.

struct task_struct* task_for_booting_cpu

Definition at line 112 of file smpboot.c.