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