Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
traps.c File Reference
#include <linux/bug.h>
#include <linux/compiler.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/kallsyms.h>
#include <linux/bootmem.h>
#include <linux/interrupt.h>
#include <linux/ptrace.h>
#include <linux/kgdb.h>
#include <linux/kdebug.h>
#include <linux/kprobes.h>
#include <linux/notifier.h>
#include <linux/kdb.h>
#include <linux/irq.h>
#include <linux/perf_event.h>
#include <asm/bootinfo.h>
#include <asm/branch.h>
#include <asm/break.h>
#include <asm/cop2.h>
#include <asm/cpu.h>
#include <asm/dsp.h>
#include <asm/fpu.h>
#include <asm/fpu_emulator.h>
#include <asm/mipsregs.h>
#include <asm/mipsmtregs.h>
#include <asm/module.h>
#include <asm/pgtable.h>
#include <asm/ptrace.h>
#include <asm/sections.h>
#include <asm/tlbdebug.h>
#include <asm/traps.h>
#include <asm/uaccess.h>
#include <asm/watch.h>
#include <asm/mmu_context.h>
#include <asm/types.h>
#include <asm/stacktrace.h>
#include <asm/uasm.h>

Go to the source code of this file.

Macros

#define OPCODE   0xfc000000
 
#define BASE   0x03e00000
 
#define RT   0x001f0000
 
#define OFFSET   0x0000ffff
 
#define LL   0xc0000000
 
#define SC   0xe0000000
 
#define SPEC0   0x00000000
 
#define SPEC3   0x7c000000
 
#define RD   0x0000f800
 
#define FUNC   0x0000003f
 
#define SYNC   0x0000000f
 
#define RDHWR   0x0000003b
 
#define ERRCTL_PE   0x80000000
 
#define ERRCTL_L2P   0x00800000
 
#define VECTORSPACING   0x100 /* for EI/VI mode */
 

Functions

void check_wait (void)
 
asmlinkage void r4k_wait (void)
 
asmlinkage void rollback_handle_int (void)
 
asmlinkage void handle_int (void)
 
asmlinkage void handle_tlbm (void)
 
asmlinkage void handle_tlbl (void)
 
asmlinkage void handle_tlbs (void)
 
asmlinkage void handle_adel (void)
 
asmlinkage void handle_ades (void)
 
asmlinkage void handle_ibe (void)
 
asmlinkage void handle_dbe (void)
 
asmlinkage void handle_sys (void)
 
asmlinkage void handle_bp (void)
 
asmlinkage void handle_ri (void)
 
asmlinkage void handle_ri_rdhwr_vivt (void)
 
asmlinkage void handle_ri_rdhwr (void)
 
asmlinkage void handle_cpu (void)
 
asmlinkage void handle_ov (void)
 
asmlinkage void handle_tr (void)
 
asmlinkage void handle_fpe (void)
 
asmlinkage void handle_mdmx (void)
 
asmlinkage void handle_watch (void)
 
asmlinkage void handle_mt (void)
 
asmlinkage void handle_dsp (void)
 
asmlinkage void handle_mcheck (void)
 
asmlinkage void handle_reserved (void)
 
int fpu_emulator_cop1Handler (struct pt_regs *xcp, struct mips_fpu_struct *ctx, int has_fpu, void *__user *fault_addr)
 
void show_stack (struct task_struct *task, unsigned long *sp)
 
void dump_stack (void)
 
 EXPORT_SYMBOL (dump_stack)
 
void show_regs (struct pt_regs *regs)
 
void show_registers (struct pt_regs *regs)
 
void __noreturn die (const char *str, struct pt_regs *regs)
 
 __asm__ (" .section __dbe_table, \"a\"\n"" .previous \n")
 
asmlinkage void do_be (struct pt_regs *regs)
 
asmlinkage void do_ov (struct pt_regs *regs)
 
asmlinkage void do_fpe (struct pt_regs *regs, unsigned long fcr31)
 
asmlinkage void do_bp (struct pt_regs *regs)
 
asmlinkage void do_tr (struct pt_regs *regs)
 
asmlinkage void do_ri (struct pt_regs *regs)
 
int __ref register_cu2_notifier (struct notifier_block *nb)
 
int cu2_notifier_call_chain (unsigned long val, void *v)
 
asmlinkage void do_cpu (struct pt_regs *regs)
 
asmlinkage void do_mdmx (struct pt_regs *regs)
 
asmlinkage void do_watch (struct pt_regs *regs)
 
asmlinkage void do_mcheck (struct pt_regs *regs)
 
asmlinkage void do_mt (struct pt_regs *regs)
 
asmlinkage void do_dsp (struct pt_regs *regs)
 
asmlinkage void do_reserved (struct pt_regs *regs)
 
 __setup ("nol1par", nol1parity)
 
 __setup ("nol2par", nol2parity)
 
asmlinkage void cache_parity_error (void)
 
