~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-mips/ptrace.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* $Id: ptrace.h,v 1.7 1999/09/28 22:27:17 ralf Exp $
  2  *
  3  * This file is subject to the terms and conditions of the GNU General Public
  4  * License.  See the file "COPYING" in the main directory of this archive
  5  * for more details.
  6  *
  7  * Copyright (C) 1994, 1995, 1996, 1997, 1998 by Ralf Baechle
  8  *
  9  * Machine dependent structs and defines to help the user use
 10  * the ptrace system call.
 11  */
 12 #ifndef __ASM_MIPS_PTRACE_H
 13 #define __ASM_MIPS_PTRACE_H
 14 
 15 #include <asm/isadep.h>
 16 #include <linux/types.h>
 17 
 18 /* 0 - 31 are integer registers, 32 - 63 are fp registers.  */
 19 #define FPR_BASE        32
 20 #define PC              64
 21 #define CAUSE           65
 22 #define BADVADDR        66
 23 #define MMHI            67
 24 #define MMLO            68
 25 #define FPC_CSR         69
 26 #define FPC_EIR         70
 27 
 28 #ifndef _LANGUAGE_ASSEMBLY
 29 /*
 30  * This struct defines the way the registers are stored on the stack during a
 31  * system call/exception. As usual the registers k0/k1 aren't being saved.
 32  */
 33 struct pt_regs {
 34         /* Pad bytes for argument save space on the stack. */
 35         unsigned long pad0[6];
 36 
 37         /* Saved main processor registers. */
 38         unsigned long regs[32];
 39 
 40         /* Other saved registers. */
 41         unsigned long lo;
 42         unsigned long hi;
 43 
 44         /*
 45          * saved cp0 registers
 46          */
 47         unsigned long cp0_epc;
 48         unsigned long cp0_badvaddr;
 49         unsigned long cp0_status;
 50         unsigned long cp0_cause;
 51 };
 52 
 53 #endif /* !(_LANGUAGE_ASSEMBLY) */
 54 
 55 #ifdef _LANGUAGE_ASSEMBLY
 56 #include <asm/offset.h>
 57 #endif
 58 
 59 #ifdef __KERNEL__
 60 
 61 #ifndef _LANGUAGE_ASSEMBLY
 62 /*
 63  * Does the process account for user or for system time?
 64  */
 65 #define user_mode(regs) (((regs)->cp0_status & KU_MASK) == KU_USER)
 66 
 67 #define instruction_pointer(regs) ((regs)->cp0_epc)
 68 
 69 extern void show_regs(struct pt_regs *);
 70 #endif /* !(_LANGUAGE_ASSEMBLY) */
 71 
 72 #endif
 73 
 74 #endif /* __ASM_MIPS_PTRACE_H */
 75 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.