pcb.h (10b3b54548f2290bbe8d8f88c59c28d12b7a635d) pcb.h (6cf9a08d2c338e25f0be42326e6880f089156562)
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 *

--- 43 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 */
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 *

--- 43 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 ---