ptrace.h (e5451c8f8330e03ad3cfa16048b4daf961af434f) ptrace.h (64e2a42bca12e408f0258c56adcf3595bcd116e7)
1/* written by Philipp Rumpf, Copyright (C) 1999 SuSE GmbH Nuernberg
2** Copyright (C) 2000 Grant Grundler, Hewlett-Packard
3*/
4#ifndef _UAPI_PARISC_PTRACE_H
5#define _UAPI_PARISC_PTRACE_H
6
7
8#include <linux/types.h>
9
10/* This struct defines the way the registers are stored on the
11 * stack during a system call.
12 *
13 * N.B. gdb/strace care about the size and offsets within this
14 * structure. If you change things, you may break object compatibility
15 * for those applications.
1/* written by Philipp Rumpf, Copyright (C) 1999 SuSE GmbH Nuernberg
2** Copyright (C) 2000 Grant Grundler, Hewlett-Packard
3*/
4#ifndef _UAPI_PARISC_PTRACE_H
5#define _UAPI_PARISC_PTRACE_H
6
7
8#include <linux/types.h>
9
10/* This struct defines the way the registers are stored on the
11 * stack during a system call.
12 *
13 * N.B. gdb/strace care about the size and offsets within this
14 * structure. If you change things, you may break object compatibility
15 * for those applications.
16 *
17 * Please do NOT use this structure for future programs, but use
18 * user_regs_struct (see below) instead.
19 *
20 * It can be accessed through PTRACE_PEEKUSR/PTRACE_POKEUSR only.
16 */
17
18struct pt_regs {
19 unsigned long gr[32]; /* PSW is in gr[0] */
20 __u64 fr[32];
21 unsigned long sr[ 8];
22 unsigned long iasq[2];
23 unsigned long iaoq[2];

--- 4 unchanged lines hidden (view full) ---

28 unsigned long kpc;
29 unsigned long sar; /* CR11 */
30 unsigned long iir; /* CR19 */
31 unsigned long isr; /* CR20 */
32 unsigned long ior; /* CR21 */
33 unsigned long ipsw; /* CR22 */
34};
35
21 */
22
23struct pt_regs {
24 unsigned long gr[32]; /* PSW is in gr[0] */
25 __u64 fr[32];
26 unsigned long sr[ 8];
27 unsigned long iasq[2];
28 unsigned long iaoq[2];

--- 4 unchanged lines hidden (view full) ---

33 unsigned long kpc;
34 unsigned long sar; /* CR11 */
35 unsigned long iir; /* CR19 */
36 unsigned long isr; /* CR20 */
37 unsigned long ior; /* CR21 */
38 unsigned long ipsw; /* CR22 */
39};
40
41/**
42 * struct user_regs_struct - User general purpose registers
43 *
44 * This is the user-visible general purpose register state structure
45 * which is used to define the elf_gregset_t.
46 *
47 * It can be accessed through PTRACE_GETREGSET with NT_PRSTATUS
48 * and through PTRACE_GETREGS.
49 */
50struct user_regs_struct {
51 unsigned long gr[32]; /* PSW is in gr[0] */
52 unsigned long sr[8];
53 unsigned long iaoq[2];
54 unsigned long iasq[2];
55 unsigned long sar; /* CR11 */
56 unsigned long iir; /* CR19 */
57 unsigned long isr; /* CR20 */
58 unsigned long ior; /* CR21 */
59 unsigned long ipsw; /* CR22 */
60 unsigned long cr0;
61 unsigned long cr24, cr25, cr26, cr27, cr28, cr29, cr30, cr31;
62 unsigned long cr8, cr9, cr12, cr13, cr10, cr15;
63 unsigned long _pad[80-64]; /* pad to ELF_NGREG (80) */
64};
65
66/**
67 * struct user_fp_struct - User floating point registers
68 *
69 * This is the user-visible floating point register state structure.
70 * It uses the same layout and size as elf_fpregset_t.
71 *
72 * It can be accessed through PTRACE_GETREGSET with NT_PRFPREG
73 * and through PTRACE_GETFPREGS.
74 */
75struct user_fp_struct {
76 __u64 fr[32];
77};
78
79
36/*
37 * The numbers chosen here are somewhat arbitrary but absolutely MUST
38 * not overlap with any of the number assigned in <linux/ptrace.h>.
39 *
40 * These ones are taken from IA-64 on the assumption that theirs are
41 * the most correct (and we also want to support PTRACE_SINGLEBLOCK
42 * since we have taken branch traps too)
43 */
44#define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */
45
80/*
81 * The numbers chosen here are somewhat arbitrary but absolutely MUST
82 * not overlap with any of the number assigned in <linux/ptrace.h>.
83 *
84 * These ones are taken from IA-64 on the assumption that theirs are
85 * the most correct (and we also want to support PTRACE_SINGLEBLOCK
86 * since we have taken branch traps too)
87 */
88#define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */
89
90#define PTRACE_GETREGS 18
91#define PTRACE_SETREGS 19
92#define PTRACE_GETFPREGS 14
93#define PTRACE_SETFPREGS 15
46
47#endif /* _UAPI_PARISC_PTRACE_H */
94
95#endif /* _UAPI_PARISC_PTRACE_H */