Deleted Added
full compact
reg.h (122296) reg.h (125176)
1/*-
2 * Copyright (c) 2003 Peter Wemm.
3 * Copyright (c) 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * William Jolitz.
8 *

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

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

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

30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 *
37 * from: @(#)reg.h 5.5 (Berkeley) 1/18/91
38 * $FreeBSD: head/sys/amd64/include/reg.h 122296 2003-11-08 04:39:22Z peter $
38 * $FreeBSD: head/sys/amd64/include/reg.h 125176 2004-01-28 23:54:31Z peter $
39 */
40
41#ifndef _MACHINE_REG_H_
42#define _MACHINE_REG_H_
43
44/*
45 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
46 */

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

79 * an array of unsigned longs is best.
80 */
81 unsigned long fpr_env[4];
82 unsigned char fpr_acc[8][16];
83 unsigned char fpr_xacc[16][16];
84 unsigned long fpr_spare[12];
85};
86
39 */
40
41#ifndef _MACHINE_REG_H_
42#define _MACHINE_REG_H_
43
44/*
45 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
46 */

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

79 * an array of unsigned longs is best.
80 */
81 unsigned long fpr_env[4];
82 unsigned char fpr_acc[8][16];
83 unsigned char fpr_xacc[16][16];
84 unsigned long fpr_spare[12];
85};
86
87/*
88 * Register set accessible via /proc/$pid/dbregs.
89 */
87struct dbreg {
90struct dbreg {
88 unsigned long grrr;
91 unsigned long dr[16]; /* debug registers */
92 /* Index 0-3: debug address registers */
93 /* Index 4-5: reserved */
94 /* Index 6: debug status */
95 /* Index 7: debug control */
96 /* Index 8-15: reserved */
89};
90
97};
98
99#define DBREG_DR7_EXEC 0x00 /* break on execute */
100#define DBREG_DR7_WRONLY 0x01 /* break on write */
101#define DBREG_DR7_RDWR 0x03 /* break on read or write */
102#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by
103 register number */
91#ifdef _KERNEL
92/*
93 * XXX these interfaces are MI, so they should be declared in a MI place.
94 */
95int fill_regs(struct thread *, struct reg *);
96int set_regs(struct thread *, struct reg *);
97int fill_fpregs(struct thread *, struct fpreg *);
98int set_fpregs(struct thread *, struct fpreg *);
99int fill_dbregs(struct thread *, struct dbreg *);
100int set_dbregs(struct thread *, struct dbreg *);
101#endif
102
103#endif /* !_MACHINE_REG_H_ */
104#ifdef _KERNEL
105/*
106 * XXX these interfaces are MI, so they should be declared in a MI place.
107 */
108int fill_regs(struct thread *, struct reg *);
109int set_regs(struct thread *, struct reg *);
110int fill_fpregs(struct thread *, struct fpreg *);
111int set_fpregs(struct thread *, struct fpreg *);
112int fill_dbregs(struct thread *, struct dbreg *);
113int set_dbregs(struct thread *, struct dbreg *);
114#endif
115
116#endif /* !_MACHINE_REG_H_ */