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