xref: /csrg-svn/sys/vax/include/pcb.h (revision 64)
1*64Sbill /*	pcb.h	3.1	10/14/12	*/
2*64Sbill 
3*64Sbill /*
4*64Sbill  * VAX process control block
5*64Sbill  *
6*64Sbill  * THE SIZE OF THE pcb, AS INFLUENCED BY THE SIZE OF THE SOFTWARE
7*64Sbill  * EXTENSION, IS KNOWN IN THE #ifdef FASTVAX'ed DEFINITIONS OF THE
8*64Sbill  * OFFSETS OF U_ARG and U_QSAV IN THE FILE user.h.
9*64Sbill  */
10*64Sbill 
11*64Sbill struct pcb
12*64Sbill {
13*64Sbill 	int	pcb_ksp; 	/* kernel stack pointer */
14*64Sbill 	int	pcb_esp; 	/* exec stack pointer */
15*64Sbill 	int	pcb_ssp; 	/* supervisor stack pointer */
16*64Sbill 	int	pcb_usp; 	/* user stack pointer */
17*64Sbill 	int	pcb_r0;
18*64Sbill 	int	pcb_r1;
19*64Sbill 	int	pcb_r2;
20*64Sbill 	int	pcb_r3;
21*64Sbill 	int	pcb_r4;
22*64Sbill 	int	pcb_r5;
23*64Sbill 	int	pcb_r6;
24*64Sbill 	int	pcb_r7;
25*64Sbill 	int	pcb_r8;
26*64Sbill 	int	pcb_r9;
27*64Sbill 	int	pcb_r10;
28*64Sbill 	int	pcb_r11;
29*64Sbill 	int	pcb_r12;
30*64Sbill 	int	pcb_r13;
31*64Sbill 	int	pcb_pc; 	/* program counter */
32*64Sbill 	int	pcb_psl; 	/* program status longword */
33*64Sbill 	struct  pte *pcb_p0br; 	/* seg 0 base register */
34*64Sbill 	int	pcb_p0lr; 	/* seg 0 length register and astlevel */
35*64Sbill 	struct  pte *pcb_p1br; 	/* seg 1 base register */
36*64Sbill 	int	pcb_p1lr; 	/* seg 1 length register and pme */
37*64Sbill /*
38*64Sbill  * Software pcb (extension)
39*64Sbill  */
40*64Sbill 	int	pcb_szpt; 	/* number of pages of user page table */
41*64Sbill 	int	pcb_cmap2;
42*64Sbill 	int	*pcb_sswap;
43*64Sbill 	int	pcb_sigc[3];
44*64Sbill };
45