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