pcb.h (106542) | pcb.h (114349) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 |
37 * $FreeBSD: head/sys/amd64/include/pcb.h 106542 2002-11-07 01:34:23Z davidxu $ | 37 * $FreeBSD: head/sys/amd64/include/pcb.h 114349 2003-05-01 01:05:25Z peter $ |
38 */ 39 40#ifndef _I386_PCB_H_ 41#define _I386_PCB_H_ 42 43/* 44 * Intel 386 process control block 45 */ 46#include <machine/npx.h> 47 48struct pcb { | 38 */ 39 40#ifndef _I386_PCB_H_ 41#define _I386_PCB_H_ 42 43/* 44 * Intel 386 process control block 45 */ 46#include <machine/npx.h> 47 48struct pcb { |
49 int pcb_cr3; 50 int pcb_edi; 51 int pcb_esi; 52 int pcb_ebp; 53 int pcb_esp; 54 int pcb_ebx; 55 int pcb_eip; | 49 register_t padxx[8]; 50 register_t pcb_cr3; 51 register_t pcb_r15; 52 register_t pcb_r14; 53 register_t pcb_r13; 54 register_t pcb_r12; 55 register_t pcb_rbp; 56 register_t pcb_rsp; 57 register_t pcb_rbx; 58 register_t pcb_rip; 59 register_t pcb_rflags; |
56 | 60 |
57 int pcb_dr0; 58 int pcb_dr1; 59 int pcb_dr2; 60 int pcb_dr3; 61 int pcb_dr6; 62 int pcb_dr7; | 61 struct savefpu pcb_save; 62 u_long pcb_flags; 63#define PCB_NPXTRAP 0x01 /* npx trap pending */ 64#define PCB_NPXINITDONE 0x02 /* fpu state is initialized */ 65#define PCB_FULLCTX 0x04 /* full context restore on sysret */ |
63 | 66 |
64 union savefpu pcb_save; 65 u_int pcb_flags; 66#define FP_SOFTFP 0x01 /* process using software fltng pnt emulator */ 67#define PCB_DBREGS 0x02 /* process using debug registers */ 68#define PCB_NPXTRAP 0x04 /* npx trap pending */ 69#define PCB_NPXINITDONE 0x08 /* fpu state is initialized */ 70#define PCB_VM86CALL 0x10 /* in vm86 call */ 71 | |
72 caddr_t pcb_onfault; /* copyin/out fault recovery */ | 67 caddr_t pcb_onfault; /* copyin/out fault recovery */ |
73 int pcb_gs; 74 struct pcb_ext *pcb_ext; /* optional pcb extension */ 75 int pcb_psl; /* process status long */ 76 u_long __pcb_spare[2]; /* adjust to avoid core dump size changes */ | |
77}; 78 79#ifdef _KERNEL 80void savectx(struct pcb *); 81#endif 82 83#endif /* _I386_PCB_H_ */ | 68}; 69 70#ifdef _KERNEL 71void savectx(struct pcb *); 72#endif 73 74#endif /* _I386_PCB_H_ */ |