void ejtag_exception_handler (struct pt_regs *regs)
 
int register_nmi_notifier (struct notifier_block *nb)
 
void __noreturn nmi_exception_handler (struct pt_regs *regs)
 
void __initset_except_vector (int n, void *addr)
 
voidset_vi_handler (int n, vi_handler_t addr)
 
void tlb_init (void)
 
void flush_tlb_handlers (void)
 
 EXPORT_SYMBOL_GPL (cp0_compare_irq)
 
 EXPORT_SYMBOL_GPL (cp0_perfcount_irq)
 
 __setup ("noulri", ulri_disable)
 
void __cpuinit per_cpu_trap_init (bool is_boot_cpu)
 
void __cpuinit set_handler (unsigned long offset, void *addr, unsigned long size)
 
void __cpuinit set_uncached_handler (unsigned long offset, void *addr, unsigned long size)
 
 __setup ("rdhwr_noopt", set_rdhwr_noopt)
 
void __init trap_init (void)
 

Variables

void(* board_be_init )(void)
 
int(* board_be_handler )(struct pt_regs *regs, int is_fixup)
 
void(* board_nmi_handler_setup )(void)
 
void(* board_ejtag_handler_setup )(void)
 
void(* board_bind_eic_interrupt )(int irq, int regset)
 
void(* board_ebase_setup )(void)
 
void __cpuinitdata(* board_cache_error_setup )(void)
 
struct exception_table_entry __start___dbe_table []
 
struct exception_table_entry __stop___dbe_table []
 
unsigned int ll_bit
 
struct task_structll_task
 
unsigned long ebase
 
unsigned long exception_handlers [32]
 
unsigned long vi_handlers [64]
 
int cp0_compare_irq
 
int cp0_compare_irq_shift
 
int cp0_perfcount_irq
 

Macro Definition Documentation

#define BASE   0x03e00000

Definition at line 482 of file traps.c.

#define ERRCTL_L2P   0x00800000
#define ERRCTL_PE   0x80000000
#define FUNC   0x0000003f

Definition at line 490 of file traps.c.

#define LL   0xc0000000

Definition at line 485 of file traps.c.

#define OFFSET   0x0000ffff

Definition at line 484 of file traps.c.

#define OPCODE   0xfc000000

Definition at line 481 of file traps.c.

#define RD   0x0000f800

Definition at line 489 of file traps.c.

#define RDHWR   0x0000003b

Definition at line 492 of file traps.c.

#define RT   0x001f0000

Definition at line 483 of file traps.c.

#define SC   0xe0000000

Definition at line 486 of file traps.c.

#define SPEC0   0x00000000

Definition at line 487 of file traps.c.

#define SPEC3   0x7c000000

Definition at line 488 of file traps.c.

#define SYNC   0x0000000f

Definition at line 491 of file traps.c.

#define VECTORSPACING   0x100 /* for EI/VI mode */

Definition at line 1365 of file traps.c.

Function Documentation

__asm__ ( " .section  __dbe_table,
\"a\"\n"" .previous \n  
)
__setup ( "nol1par"  ,
nol1parity   
)
__setup ( "nol2par"  ,
nol2parity   
)
__setup ( "noulri"  ,
ulri_disable   
)
__setup ( "rdhwr_noopt"  ,
set_rdhwr_noopt   
)
asmlinkage void cache_parity_error ( void  )

Definition at line 1275 of file traps.c.

void check_wait ( void  )

Definition at line 153 of file cpu-probe.c.

int cu2_notifier_call_chain ( unsigned long  val,
void v 
)

Definition at line 959 of file traps.c.

void __noreturn die ( const char str,
struct pt_regs regs 
)

Definition at line 373 of file traps.c.

asmlinkage void do_be ( struct pt_regs regs)

Definition at line 433 of file traps.c.

asmlinkage void do_bp ( struct pt_regs regs)

Definition at line 822 of file traps.c.

asmlinkage void do_cpu ( struct pt_regs regs)

Definition at line 982 of file traps.c.

asmlinkage void do_dsp ( struct pt_regs regs)

Definition at line 1154 of file traps.c.

asmlinkage void do_fpe ( struct pt_regs regs,
unsigned long  fcr31 
)

Definition at line 701 of file traps.c.

asmlinkage void do_mcheck ( struct pt_regs regs)

Definition at line 1090 of file traps.c.

asmlinkage void do_mdmx ( struct pt_regs regs)

Definition at line 1055 of file traps.c.

asmlinkage void do_mt ( struct pt_regs regs)

Definition at line 1118 of file traps.c.

asmlinkage void do_ov ( struct pt_regs regs)

Definition at line 661 of file traps.c.

asmlinkage void do_reserved ( struct pt_regs regs)

Definition at line 1162 of file traps.c.

asmlinkage void do_ri ( struct pt_regs regs)

Definition at line 883 of file traps.c.

asmlinkage void do_tr ( struct pt_regs regs)

