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