1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)pcb.h	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: /*
  10:  * VAX process control block
  11:  */
  12: 
  13: struct pcb
  14: {
  15:     int pcb_ksp;    /* kernel stack pointer */
  16:     int pcb_esp;    /* exec stack pointer */
  17:     int pcb_ssp;    /* supervisor stack pointer */
  18:     int pcb_usp;    /* user stack pointer */
  19:     int pcb_r0;
  20:     int pcb_r1;
  21:     int pcb_r2;
  22:     int pcb_r3;
  23:     int pcb_r4;
  24:     int pcb_r5;
  25:     int pcb_r6;
  26:     int pcb_r7;
  27:     int pcb_r8;
  28:     int pcb_r9;
  29:     int pcb_r10;
  30:     int pcb_r11;
  31:     int pcb_r12;
  32: #define pcb_ap pcb_r12
  33:     int pcb_r13;
  34: #define pcb_fp pcb_r13
  35:     int pcb_pc;     /* program counter */
  36:     int pcb_psl;    /* program status longword */
  37:     struct  pte *pcb_p0br;  /* seg 0 base register */
  38:     int pcb_p0lr;   /* seg 0 length register and astlevel */
  39:     struct  pte *pcb_p1br;  /* seg 1 base register */
  40:     int pcb_p1lr;   /* seg 1 length register and pme */
  41: /*
  42:  * Software pcb (extension)
  43:  */
  44:     int pcb_szpt;   /* number of pages of user page table */
  45:     int pcb_cmap2;
  46:     int *pcb_sswap;
  47:     int pcb_sigc[5];
  48: };
  49: 
  50: #define AST_NONE    0x04000000  /* ast level */
  51: #define AST_USER    0x03000000  /* ast for user mode */
  52: 
  53: #define ASTLVL_NONE 4
  54: #define ASTLVL_USER 3
  55: 
  56: #define AST_CLR     0x07000000
  57: #define PME_CLR     0x80000000
  58: 
  59: #define aston() \
  60:     { \
  61:         mtpr(ASTLVL, ASTLVL_USER); \
  62:     }
  63: 
  64: #define astoff() \
  65:     { \
  66:         mtpr(ASTLVL, ASTLVL_NONE); \
  67:     }

Defined struct's

pcb defined in line 13; used 2 times

Defined macros

ASTLVL_NONE defined in line 53; used 1 times
  • in line 66
ASTLVL_USER defined in line 54; used 1 times
  • in line 61
AST_CLR defined in line 56; never used
AST_NONE defined in line 50; never used
AST_USER defined in line 51; never used
PME_CLR defined in line 57; never used
astoff defined in line 64; never used
aston defined in line 59; never used
pcb_ap defined in line 32; never used
pcb_fp defined in line 34; never used
Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 645
Valid CSS Valid XHTML 1.0 Strict