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