Deleted Added
full compact
pcb.h (234785) pcb.h (236772)
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 234785 2012-04-29 11:04:31Z dim $
34 * $FreeBSD: head/sys/amd64/include/pcb.h 236772 2012-06-09 00:37:26Z iwasaki $
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

86 caddr_t pcb_onfault;
87
88 /* 32-bit segment descriptor */
89 struct user_segment_descriptor pcb_gs32sd;
90
91 /* local tss, with i/o bitmap; NULL for common */
92 struct amd64tss *pcb_tssp;
93
35 */
36
37#ifndef _AMD64_PCB_H_
38#define _AMD64_PCB_H_
39
40/*
41 * AMD64 process control block
42 */

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

86 caddr_t pcb_onfault;
87
88 /* 32-bit segment descriptor */
89 struct user_segment_descriptor pcb_gs32sd;
90
91 /* local tss, with i/o bitmap; NULL for common */
92 struct amd64tss *pcb_tssp;
93
94 /* model specific registers */
95 register_t pcb_efer;
96 register_t pcb_star;
97 register_t pcb_lstar;
98 register_t pcb_cstar;
99 register_t pcb_sfmask;
100 register_t pcb_xsmask;
101
102 /* fpu context for suspend/resume */
103 void * pcb_fpususpend;
104
94 struct savefpu *pcb_save;
95
105 struct savefpu *pcb_save;
106
96 uint64_t pcb_pad[2];
107 uint64_t pcb_pad[3];
97};
98
99#ifdef _KERNEL
100struct trapframe;
101
102/*
103 * The pcb_flags is only modified by current thread, or by other threads
104 * when current thread is stopped. However, current thread may change it

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

126
127 __asm __volatile("andl %1,%0"
128 : "=m" (pcb->pcb_flags) : "ir" (~flags), "m" (pcb->pcb_flags)
129 : "cc");
130}
131
132void makectx(struct trapframe *, struct pcb *);
133int savectx(struct pcb *) __returns_twice;
108};
109
110#ifdef _KERNEL
111struct trapframe;
112
113/*
114 * The pcb_flags is only modified by current thread, or by other threads
115 * when current thread is stopped. However, current thread may change it

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

137
138 __asm __volatile("andl %1,%0"
139 : "=m" (pcb->pcb_flags) : "ir" (~flags), "m" (pcb->pcb_flags)
140 : "cc");
141}
142
143void makectx(struct trapframe *, struct pcb *);
144int savectx(struct pcb *) __returns_twice;
145void resumectx(struct pcb *);
134
135#endif
136
137#endif /* _AMD64_PCB_H_ */
146
147#endif
148
149#endif /* _AMD64_PCB_H_ */