1*23270Smckusick /* 2*23270Smckusick * Copyright (c) 1982 Regents of the University of California. 3*23270Smckusick * All rights reserved. The Berkeley software License Agreement 4*23270Smckusick * specifies the terms and conditions for redistribution. 5*23270Smckusick * 6*23270Smckusick * @(#)pcb.h 6.4 (Berkeley) 06/08/85 7*23270Smckusick */ 864Sbill 964Sbill /* 1064Sbill * VAX process control block 1164Sbill */ 1264Sbill 1364Sbill struct pcb 1464Sbill { 1564Sbill int pcb_ksp; /* kernel stack pointer */ 1664Sbill int pcb_esp; /* exec stack pointer */ 1764Sbill int pcb_ssp; /* supervisor stack pointer */ 1864Sbill int pcb_usp; /* user stack pointer */ 1964Sbill int pcb_r0; 2064Sbill int pcb_r1; 2164Sbill int pcb_r2; 2264Sbill int pcb_r3; 2364Sbill int pcb_r4; 2464Sbill int pcb_r5; 2564Sbill int pcb_r6; 2664Sbill int pcb_r7; 2764Sbill int pcb_r8; 2864Sbill int pcb_r9; 2964Sbill int pcb_r10; 3064Sbill int pcb_r11; 3164Sbill int pcb_r12; 323776Sroot #define pcb_ap pcb_r12 3364Sbill int pcb_r13; 343776Sroot #define pcb_fp pcb_r13 3564Sbill int pcb_pc; /* program counter */ 3664Sbill int pcb_psl; /* program status longword */ 3764Sbill struct pte *pcb_p0br; /* seg 0 base register */ 3864Sbill int pcb_p0lr; /* seg 0 length register and astlevel */ 3964Sbill struct pte *pcb_p1br; /* seg 1 base register */ 4064Sbill int pcb_p1lr; /* seg 1 length register and pme */ 4164Sbill /* 4264Sbill * Software pcb (extension) 4364Sbill */ 4464Sbill int pcb_szpt; /* number of pages of user page table */ 4564Sbill int pcb_cmap2; 4664Sbill int *pcb_sswap; 4718270Smckusick int pcb_sigc[5]; 4864Sbill }; 492447Swnj 502447Swnj #define AST_NONE 0x04000000 /* ast level */ 512447Swnj #define AST_USER 0x03000000 /* ast for user mode */ 522447Swnj 532447Swnj #define ASTLVL_NONE 4 542447Swnj #define ASTLVL_USER 3 552447Swnj 562447Swnj #define AST_CLR 0x07000000 579004Sroot #define PME_CLR 0x80000000 582447Swnj 592447Swnj #define aston() \ 602447Swnj { \ 612447Swnj mtpr(ASTLVL, ASTLVL_USER); \ 622447Swnj } 632447Swnj 642447Swnj #define astoff() \ 652447Swnj { \ 662447Swnj mtpr(ASTLVL, ASTLVL_NONE); \ 672447Swnj } 68