|
|
1.1 root 1: /*
2: * Copyright (c) 1986, 1988 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: * @(#)cpu.h 7.1 (Berkeley) 5/21/88
7: */
8:
9: /*
10: * Assorted definitions unique to TAHOE CPU support.
11: */
12:
13: #define uncache(v) mtpr(PDCS, (caddr_t)(v))
14: #define movow(a,w) _movow((u_short *)(a), (u_short)(w))
15: #define movob(a,b) _movob((u_char *)(a), (u_char)(b))
16:
17: #define resettodr() /* no todr to set */
18:
19: #define MAXCKEY 255 /* maximal allowed code key */
20: #define MAXDKEY 255 /* maximal allowed data key */
21: #define NCKEY (MAXCKEY+1) /* # code keys, including 0 (reserved) */
22: #define NDKEY (MAXDKEY+1) /* # data keys, including 0 (reserved) */
23:
24: #ifndef LOCORE
25: #ifdef KERNEL
26: char ckey_cache[NCKEY]; /* 1 =>'s key i may be in code cache */
27: short ckey_cnt[NCKEY]; /* code key reference count */
28: char dkey_cache[NDKEY]; /* 1 =>'s key i may be in data cache */
29: short dkey_cnt[NDKEY]; /* data key reference count */
30: #endif
31:
32: /*
33: * Statistics maintained for code and
34: * data cache key allocations algorithms.
35: */
36: struct keystats {
37: long ks_avail; /* number of keys currently unallocated */
38: long ks_dirty; /* number of keys currently waiting for purge */
39: long ks_allocs; /* number of keys allocated */
40: long ks_allocfree; /* key allocated from free slot */
41: long ks_norefs; /* key marked in use, but refcnt 0 */
42: long ks_taken; /* key taken from single process */
43: long ks_shared; /* key taken from multiple processes */
44: long ks_inval; /* number of times keys exchanged */
45: };
46: #endif
47:
48: long *user_psl; /* user mode psl for ast's */
49: int intenable; /* interrupts enable startup flag */
50: int clk_enable; /* clock enable startup flag */
51:
52: /*
53: * Enable realtime clock.
54: */
55: #define enablertclock() (clk_enable = 1)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.