• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/arch/um/include/sysdep-i386/
1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6#ifndef __SYSDEP_I386_PTRACE_USER_H__
7#define __SYSDEP_I386_PTRACE_USER_H__
8
9#include <sys/ptrace.h>
10#include <linux/ptrace.h>
11#include <asm/ptrace.h>
12
13#define PT_OFFSET(r) ((r) * sizeof(long))
14
15#define PT_SYSCALL_NR(regs) ((regs)[ORIG_EAX])
16#define PT_SYSCALL_NR_OFFSET PT_OFFSET(ORIG_EAX)
17
18#define PT_SYSCALL_ARG1_OFFSET PT_OFFSET(EBX)
19#define PT_SYSCALL_ARG2_OFFSET PT_OFFSET(ECX)
20#define PT_SYSCALL_ARG3_OFFSET PT_OFFSET(EDX)
21#define PT_SYSCALL_ARG4_OFFSET PT_OFFSET(ESI)
22#define PT_SYSCALL_ARG5_OFFSET PT_OFFSET(EDI)
23#define PT_SYSCALL_ARG6_OFFSET PT_OFFSET(EBP)
24
25#define PT_SYSCALL_RET_OFFSET PT_OFFSET(EAX)
26
27#define REGS_SYSCALL_NR EAX /* This is used before a system call */
28#define REGS_SYSCALL_ARG1 EBX
29#define REGS_SYSCALL_ARG2 ECX
30#define REGS_SYSCALL_ARG3 EDX
31#define REGS_SYSCALL_ARG4 ESI
32#define REGS_SYSCALL_ARG5 EDI
33#define REGS_SYSCALL_ARG6 EBP
34
35#define REGS_IP_INDEX EIP
36#define REGS_SP_INDEX UESP
37
38#define PT_IP_OFFSET PT_OFFSET(EIP)
39#define PT_IP(regs) ((regs)[EIP])
40#define PT_SP_OFFSET PT_OFFSET(UESP)
41#define PT_SP(regs) ((regs)[UESP])
42
43#ifndef FRAME_SIZE
44#define FRAME_SIZE (17)
45#endif
46#define FRAME_SIZE_OFFSET (FRAME_SIZE * sizeof(unsigned long))
47
48#define FP_FRAME_SIZE (27)
49#define FPX_FRAME_SIZE (128)
50
51#ifdef PTRACE_GETREGS
52#define UM_HAVE_GETREGS
53#endif
54
55#ifdef PTRACE_SETREGS
56#define UM_HAVE_SETREGS
57#endif
58
59#ifdef PTRACE_GETFPREGS
60#define UM_HAVE_GETFPREGS
61#endif
62
63#ifdef PTRACE_SETFPREGS
64#define UM_HAVE_SETFPREGS
65#endif
66
67#ifdef PTRACE_GETFPXREGS
68#define UM_HAVE_GETFPXREGS
69#endif
70
71#ifdef PTRACE_SETFPXREGS
72#define UM_HAVE_SETFPXREGS
73#endif
74
75#endif
76