Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
smp.c File Reference
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/spinlock.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/cache.h>
#include <linux/profile.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/err.h>
#include <linux/cpu.h>
#include <linux/smp.h>
#include <linux/seq_file.h>
#include <linux/irq.h>
#include <linux/percpu.h>
#include <linux/clockchips.h>
#include <linux/completion.h>
#include <linux/of.h>
#include <asm/atomic.h>
#include <asm/cacheflush.h>
#include <asm/cputype.h>
#include <asm/mmu_context.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
#include <asm/processor.h>
#include <asm/sections.h>
#include <asm/tlbflush.h>
#include <asm/ptrace.h>

Go to the source code of this file.

Macros

#define S(x, s)   [x - IPI_RESCHEDULE] = s
 

Enumerations

enum  ipi_msg_type {
  IPI_WAKEUP, IPI_TIMER, IPI_RESCHEDULE, IPI_CALL_FUNC,
  IPI_CALL_FUNC_SINGLE, IPI_CPU_STOP, IPI_RESCHEDULE, IPI_CALL_FUNC,
  IPI_CALL_FUNC_SINGLE, IPI_CPU_STOP
}
 

Functions

int __cpuinit __cpu_up (unsigned int cpu, struct task_struct *idle)
 
asmlinkage void __cpuinit secondary_start_kernel (void)
 
void __init smp_cpus_done (unsigned int max_cpus)
 
void __init smp_prepare_boot_cpu (void)
 
void __init smp_init_cpus (void)
 
void __init smp_prepare_cpus (unsigned int max_cpus)
 
void __init set_smp_cross_call (void(*fn)(const struct cpumask *, unsigned int))
 
void arch_send_call_function_ipi_mask (const struct cpumask *mask)
 
void arch_send_call_function_single_ipi (int cpu)
 
void show_ipi_list (struct seq_file *p, int prec)
 
u64 smp_irq_stat_cpu (unsigned int cpu)
 
void handle_IPI (int ipinr, struct pt_regs *regs)
 
void smp_send_reschedule (int cpu)
 
void smp_send_stop (void)
 
int setup_profiling_timer (unsigned int multiplier)
 

Variables

struct secondary_data secondary_data
 
volatile unsigned long secondary_holding_pen_release = -1
 

Macro Definition Documentation

#define S (   x,
  s 
)    [x - IPI_RESCHEDULE] = s

Enumeration Type Documentation

Enumerator:
IPI_WAKEUP 
IPI_TIMER 
IPI_RESCHEDULE 
IPI_CALL_FUNC 
IPI_CALL_FUNC_SINGLE 
IPI_CPU_STOP 
IPI_RESCHEDULE 
IPI_CALL_FUNC 
IPI_CALL_FUNC_SINGLE 
IPI_CPU_STOP 

Definition at line 58 of file smp.c.

Function Documentation

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

Definition at line 124 of file smp.c.

void arch_send_call_function_ipi_mask ( const struct cpumask mask)

Definition at line 326 of file smp.c.

void arch_send_call_function_single_ipi ( int  cpu)

Definition at line 331 of file smp.c.

void handle_IPI ( int  ipinr,
struct pt_regs regs 
)

Definition at line 396 of file smp.c.

asmlinkage void __cpuinit secondary_start_kernel ( void  )

Definition at line 164 of file smp.c.

void __init set_smp_cross_call ( void(*)(const struct cpumask *, unsigned int fn)

Definition at line 321 of file smp.c.

int setup_profiling_timer ( unsigned int  multiplier)

Definition at line 464 of file smp.c.

void show_ipi_list ( struct seq_file p,
int  prec 
)

Definition at line 344 of file smp.c.

void __init smp_cpus_done ( unsigned int  max_cpus)

Definition at line 222 of file smp.c.

void __init smp_init_cpus ( void  )

Definition at line 241 of file smp.c.

u64 smp_irq_stat_cpu ( unsigned int  cpu)

Definition at line 358 of file smp.c.

void __init smp_prepare_boot_cpu ( void  )

Definition at line 231 of file smp.c.

void __init smp_prepare_cpus ( unsigned int  max_cpus)

Definition at line 282 of file smp.c.

void smp_send_reschedule ( int  cpu)

Definition at line 434 of file smp.c.

void smp_send_stop ( void  )

Definition at line 439 of file smp.c.

Variable Documentation

Definition at line 55 of file smp.c.

volatile unsigned long secondary_holding_pen_release = -1

Definition at line 56 of file smp.c.