xref: /csrg-svn/sys/hp300/include/pcb.h (revision 49135)
141474Smckusick /*
241474Smckusick  * Copyright (c) 1988 University of Utah.
341474Smckusick  * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
441474Smckusick  * All rights reserved.
541474Smckusick  *
641474Smckusick  * This code is derived from software contributed to Berkeley by
741474Smckusick  * the Systems Programming Group of the University of Utah Computer
841474Smckusick  * Science Department.
941474Smckusick  *
1041474Smckusick  * %sccs.include.redist.c%
1141474Smckusick  *
1241474Smckusick  * from: Utah $Hdr: pcb.h 1.13 89/04/23$
1341474Smckusick  *
14*49135Skarels  *	@(#)pcb.h	7.4 (Berkeley) 05/04/91
1541474Smckusick  */
1641474Smckusick 
17*49135Skarels #include <machine/frame.h>
1841474Smckusick 
1941474Smckusick /*
2041474Smckusick  * HP300 process control block
2141474Smckusick  */
2241474Smckusick struct pcb
2341474Smckusick {
2441474Smckusick 	short	pcb_flags;	/* misc. process flags (+0) */
2541474Smckusick 	short	pcb_ps; 	/* processor status word (+2) */
2641474Smckusick 	int	pcb_ustp;	/* user segment table pointer (+4) */
2741474Smckusick 	int	pcb_usp;	/* user stack pointer (+8) */
2841474Smckusick 	int	pcb_regs[12];	/* D0-D7, A0-A7 (+C) */
29*49135Skarels 	int	pcb_cmap2;	/* temporary copy PTE */
30*49135Skarels 	caddr_t	pcb_onfault;	/* for copyin/out faults */
31*49135Skarels 	struct	fpframe pcb_fpregs; /* 68881/2 context save area */
32*49135Skarels 	int	pcb_exec[16];	/* exec structure for core dumps */
3341474Smckusick };
3441474Smckusick 
3541474Smckusick /* flags */
3641474Smckusick 
3741474Smckusick #define PCB_HPUXMMAP	0x0010	/* VA space is multiple mapped */
3841474Smckusick #define PCB_HPUXTRACE	0x0020	/* being traced by an HPUX process */
3941474Smckusick #define PCB_HPUXBIN	0x0040	/* loaded from an HPUX format binary */
4041474Smckusick 				/* note: does NOT imply SHPUX */
41