FreeBSD/Linux Kernel Cross Reference
sys/sqt/clkarb.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991 Carnegie Mellon University
4 * Copyright (c) 1991 Sequent Computer Systems
5 * All Rights Reserved.
6 *
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation is hereby granted, provided that both the copyright
9 * notice and this permission notice appear in all copies of the
10 * software, derivative works or modified versions, and any portions
11 * thereof, and that both notices appear in supporting documentation.
12 *
13 * CARNEGIE MELLON AND SEQUENT COMPUTER SYSTEMS ALLOW FREE USE OF
14 * THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON AND
15 * SEQUENT COMPUTER SYSTEMS DISCLAIM ANY LIABILITY OF ANY KIND FOR
16 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17 *
18 * Carnegie Mellon requests users of this software to return to
19 *
20 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
21 * School of Computer Science
22 * Carnegie Mellon University
23 * Pittsburgh PA 15213-3890
24 *
25 * any improvements or extensions that they make and grant Carnegie Mellon
26 * the rights to redistribute these changes.
27 */
28
29 /*
30 * HISTORY
31 * $Log: clkarb.h,v $
32 * Revision 2.3 91/07/31 18:00:14 dbg
33 * Changed copyright.
34 * [91/07/31 dbg]
35 *
36 * Revision 2.2 91/05/08 12:54:40 dbg
37 * Added, from Sequent SYMMETRY sources.
38 * [91/04/26 14:49:49 dbg]
39 *
40 */
41
42 /*
43 * $Header: clkarb.h,v 2.3 91/07/31 18:00:14 dbg Exp $
44 */
45
46 /*
47 * Clock / Arbiter board definitions
48 */
49
50 /*
51 * Revision 1.1 89/07/19 14:48:53 kak
52 * Initial revision
53 *
54 */
55
56 #ifndef _SQT_CLKARB_H_
57 #define _SQT_CLKARB_H_
58
59 #define CLKARB_SLIC 0
60 #define CA_FOL 32 /* 1st slot optionally low priority */
61 #define CA_LOL 41 /* last slot optionally low priority */
62
63 #define FP_NLIGHTS 48
64 #define FP_LIGHTOFF(i) (wrAddr(CLKARB_SLIC, (fp_lightmap[(i)])))
65 #define FP_LIGHTON(i) (wrAddr(CLKARB_SLIC, (fp_lightmap[(i)] ^ 1)))
66
67 #define FP_IO_INACTIVE (wrAddr(CLKARB_SLIC, SL_C_IO_ACTIVE - 1))
68 #define FP_IO_ACTIVE (wrAddr(CLKARB_SLIC, SL_C_IO_ACTIVE))
69
70 #define FP_IO_OFFLINE (wrAddr(CLKARB_SLIC, SL_C_IO_ONLINE - 1))
71 #define FP_IO_ONLINE (wrAddr(CLKARB_SLIC, SL_C_IO_ONLINE))
72
73 #define FP_IO_NOERROR (wrAddr(CLKARB_SLIC, SL_C_IO_ERROR - 1))
74 #define FP_IO_ERROR (wrAddr(CLKARB_SLIC, SL_C_IO_ERROR))
75
76 extern short fp_lights;
77 extern u_char fp_lightmap[FP_NLIGHTS];
78
79 #ifdef i386
80 /*
81 * The data-mover on the B21k clock-arbiter board is not used by the SGS kernel
82 * since the processor board cache is just as effective at using the bus.
83 */
84 #endif i386
85
86 #ifdef ns32000
87 /*
88 * Structures and definitions for dealing with data-mover (032 systems only).
89 */
90
91 struct cadm_table {
92 u_short ct_count; /* ~(8-byte count) */
93 u_char ct_pgszcmd; /* page-size and command */
94 u_char ct_status; /* status byte */
95 long ct_swrsvd; /* reserved for SW use */
96 struct {
97 caddr_t ct_src; /* source address */
98 caddr_t ct_dest; /* destination address */
99 } ct_addr[1]; /* open-ended list of addresses */
100 };
101
102 #define CADM_ALIGN 0x1000 /* tables must be 4k aligned */
103 #define CADM_TABLESZ 0x0800 /* each table is 2k */
104 #define CADM_DATALIGN 0x7 /* xfr's, counts must be mult of 8 */
105 #define CADM_COUNT(c) ~((c) >> 3) /* count == 1's comp 8-byte count */
106 #define CADM_PGSZ (CLBYTES/2048) /* page size encoding */
107 #define CADM_MOVE 0x00 /* "move" command */
108 #define CADM_FILL 0x10 /* "fill" command */
109 #define CADM_STATCLR 0x00 /* clear status before start move/fill*/
110 #define CADM_STATOK 0xFF /* good completion */
111 #define CADM_STATERR 0xFE /* access error during move/fill */
112
113 #define CADM_GATE 63 /* gate for coordinating datamover */
114 #endif ns32000
115
116 #endif /* _SQT_CLKARB_H_ */
117
Cache object: b26b2b354ce11d945807a754b9085f65
|