Deleted Added
full compact
reg.h (190616) reg.h (205014)
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 *

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

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * 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 *

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

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * from: @(#)reg.h 5.5 (Berkeley) 1/18/91
34 * $FreeBSD: head/sys/amd64/include/reg.h 190616 2009-04-01 12:44:17Z kib $
34 * $FreeBSD: head/sys/amd64/include/reg.h 205014 2010-03-11 14:49:06Z nwhitehorn $
35 */
36
37#ifndef _MACHINE_REG_H_
38#define _MACHINE_REG_H_
39
35 */
36
37#ifndef _MACHINE_REG_H_
38#define _MACHINE_REG_H_
39
40#if defined(_KERNEL) && !defined(_STANDALONE)
41#include "opt_compat.h"
42#endif
43
40/*
41 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
42 */
43struct reg {
44 register_t r_r15;
45 register_t r_r14;
46 register_t r_r13;
47 register_t r_r12;

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

111#define DBREG_DR7_GD 0x2000
112#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0)
113#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3)
114#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3)
115
116#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by
117 register number */
118
44/*
45 * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
46 */
47struct reg {
48 register_t r_r15;
49 register_t r_r14;
50 register_t r_r13;
51 register_t r_r12;

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

115#define DBREG_DR7_GD 0x2000
116#define DBREG_DR7_ENABLED(d, i) (((d) & 0x3 << (i) * 2) != 0)
117#define DBREG_DR7_ACCESS(d, i) ((d) >> ((i) * 4 + 16) & 0x3)
118#define DBREG_DR7_LEN(d, i) ((d) >> ((i) * 4 + 18) & 0x3)
119
120#define DBREG_DRX(d,x) ((d)->dr[(x)]) /* reference dr0 - dr15 by
121 register number */
122
123#ifdef COMPAT_FREEBSD32
124#include <machine/fpu.h>
125#include <compat/ia32/ia32_reg.h>
126#endif
127
119#ifdef _KERNEL
120/*
121 * XXX these interfaces are MI, so they should be declared in a MI place.
122 */
123int fill_regs(struct thread *, struct reg *);
124int set_regs(struct thread *, struct reg *);
125int fill_fpregs(struct thread *, struct fpreg *);
126int set_fpregs(struct thread *, struct fpreg *);
127int fill_dbregs(struct thread *, struct dbreg *);
128int set_dbregs(struct thread *, struct dbreg *);
129#endif
130
131#endif /* !_MACHINE_REG_H_ */
128#ifdef _KERNEL
129/*
130 * XXX these interfaces are MI, so they should be declared in a MI place.
131 */
132int fill_regs(struct thread *, struct reg *);
133int set_regs(struct thread *, struct reg *);
134int fill_fpregs(struct thread *, struct fpreg *);
135int set_fpregs(struct thread *, struct fpreg *);
136int fill_dbregs(struct thread *, struct dbreg *);
137int set_dbregs(struct thread *, struct dbreg *);
138#endif
139
140#endif /* !_MACHINE_REG_H_ */