Definition at line 865 of file traps.c.

asmlinkage void do_watch ( struct pt_regs regs)

Definition at line 1063 of file traps.c.

void dump_stack ( void  )

Definition at line 211 of file traps.c.

void ejtag_exception_handler ( struct pt_regs regs)

Definition at line 1314 of file traps.c.

EXPORT_SYMBOL ( dump_stack  )
EXPORT_SYMBOL_GPL ( cp0_compare_irq  )
EXPORT_SYMBOL_GPL ( cp0_perfcount_irq  )
void flush_tlb_handlers ( void  )

Definition at line 2189 of file tlbex.c.

int fpu_emulator_cop1Handler ( struct pt_regs xcp,
struct mips_fpu_struct ctx,
int  has_fpu,
void *__user fault_addr 
)

Definition at line 1311 of file cp1emu.c.

asmlinkage void handle_adel ( void  )
asmlinkage void handle_ades ( void  )
asmlinkage void handle_bp ( void  )
asmlinkage void handle_cpu ( void  )
asmlinkage void handle_dbe ( void  )
asmlinkage void handle_dsp ( void  )
asmlinkage void handle_fpe ( void  )
asmlinkage void handle_ibe ( void  )
asmlinkage void handle_int ( void  )
asmlinkage void handle_mcheck ( void  )
asmlinkage void handle_mdmx ( void  )
asmlinkage void handle_mt ( void  )
asmlinkage void handle_ov ( void  )
asmlinkage void handle_reserved ( void  )
asmlinkage void handle_ri ( void  )
asmlinkage void handle_ri_rdhwr ( void  )
asmlinkage void handle_ri_rdhwr_vivt ( void  )
asmlinkage void handle_sys ( void  )
asmlinkage void handle_tlbl ( void  )
u32 handle_tlbm ( void  )

Definition at line 1450 of file tlbex.c.

u32 handle_tlbs ( void  )

Definition at line 1449 of file tlbex.c.

asmlinkage void handle_tr ( void  )
asmlinkage void handle_watch ( void  )
void __noreturn nmi_exception_handler ( struct pt_regs regs)

Definition at line 1357 of file traps.c.

void __cpuinit per_cpu_trap_init ( bool  is_boot_cpu)

Definition at line 1526 of file traps.c.

asmlinkage void r4k_wait ( void  )
int __ref register_cu2_notifier ( struct notifier_block nb)

Definition at line 954 of file traps.c.

int register_nmi_notifier ( struct notifier_block nb)

Definition at line 1352 of file traps.c.

asmlinkage void rollback_handle_int ( void  )
void __init* set_except_vector ( int  n,
void addr 
)

Definition at line 1371 of file traps.c.

void __cpuinit set_handler ( unsigned long  offset,
void addr,
unsigned long  size 
)

Definition at line 1643 of file traps.c.

void __cpuinit set_uncached_handler ( unsigned long  offset,
void addr,
unsigned long  size 
)

Definition at line 1657 of file traps.c.

void* set_vi_handler ( int  n,
vi_handler_t  addr 
)

Definition at line 1494 of file traps.c.

void show_registers ( struct pt_regs regs)

Definition at line 344 of file traps.c.

void show_regs ( struct pt_regs regs)

Definition at line 339 of file traps.c.

void show_stack ( struct task_struct task,
unsigned long sp 
)

Definition at line 184 of file traps.c.

void tlb_init ( void  )

Definition at line 98 of file tlb.c.

void __init trap_init ( void  )

Definition at line 1677 of file traps.c.

Variable Documentation

struct exception_table_entry __start___dbe_table[]
struct exception_table_entry __stop___dbe_table[]
int(* board_be_handler)(struct pt_regs *regs, int is_fixup)

Definition at line 90 of file traps.c.

void(* board_be_init)(void)

Definition at line 89 of file traps.c.

void(* board_bind_eic_interrupt)(int irq, int regset)

Definition at line 93 of file traps.c.

void __cpuinitdata(* board_cache_error_setup)(void)

Definition at line 95 of file traps.c.

void(* board_ebase_setup)(void)

Definition at line 94 of file traps.c.

void(* board_ejtag_handler_setup)(void)

Definition at line 92 of file traps.c.

void(* board_nmi_handler_setup)(void)

Definition at line 91 of file traps.c.

int cp0_compare_irq

Definition at line 1505 of file traps.c.

int cp0_compare_irq_shift

Definition at line 1507 of file traps.c.

int cp0_perfcount_irq

Definition at line 1512 of file traps.c.

unsigned long ebase

Definition at line 1367 of file traps.c.

unsigned long exception_handlers[32]

Definition at line 1368 of file traps.c.

unsigned int ll_bit

Definition at line 498 of file traps.c.

struct task_struct* ll_task

Definition at line 499 of file traps.c.

unsigned long vi_handlers[64]

Definition at line 1369 of file traps.c.