pcb.h (4929) | pcb.h (10092) |
---|---|
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 * $Id: pcb.h,v 1.7 1994/10/08 22:21:33 phk Exp $ | 37 * $Id: pcb.h,v 1.8 1994/12/03 10:02:55 bde Exp $ |
38 */ 39 40#ifndef _I386_PCB_H_ 41#define _I386_PCB_H_ 42 43/* 44 * Intel 386 process control block 45 */ --- 10 unchanged lines hidden (view full) --- 56#define pcb_usp pcb_tss.tss_esp 57#define pcb_fp pcb_tss.tss_ebp 58#ifdef notyet 59 u_char pcb_iomap[NPORT/sizeof(u_char)]; /* i/o port bitmap */ 60#endif 61 caddr_t pcb_ldt; /* per process (user) LDT */ 62 int pcb_ldt_len; /* number of LDT entries */ 63 struct save87 pcb_savefpu; /* floating point state for 287/387 */ | 38 */ 39 40#ifndef _I386_PCB_H_ 41#define _I386_PCB_H_ 42 43/* 44 * Intel 386 process control block 45 */ --- 10 unchanged lines hidden (view full) --- 56#define pcb_usp pcb_tss.tss_esp 57#define pcb_fp pcb_tss.tss_ebp 58#ifdef notyet 59 u_char pcb_iomap[NPORT/sizeof(u_char)]; /* i/o port bitmap */ 60#endif 61 caddr_t pcb_ldt; /* per process (user) LDT */ 62 int pcb_ldt_len; /* number of LDT entries */ 63 struct save87 pcb_savefpu; /* floating point state for 287/387 */ |
64 struct emcsts pcb_saveemc; /* Cyrix EMC state */ | |
65/* 66 * Software pcb (extension) 67 */ | 64/* 65 * Software pcb (extension) 66 */ |
68 int pcb_flags; 69#ifdef notused 70#define FP_WASUSED 0x01 /* process has used fltng pnt hardware */ 71#define FP_NEEDSSAVE 0x02 /* ... that needs save on next context switch */ 72#define FP_NEEDSRESTORE 0x04 /* ... that needs restore on next DNA fault */ 73#endif 74#define FP_USESEMC 0x08 /* process uses EMC memory-mapped mode */ 75#define FP_SOFTFP 0x20 /* process using software fltng pnt emulator */ | 67 u_char pcb_flags; 68#define FP_SOFTFP 0x01 /* process using software fltng pnt emulator */ |
76 u_char pcb_inl; /* intr_nesting_level at context switch */ 77 caddr_t pcb_onfault; /* copyin/out fault recovery */ 78 long pcb_sigc[8]; /* XXX signal code trampoline */ | 69 u_char pcb_inl; /* intr_nesting_level at context switch */ 70 caddr_t pcb_onfault; /* copyin/out fault recovery */ 71 long pcb_sigc[8]; /* XXX signal code trampoline */ |
79 int pad2; /* XXX unused - remove it if you change struct */ | |
80}; 81 82/* 83 * The pcb is augmented with machine-dependent additional data for 84 * core dumps. For the i386: ??? 85 */ 86struct md_coredump { 87}; 88 89#ifdef KERNEL 90extern struct pcb *curpcb; /* our current running pcb */ 91int savectx __P((struct pcb*,int)); 92#endif 93 94#endif /* _I386_PCB_H_ */ | 72}; 73 74/* 75 * The pcb is augmented with machine-dependent additional data for 76 * core dumps. For the i386: ??? 77 */ 78struct md_coredump { 79}; 80 81#ifdef KERNEL 82extern struct pcb *curpcb; /* our current running pcb */ 83int savectx __P((struct pcb*,int)); 84#endif 85 86#endif /* _I386_PCB_H_ */ |