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/module.h>
#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/seq_file.h>
#include <linux/irq.h>
#include <linux/percpu.h>
#include <linux/clockchips.h>
#include <linux/completion.h>
#include <linux/cpufreq.h>
#include <linux/atomic.h>
#include <asm/smp.h>
#include <asm/cacheflush.h>
#include <asm/cpu.h>
#include <asm/cputype.h>
#include <asm/exception.h>
#include <asm/idmap.h>
#include <asm/topology.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>
#include <asm/localtimer.h>
#include <asm/smp_plat.h>
#include <asm/virt.h>
#include <asm/mach/arch.h>

Go to the source code of this file.

Macros

#define S(x, s)   [x] = s
 
#define smp_timer_broadcast   NULL
 

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

void __init smp_set_ops (struct smp_operations *ops)
 
int __cpuinit __cpu_up (unsigned int cpu, struct task_struct *idle)
 
void __init smp_init_cpus (void)
 
int __cpuinit boot_secondary (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_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)
 
asmlinkage void
__exception_irq_entry 
do_IPI (int ipinr, struct pt_regs *regs)
 
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 int __cpuinitdata pen_release = -1
 

Macro Definition Documentation

#define S (   x,
  s 
)    [x] = s
#define smp_timer_broadcast   NULL

Definition at line 482 of file smp.c.

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 62 of file smp.c.

Function Documentation

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

Definition at line 81 of file smp.c.

void arch_send_call_function_ipi_mask ( const struct cpumask mask)

Definition at line 419 of file smp.c.

void arch_send_call_function_single_ipi ( int  cpu)

Definition at line 424 of file smp.c.

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

Definition at line 140 of file smp.c.

asmlinkage void __exception_irq_entry do_IPI ( int  ipinr,
struct pt_regs regs 
)

Definition at line 574 of file smp.c.

void handle_IPI ( int  ipinr,
struct pt_regs regs 
)

Definition at line 579 of file smp.c.

asmlinkage void __cpuinit secondary_start_kernel ( void  )

Definition at line 294 of file smp.c.

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

Definition at line 414 of file smp.c.

int setup_profiling_timer ( unsigned int  multiplier)

Definition at line 667 of file smp.c.

void show_ipi_list ( struct seq_file p,
int  prec 
)

Definition at line 439 of file smp.c.

void __init smp_cpus_done ( unsigned int  max_cpus)

Definition at line 355 of file smp.c.

void __init smp_init_cpus ( void  )

Definition at line 122 of file smp.c.

u64 smp_irq_stat_cpu ( unsigned int  cpu)

Definition at line 454 of file smp.c.

void __init smp_prepare_boot_cpu ( void  )

Definition at line 372 of file smp.c.

void __init smp_prepare_cpus ( unsigned int  max_cpus)

Definition at line 376 of file smp.c.

void smp_send_reschedule ( int  cpu)

Definition at line 627 of file smp.c.

void smp_send_stop ( void  )

Definition at line 643 of file smp.c.

void __init smp_set_ops ( struct smp_operations ops)

Definition at line 75 of file smp.c.

Variable Documentation

volatile int __cpuinitdata pen_release = -1

Definition at line 60 of file smp.c.

Definition at line 54 of file smp.c.