Deleted Added
full compact
reg.h (45270) reg.h (46129)
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * from: @(#)reg.h 5.5 (Berkeley) 1/18/91
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * from: @(#)reg.h 5.5 (Berkeley) 1/18/91
37 * $Id: reg.h,v 1.16 1998/09/14 22:43:40 jdp Exp $
37 * $Id: reg.h,v 1.17 1999/04/03 22:19:59 jdp Exp $
38 */
39
40#ifndef _MACHINE_REG_H_
41#define _MACHINE_REG_H_
42
43/*
44 * Indices for registers in `struct trapframe' and `struct regs'.
45 *
46 * This interface is deprecated. In the kernel, it is only used in FPU
47 * emulators to convert from register numbers encoded in instructions to
48 * register values. Everything else just accesses the relevant struct
49 * members. In userland, debuggers tend to abuse this interface since
50 * they don't understand that `struct regs' is a struct. I hope they have
51 * stopped accessing the registers in the trap frame via PT_{READ,WRITE}_U
52 * and we can stop supporting the user area soon.
53 */
38 */
39
40#ifndef _MACHINE_REG_H_
41#define _MACHINE_REG_H_
42
43/*
44 * Indices for registers in `struct trapframe' and `struct regs'.
45 *
46 * This interface is deprecated. In the kernel, it is only used in FPU
47 * emulators to convert from register numbers encoded in instructions to
48 * register values. Everything else just accesses the relevant struct
49 * members. In userland, debuggers tend to abuse this interface since
50 * they don't understand that `struct regs' is a struct. I hope they have
51 * stopped accessing the registers in the trap frame via PT_{READ,WRITE}_U
52 * and we can stop supporting the user area soon.
53 */
54#define tES (0)
55#define tDS (1)
56#define tEDI (2)
57#define tESI (3)
58#define tEBP (4)
59#define tISP (5)
60#define tEBX (6)
61#define tEDX (7)
62#define tECX (8)
63#define tEAX (9)
64#define tERR (11)
65#define tEIP (12)
66#define tCS (13)
67#define tEFLAGS (14)
68#define tESP (15)
69#define tSS (16)
54#define tFS (0)
55#define tES (1)
56#define tDS (2)
57#define tEDI (3)
58#define tESI (4)
59#define tEBP (5)
60#define tISP (6)
61#define tEBX (7)
62#define tEDX (8)
63#define tECX (9)
64#define tEAX (10)
65#define tERR (12)
66#define tEIP (13)
67#define tCS (14)
68#define tEFLAGS (15)
69#define tESP (16)
70#define tSS (17)
70
71/*
72 * Indices for registers in `struct regs' only.
73 *
74 * Some registers live in the pcb and are only in an "array" with the
75 * other registers in application interfaces that copy all the registers
76 * to or from a `struct regs'.
77 */
71
72/*
73 * Indices for registers in `struct regs' only.
74 *
75 * Some registers live in the pcb and are only in an "array" with the
76 * other registers in application interfaces that copy all the registers
77 * to or from a `struct regs'.
78 */
78#define tFS (17)
79#define tGS (18)
80
81/*
82 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
83 */
84struct reg {
79#define tGS (18)
80
81/*
82 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
83 */
84struct reg {
85 unsigned int r_fs;
85 unsigned int r_es;
86 unsigned int r_ds;
87 unsigned int r_edi;
88 unsigned int r_esi;
89 unsigned int r_ebp;
90 unsigned int r_isp;
91 unsigned int r_ebx;
92 unsigned int r_edx;
93 unsigned int r_ecx;
94 unsigned int r_eax;
95 unsigned int r_trapno;
96 unsigned int r_err;
97 unsigned int r_eip;
98 unsigned int r_cs;
99 unsigned int r_eflags;
100 unsigned int r_esp;
101 unsigned int r_ss;
86 unsigned int r_es;
87 unsigned int r_ds;
88 unsigned int r_edi;
89 unsigned int r_esi;
90 unsigned int r_ebp;
91 unsigned int r_isp;
92 unsigned int r_ebx;
93 unsigned int r_edx;
94 unsigned int r_ecx;
95 unsigned int r_eax;
96 unsigned int r_trapno;
97 unsigned int r_err;
98 unsigned int r_eip;
99 unsigned int r_cs;
100 unsigned int r_eflags;
101 unsigned int r_esp;
102 unsigned int r_ss;
102 unsigned int r_fs;
103 unsigned int r_gs;
104};
105
106/*
107 * Register set accessible via /proc/$pid/fpregs.
108 */
109struct fpreg {
110 /*

--- 20 unchanged lines hidden ---
103 unsigned int r_gs;
104};
105
106/*
107 * Register set accessible via /proc/$pid/fpregs.
108 */
109struct fpreg {
110 /*

--- 20 unchanged lines hidden ---