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