|
|
1.1 root 1: /* @(#)pcb.h 1.1 86/02/03 SMI */
2:
3: /*
4: * Copyright (c) 1985 by Sun Microsystems, Inc.
5: */
6:
7: /*
8: * Sun software process control block
9: */
10:
11: #ifndef LOCORE
12: struct pcb {
13: label_t pcb_regs; /* saved registers */
14: int pcb_sr; /* program status word */
15: struct pte *pcb_p0br; /* pseudo-P0BR for Sun */
16: int pcb_p0lr; /* pseudo-P0LR for Sun */
17: struct pte *pcb_p1br; /* pseudo-P1BR for Sun */
18: int pcb_p1lr; /* pseudo-P1LR for Sun */
19: int pcb_szpt; /* number of pages of user page table */
20: int *pcb_sswap;
21: };
22: #endif
23:
24: #define AST_SCHED 0x80000000 /* force a reschedule */
25: #define AST_STEP 0x40000000 /* force a single step */
26: #define TRACE_USER 0x20000000 /* user has requested tracing */
27: #define TRACE_AST 0x10000000 /* AST has requested tracing */
28: #define TRACE_PENDING 0x08000000 /* trace caught in supervisor mode */
29: #define AST_CLR 0xf8000000
30: #define PME_CLR 0
31: #define AST_NONE 0
32:
33: #define aston() {u.u_pcb.pcb_p0lr |= AST_SCHED;}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.