1 /* 2 * Copyright (c) 1988 University of Utah. 3 * Copyright (c) 1982, 1986, 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 * the Systems Programming Group of the University of Utah Computer 8 * Science Department. 9 * 10 * %sccs.include.redist.c% 11 * 12 * from: Utah $Hdr: pcb.h 1.13 89/04/23$ 13 * 14 * @(#)pcb.h 7.4 (Berkeley) 05/04/91 15 */ 16 17 #include <machine/frame.h> 18 19 /* 20 * HP300 process control block 21 */ 22 struct pcb 23 { 24 short pcb_flags; /* misc. process flags (+0) */ 25 short pcb_ps; /* processor status word (+2) */ 26 int pcb_ustp; /* user segment table pointer (+4) */ 27 int pcb_usp; /* user stack pointer (+8) */ 28 int pcb_regs[12]; /* D0-D7, A0-A7 (+C) */ 29 int pcb_cmap2; /* temporary copy PTE */ 30 caddr_t pcb_onfault; /* for copyin/out faults */ 31 struct fpframe pcb_fpregs; /* 68881/2 context save area */ 32 int pcb_exec[16]; /* exec structure for core dumps */ 33 }; 34 35 /* flags */ 36 37 #define PCB_HPUXMMAP 0x0010 /* VA space is multiple mapped */ 38 #define PCB_HPUXTRACE 0x0020 /* being traced by an HPUX process */ 39 #define PCB_HPUXBIN 0x0040 /* loaded from an HPUX format binary */ 40 /* note: does NOT imply SHPUX */ 41