Deleted Added
full compact
pcb.h (195486) pcb.h (208833)
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 195486 2009-07-09 09:34:11Z kib $
34 * $FreeBSD: head/sys/amd64/include/pcb.h 208833 2010-06-05 15:59:59Z kib $
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

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 */
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

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_KERNFPU 0x04 /* kernel uses fpu */
60#define PCB_FPUINITDONE 0x08 /* fpu state is initialized */
61#define PCB_FPUINITDONE 0x08 /* fpu state is initialized */
62#define PCB_USERFPUINITDONE 0x10 /* fpu user 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
65 u_int64_t pcb_dr0;
66 u_int64_t pcb_dr1;
67 u_int64_t pcb_dr2;
68 u_int64_t pcb_dr3;
69 u_int64_t pcb_dr6;
70 u_int64_t pcb_dr7;
71
63#define PCB_GS32BIT 0x20 /* linux gs switch */
64#define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */
65#define PCB_FULLCTX 0x80 /* full context restore on sysret */
66
67 u_int64_t pcb_dr0;
68 u_int64_t pcb_dr1;
69 u_int64_t pcb_dr2;
70 u_int64_t pcb_dr3;
71 u_int64_t pcb_dr6;
72 u_int64_t pcb_dr7;
73
72 struct savefpu pcb_save;
74 struct savefpu pcb_user_save;
73 uint16_t pcb_initial_fpucw;
74
75 caddr_t pcb_onfault; /* copyin/out fault recovery */
76
77 /* 32-bit segment descriptor */
78 struct user_segment_descriptor pcb_gs32sd;
79 /* local tss, with i/o bitmap; NULL for common */
80 struct amd64tss *pcb_tssp;
75 uint16_t pcb_initial_fpucw;
76
77 caddr_t pcb_onfault; /* copyin/out fault recovery */
78
79 /* 32-bit segment descriptor */
80 struct user_segment_descriptor pcb_gs32sd;
81 /* local tss, with i/o bitmap; NULL for common */
82 struct amd64tss *pcb_tssp;
83 struct savefpu *pcb_save;
81 char pcb_full_iret;
82};
83
84struct xpcb {
85 struct pcb xpcb_pcb;
86 register_t xpcb_cr0;
87 register_t xpcb_cr2;
88 register_t xpcb_cr4;

--- 16 unchanged lines hidden ---
84 char pcb_full_iret;
85};
86
87struct xpcb {
88 struct pcb xpcb_pcb;
89 register_t xpcb_cr0;
90 register_t xpcb_cr2;
91 register_t xpcb_cr4;

--- 16 unchanged lines hidden ---