Deleted Added
full compact
pcb.h (182868) pcb.h (189411)
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: @(#)pcb.h 5.10 (Berkeley) 5/12/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: @(#)pcb.h 5.10 (Berkeley) 5/12/91
34 * $FreeBSD: head/sys/amd64/include/pcb.h 182868 2008-09-08 09:59:05Z kib $
34 * $FreeBSD: head/sys/amd64/include/pcb.h 189411 2009-03-05 16:52:50Z jhb $
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

51 register_t pcb_r12;
52 register_t pcb_rbp;
53 register_t pcb_rsp;
54 register_t pcb_rbx;
55 register_t pcb_rip;
56 register_t pcb_fsbase;
57 register_t pcb_gsbase;
58 u_long pcb_flags;
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

51 register_t pcb_r12;
52 register_t pcb_rbp;
53 register_t pcb_rsp;
54 register_t pcb_rbx;
55 register_t pcb_rip;
56 register_t pcb_fsbase;
57 register_t pcb_gsbase;
58 u_long pcb_flags;
59#define PCB_DBREGS 0x02 /* process using debug registers */
60#define PCB_FPUINITDONE 0x08 /* fpu state is initialized */
61#define PCB_GS32BIT 0x20 /* linux gs switch */
62#define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */
63#define PCB_FULLCTX 0x80 /* full context restore on sysret */
64
59 u_int32_t pcb_ds;
60 u_int32_t pcb_es;
61 u_int32_t pcb_fs;
62 u_int32_t pcb_gs;
63 u_int64_t pcb_dr0;
64 u_int64_t pcb_dr1;
65 u_int64_t pcb_dr2;
66 u_int64_t pcb_dr3;
67 u_int64_t pcb_dr6;
68 u_int64_t pcb_dr7;
69
70 struct savefpu pcb_save;
65 u_int32_t pcb_ds;
66 u_int32_t pcb_es;
67 u_int32_t pcb_fs;
68 u_int32_t pcb_gs;
69 u_int64_t pcb_dr0;
70 u_int64_t pcb_dr1;
71 u_int64_t pcb_dr2;
72 u_int64_t pcb_dr3;
73 u_int64_t pcb_dr6;
74 u_int64_t pcb_dr7;
75
76 struct savefpu pcb_save;
71#define PCB_DBREGS 0x02 /* process using debug registers */
72#define PCB_FPUINITDONE 0x08 /* fpu state is initialized */
73#define PCB_GS32BIT 0x20 /* linux gs switch */
74#define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */
75#define PCB_FULLCTX 0x80 /* full context restore on sysret */
76
77 caddr_t pcb_onfault; /* copyin/out fault recovery */
78
79 /* 32-bit segment descriptor */
80 struct user_segment_descriptor pcb_gs32sd;
81};
82
83#ifdef _KERNEL
84struct trapframe;
85
86void makectx(struct trapframe *, struct pcb *);
87void savectx(struct pcb *);
88#endif
89
90#endif /* _AMD64_PCB_H_ */
77
78 caddr_t pcb_onfault; /* copyin/out fault recovery */
79
80 /* 32-bit segment descriptor */
81 struct user_segment_descriptor pcb_gs32sd;
82};
83
84#ifdef _KERNEL
85struct trapframe;
86
87void makectx(struct trapframe *, struct pcb *);
88void savectx(struct pcb *);
89#endif
90
91#endif /* _AMD64_PCB_H_ */