Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
smtc.c File Reference
#include <linux/clockchips.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/cpumask.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/module.h>
#include <linux/ftrace.h>
#include <linux/slab.h>
#include <asm/cpu.h>
#include <asm/processor.h>
#include <linux/atomic.h>
#include <asm/hardirq.h>
#include <asm/hazards.h>
#include <asm/irq.h>
#include <asm/mmu_context.h>
#include <asm/mipsregs.h>
#include <asm/cacheflush.h>
#include <asm/time.h>
#include <asm/addrspace.h>
#include <asm/smtc.h>
#include <asm/smtc_proc.h>

Go to the source code of this file.

Macros

#define LOCK_MT_PRA()
 
#define UNLOCK_MT_PRA()
 
#define LOCK_CORE_PRA()
 
#define UNLOCK_CORE_PRA()
 
#define IPIBUF_PER_CPU   4
 
#define CP0_SKEW   8
 

Functions

void ipi_decode (struct smtc_ipi *)
 
void init_smtc_stats (void)
 
 __setup ("vpe0tcs=", vpe0tcs)
 
 __setup ("nostlb", stlb_disable)
 
int __init smtc_build_cpu_map (int start_cpu_slot)
 
void smtc_prepare_cpus (int cpus)
 
void __cpuinit smtc_boot_secondary (int cpu, struct task_struct *idle)
 
void smtc_init_secondary (void)
 
void smtc_smp_finish (void)
 
void smtc_cpus_done (void)
 
int setup_irq_smtc (unsigned int irq, struct irqaction *new, unsigned long hwmask)
 
void smtc_send_ipi (int cpu, int type, unsigned int action)
 
 DECLARE_PER_CPU (struct clock_event_device, mips_clockevent_device)
 
void deferred_smtc_ipi (void)
 
void smtc_ipi_replay (void)
 
 EXPORT_SYMBOL (smtc_ipi_replay)
 
void smtc_idle_loop_hook (void)
 
void smtc_soft_dump (void)
 
void smtc_get_new_mmu_context (struct mm_struct *mm, unsigned long cpu)
 
void smtc_flush_tlb_asid (unsigned long asid)
 
void smtc_cflush_lockdown (void)
 
void smtc_cflush_release (void)
 

Variables

unsigned long irq_hwmask [NR_IRQS]
 
asiduse smtc_live_asid [MAX_SMTC_TLBS][MAX_SMTC_ASIDS]
 
struct smtc_ipi_q IPIQ [NR_CPUS]
 
unsigned int smtc_status
 
unsigned long smtc_asid_mask = 0xff
 

Macro Definition Documentation

#define CP0_SKEW   8

Definition at line 395 of file smtc.c.

#define IPIBUF_PER_CPU   4

Definition at line 83 of file smtc.c.

#define LOCK_CORE_PRA ( )
Value:
mtflags = dvpe()

Definition at line 60 of file smtc.c.

#define LOCK_MT_PRA ( )
Value:
mtflags = dmt()

Definition at line 52 of file smtc.c.

#define UNLOCK_CORE_PRA ( )
Value:
evpe(mtflags); \
local_irq_restore(flags)

Definition at line 64 of file smtc.c.

#define UNLOCK_MT_PRA ( )
Value:
emt(mtflags); \
local_irq_restore(flags)

Definition at line 56 of file smtc.c.

Function Documentation

__setup ( )
__setup ( "nostlb"  ,
stlb_disable   
)
DECLARE_PER_CPU ( struct clock_event_device  ,
mips_clockevent_device   
)
void deferred_smtc_ipi ( void  )

Definition at line 1062 of file smtc.c.

EXPORT_SYMBOL ( smtc_ipi_replay  )
void init_smtc_stats ( void  )

Definition at line 78 of file smtc-proc.c.

void ipi_decode ( struct smtc_ipi pipi)

Definition at line 1016 of file smtc.c.

int setup_irq_smtc ( unsigned int  irq,
struct irqaction new,
unsigned long  hwmask 
)

Definition at line 713 of file smtc.c.

void __cpuinit smtc_boot_secondary ( int  cpu,
struct task_struct idle 
)

Definition at line 646 of file smtc.c.

int __init smtc_build_cpu_map ( int  start_cpu_slot)

Definition at line 304 of file smtc.c.

void smtc_cflush_lockdown ( void  )

Definition at line 1495 of file smtc.c.

void smtc_cflush_release ( void  )

Definition at line 1511 of file smtc.c.

void smtc_cpus_done ( void  )

Definition at line 699 of file smtc.c.

void smtc_flush_tlb_asid ( unsigned long  asid)

Definition at line 1449 of file smtc.c.

void smtc_get_new_mmu_context ( struct mm_struct mm,
unsigned long  cpu 
)

Definition at line 1370 of file smtc.c.

void smtc_idle_loop_hook ( void  )

Definition at line 1263 of file smtc.c.

void smtc_init_secondary ( void  )

Definition at line 676 of file smtc.c.

void smtc_ipi_replay ( void  )

Definition at line 1220 of file smtc.c.

void smtc_prepare_cpus ( int  cpus)

Definition at line 397 of file smtc.c.

void smtc_send_ipi ( int  cpu,
int  type,
unsigned int  action 
)

Definition at line 853 of file smtc.c.

void smtc_smp_finish ( void  )

Definition at line 680 of file smtc.c.

void smtc_soft_dump ( void  )

Definition at line 1348 of file smtc.c.

Variable Documentation

Definition at line 85 of file smtc.c.

unsigned long irq_hwmask[NR_IRQS]

Definition at line 50 of file smtc.c.

unsigned long smtc_asid_mask = 0xff

Definition at line 113 of file smtc.c.

Definition at line 77 of file smtc.c.

unsigned int smtc_status

Definition at line 105 of file smtc.c.