xref: /csrg-svn/sys/tahoe/include/cpu.h (revision 30263)
1*30263Skarels /*
2*30263Skarels  * Copyright (c) 1986 Regents of the University of California.
3*30263Skarels  * All rights reserved.  The Berkeley software License Agreement
4*30263Skarels  * specifies the terms and conditions for redistribution.
5*30263Skarels  *
6*30263Skarels  *	@(#)cpu.h	1.1 (Berkeley) 12/08/86
7*30263Skarels  */
8*30263Skarels 
9*30263Skarels /*
10*30263Skarels  * Assorted definitions unique to TAHOE CPU support.
11*30263Skarels  */
12*30263Skarels 
13*30263Skarels #define	uncache(v)	mtpr(PDCS, (caddr_t)(v))
14*30263Skarels #define	movow(a,w)	_movow((u_short *)(a), (u_short)(w))
15*30263Skarels #define	movob(a,b)	_movob((u_char *)(a), (u_char)(b))
16*30263Skarels 
17*30263Skarels #define	resettodr()	/* no todr to set */
18*30263Skarels 
19*30263Skarels #ifndef LOCORE
20*30263Skarels #ifdef KERNEL
21*30263Skarels char	ckey_cache[NCKEY];	/* 1 =>'s key i may be in code cache */
22*30263Skarels short	ckey_cnt[NCKEY];	/* code key reference count */
23*30263Skarels char	dkey_cache[NDKEY];	/* 1 =>'s key i may be in data cache */
24*30263Skarels short	dkey_cnt[NDKEY];	/* data key reference count */
25*30263Skarels #endif
26*30263Skarels 
27*30263Skarels /*
28*30263Skarels  * Statistics maintained for code and
29*30263Skarels  * data cache key allocations algorithms.
30*30263Skarels  */
31*30263Skarels struct	keystats {
32*30263Skarels 	long	ks_allocs;	/* number of keys allocated */
33*30263Skarels 	long	ks_free;	/* key allocated from free slot */
34*30263Skarels 	long	ks_norefs;	/* key marked in use, but refcnt 0 */
35*30263Skarels 	long	ks_taken;	/* key taken from single process */
36*30263Skarels 	long	ks_shared;	/* key taken from multiple processes */
37*30263Skarels };
38*30263Skarels #endif
39*30263Skarels 
40*30263Skarels long	*user_psl;		/* user mode psl for ast's */
41*30263Skarels int	intenable;		/* interrupts enable startup flag */
42*30263Skarels int	clk_enable;		/* clock enable startup flag */
43*30263Skarels 
44*30263Skarels /*
45*30263Skarels  * Enable realtime clock.
46*30263Skarels  */
47*30263Skarels #define	enablertclock()	(clk_enable = 1)
48