Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

ppc/kernel/traps.c File Reference

#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/stddef.h>
#include <linux/unistd.h>
#include <linux/ptrace.h>
#include <linux/malloc.h>
#include <linux/user.h>
#include <linux/a.out.h>
#include <linux/interrupt.h>
#include <linux/config.h>
#include <linux/init.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/processor.h>

Include dependency graph for ppc/kernel/traps.c:

Go to the source code of this file.

Defines

#define INST_MFSPR_PVR   0x7c1f42a6
#define INST_MFSPR_PVR_MASK   0xfc1fffff

Functions

int fix_alignment (struct pt_regs *)
void bad_page_fault (struct pt_regs *, unsigned long)
void _exception (int signr, struct pt_regs *regs)
void MachineCheckException (struct pt_regs *regs)
void UnknownException (struct pt_regs *regs)
void InstructionBreakpoint (struct pt_regs *regs)
void RunModeException (struct pt_regs *regs)
static int emulate_instruction (struct pt_regs *regs)
void ProgramCheckException (struct pt_regs *regs)
void SingleStepException (struct pt_regs *regs)
void AlignmentException (struct pt_regs *regs)
void StackOverflow (struct pt_regs *regs)
void trace_syscall (struct pt_regs *regs)
void TAUException (struct pt_regs *regs)
 __initfunc (void trap_init(void))


Define Documentation

#define INST_MFSPR_PVR   0x7c1f42a6
 

Definition at line 169 of file ppc/kernel/traps.c.

Referenced by emulate_instruction().

#define INST_MFSPR_PVR_MASK   0xfc1fffff
 

Definition at line 170 of file ppc/kernel/traps.c.

Referenced by emulate_instruction().


Function Documentation

__initfunc void   trap_init(void)  ) 
 

Definition at line 312 of file ppc/kernel/traps.c.

void _exception int  signr,
struct pt_regs regs
 

Definition at line 73 of file ppc/kernel/traps.c.

References current, debugger, force_sig(), panic(), print_backtrace(), show_regs, and user_mode.

Referenced by AlignmentException(), InstructionBreakpoint(), MachineCheckException(), ProgramCheckException(), RunModeException(), SingleStepException(), and UnknownException().

Here is the call graph for this function:

void AlignmentException struct pt_regs regs  ) 
 

Definition at line 238 of file ppc/kernel/traps.c.

References _exception(), bad_page_fault(), current, pt_regs::dar, EFAULT, fix_alignment(), giveup_fpu(), pt_regs::msr, MSR_FP, pt_regs::nip, and SIGBUS.

Here is the call graph for this function:

void bad_page_fault struct pt_regs ,
unsigned  long
 

Referenced by AlignmentException(), and MachineCheckException().

static int emulate_instruction struct pt_regs regs  )  [static]
 

Definition at line 173 of file ppc/kernel/traps.c.

References _get_PVR(), EFAULT, EINVAL, get_user, pt_regs::gpr, INST_MFSPR_PVR, INST_MFSPR_PVR_MASK, pt_regs::nip, rd, uint, and user_mode.

Referenced by ProgramCheckException().

Here is the call graph for this function:

int fix_alignment struct pt_regs  ) 
 

Definition at line 170 of file align.c.

References __get_user, __put_user, addr, current, cvt_df, cvt_fd, d, pt_regs::dar, data, pt_regs::dsisr, EFAULT, enable_kernel_fp(), F, f, aligninfo::flags, giveup_fpu(), pt_regs::gpr, i, l, LD, aligninfo::len, M, pt_regs::msr, MSR_FP, printk, reg, S, SE, ST, SWAP, t, U, user_mode, v, verify_area(), VERIFY_READ, and x80.

Referenced by AlignmentException().

Here is the call graph for this function:

void InstructionBreakpoint struct pt_regs regs  ) 
 

Definition at line 144 of file ppc/kernel/traps.c.

References _exception(), debugger_iabr_match, and SIGTRAP.

Here is the call graph for this function:

void MachineCheckException struct pt_regs regs  ) 
 

Definition at line 88 of file ppc/kernel/traps.c.

References _exception(), bad_page_fault(), debugger, debugger_fault_handler, panic(), print_backtrace(), printk, show_regs, SIGSEGV, and user_mode.

Here is the call graph for this function:

void ProgramCheckException struct pt_regs regs  ) 
 

Definition at line 201 of file ppc/kernel/traps.c.

References _exception(), debugger_bpt, EFAULT, emulate_instruction(), pt_regs::msr, SIGBUS, SIGFPE, SIGILL, SIGTRAP, and x100000.

Here is the call graph for this function:

void RunModeException struct pt_regs regs  ) 
 

Definition at line 154 of file ppc/kernel/traps.c.

References _exception(), and SIGTRAP.

Here is the call graph for this function:

void SingleStepException struct pt_regs regs  ) 
 

Definition at line 227 of file ppc/kernel/traps.c.

References _exception(), debugger_sstep, pt_regs::msr, MSR_SE, and SIGTRAP.

Here is the call graph for this function:

void StackOverflow struct pt_regs regs  ) 
 

Definition at line 258 of file ppc/kernel/traps.c.

References current, debugger, pt_regs::gpr, KERN_CRIT, panic(), print_backtrace(), printk, and show_regs.

Here is the call graph for this function:

void TAUException struct pt_regs regs  ) 
 

Definition at line 306 of file ppc/kernel/traps.c.

References pt_regs::msr, pt_regs::nip, printk, and pt_regs::trap.

void trace_syscall struct pt_regs regs  ) 
 

Definition at line 271 of file ppc/kernel/traps.c.

References pt_regs::ccr, current, pt_regs::gpr, pt_regs::link, pt_regs::nip, and printk.

void UnknownException struct pt_regs regs  ) 
 

Definition at line 136 of file ppc/kernel/traps.c.

References _exception(), pt_regs::msr, pt_regs::nip, printk, SIGTRAP, and pt_regs::trap.

Here is the call graph for this function: