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/sched.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/ptrace.h>
#include <linux/timer.h>
#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/seq_file.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/kdebug.h>
#include <linux/kallsyms.h>
#include <linux/reboot.h>
#include <linux/kprobes.h>
#include <linux/bug.h>
#include <linux/utsname.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <linux/atomic.h>
#include <asm/mathemu.h>
#include <asm/cpcmd.h>
#include <asm/lowcore.h>
#include <asm/debug.h>
#include <asm/ipl.h>
#include "entry.h"

Go to the source code of this file.

Macros

#define stack_pointer   ({ void **sp; asm("la %0,0(15)" : "=&d" (sp)); sp; })
 
#define LONG   "%08lx "
 
#define FOURLONG   "%08lx %08lx %08lx %08lx\n"
 
#define DO_ERROR_INFO(name, signr, sicode, str)
 

Functions

void show_stack (struct task_struct *task, unsigned long *sp)
 
void dump_stack (void)
 
 EXPORT_SYMBOL (dump_stack)
 
void show_registers (struct pt_regs *regs)
 
void show_regs (struct pt_regs *regs)
 
void die (struct pt_regs *regs, const char *str)
 
int is_valid_bugaddr (unsigned long addr)
 
void __kprobes do_per_trap (struct pt_regs *regs)
 
 DO_ERROR_INFO (addressing_exception, DO_ERROR_INFO(SIGILL, ILL_ILLADR,"addressing exception")
 
 DO_ERROR_INFO (specification_exception, SIGILL, ILL_ILLOPN,"specification exception")
 
void __kprobes kernel_stack_overflow (struct pt_regs *regs)
 
void __init trap_init (void)
 

Variables

void(* pgm_check_table [128])(struct pt_regs *regs)
 
int show_unhandled_signals = 1
 

Macro Definition Documentation

#define DO_ERROR_INFO (   name,
  signr,
  sicode,
  str 
)
Value:
static void name(struct pt_regs *regs) \
{ \
do_trap(regs, signr, sicode, str); \
}

Definition at line 362 of file traps.c.

#define FOURLONG   "%08lx %08lx %08lx %08lx\n"

Definition at line 52 of file traps.c.

#define LONG   "%08lx "

Definition at line 51 of file traps.c.

#define stack_pointer   ({ void **sp; asm("la %0,0(15)" : "=&d" (sp)); sp; })

Definition at line 48 of file traps.c.

Function Documentation

void die ( struct pt_regs regs,
const char str 
)

Definition at line 251 of file traps.c.

DO_ERROR_INFO ( addressing_exception  ,
DO_ERROR_INFO(  SIGILL,
ILL_ILLADR  ,
"addressing exception  
)

Definition at line 368 of file traps.c.

DO_ERROR_INFO ( specification_exception  ,
SIGILL  ,
ILL_ILLOPN  ,
"specification exception  
)
void __kprobes do_per_trap ( struct pt_regs regs)

Definition at line 337 of file traps.c.

void dump_stack ( void  )

Definition at line 182 of file traps.c.

EXPORT_SYMBOL ( dump_stack  )
int is_valid_bugaddr ( unsigned long  addr)

Definition at line 300 of file traps.c.

void __kprobes kernel_stack_overflow ( struct pt_regs regs)

Definition at line 623 of file traps.c.

void show_registers ( struct pt_regs regs)

Definition at line 201 of file traps.c.

void show_regs ( struct pt_regs regs)

Definition at line 232 of file traps.c.

void show_stack ( struct task_struct task,
unsigned long sp 
)

Definition at line 148 of file traps.c.

void __init trap_init ( void  )

Definition at line 634 of file traps.c.

Variable Documentation

void(* pgm_check_table[128])(struct pt_regs *regs)

Definition at line 44 of file traps.c.

int show_unhandled_signals = 1

Definition at line 46 of file traps.c.