FreeBSD/Linux Kernel Cross Reference
sys/sqtconf/conf.c
1 /*
2 * Mach Operating System
3 * Copyright (c) 1993 Carnegie Mellon University
4 * Copyright (c) 1991 Carnegie Mellon University
5 * Copyright (c) 1991 Sequent Computer Systems
6 * All Rights Reserved.
7 *
8 * Permission to use, copy, modify and distribute this software and its
9 * documentation is hereby granted, provided that both the copyright
10 * notice and this permission notice appear in all copies of the
11 * software, derivative works or modified versions, and any portions
12 * thereof, and that both notices appear in supporting documentation.
13 *
14 * CARNEGIE MELLON AND SEQUENT COMPUTER SYSTEMS ALLOW FREE USE OF
15 * THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON AND
16 * SEQUENT COMPUTER SYSTEMS DISCLAIM ANY LIABILITY OF ANY KIND FOR
17 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
18 *
19 * Carnegie Mellon requests users of this software to return to
20 *
21 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
22 * School of Computer Science
23 * Carnegie Mellon University
24 * Pittsburgh PA 15213-3890
25 *
26 * any improvements or extensions that they make and grant Carnegie Mellon
27 * the rights to redistribute these changes.
28 */
29
30 /*
31 * HISTORY
32 * $Log: conf.c,v $
33 * Revision 2.9 93/11/17 18:46:54 dbg
34 * Added clock device.
35 * [93/06/09 dbg]
36 *
37 * Revision 2.8 93/05/18 11:12:13 rvb
38 * Revision 2.8 93/05/17 16:33:27 rvb
39 * Type casts, etc to quiet gcc 2.3.3 warnings
40 * [93/05/18 rvb]
41 *
42 * Revision 2.7 93/02/05 08:18:37 danner
43 * Fixed include.
44 * [93/02/04 danner]
45 *
46 * Revision 2.6 92/08/03 18:21:19 jfriedl
47 * Add "zd_devinfo" to "zd" disk driver description record.
48 * [92/08/03 14:34:21 jms]
49 *
50 * Revision 2.5 92/02/23 22:45:11 elf
51 * Added getstat routine for sd and zd drivers.
52 * [92/02/22 19:54:46 af]
53 *
54 * Revision 2.4 91/08/28 11:16:51 jsb
55 * Added entries for new dev_info field.
56 * [91/08/27 17:56:16 jsb]
57 *
58 * Revision 2.3 91/07/31 18:05:01 dbg
59 * Changed copyright.
60 * [91/07/31 dbg]
61 *
62 * Revision 2.2 91/05/08 13:01:48 dbg
63 * Created.
64 * [90/10/04 dbg]
65 *
66 */
67
68 /*
69 * Device table for Sequent.
70 */
71
72 #include <mach/machine/vm_types.h>
73 #include <device/conf.h>
74
75 extern vm_offset_t block_io_mmap();
76
77 extern int timeopen(),timeclose();
78 extern vm_offset_t timemmap();
79 #define timename "time"
80
81 extern int coopen(),coclose(),coread(),cowrite();
82 extern int cogetstat(),cosetstat(), coportdeath();
83 #define coname "co"
84
85 extern int clk_open(), clk_close(), clk_getstat(), clk_setstat(),
86 clk_info();
87 extern vm_offset_t clk_mmap();
88 #define clk_name "clock"
89 #define clk_priv_name "clock_priv"
90
91 #include <sd.h>
92 #if NSD > 0
93 extern int sdopen(), sdread(), sdwrite(), sdgetstat();
94 #define sdname "sd"
95 #endif
96
97 #include <zd.h>
98 #if NZD > 0
99 extern int zdopen(), zdclose(), zdread(), zdwrite(), zdgetstat(), zd_devinfo();
100 #define zdname "zd"
101 #endif
102
103 #include <se.h>
104 #if NSE > 0
105 extern int se_open(), se_output(), se_getstat(), se_setstat();
106 extern int se_setinput();
107 #define sename "se"
108 #endif
109
110 /*
111 * List of devices. Console must be at slot 0.
112 */
113 struct dev_ops dev_name_list[] =
114 {
115 /*name, open, close, read,
116 write, getstat, setstat, mmap,
117 async_in, reset, port_death, subdev,
118 dev_info */
119
120 { coname, coopen, coclose, coread,
121 cowrite, cogetstat, cosetstat, nomap,
122 nodev, nulldev, coportdeath, 0,
123 nodev },
124
125 { timename, timeopen, timeclose, nulldev,
126 nulldev, nulldev, nulldev, timemmap,
127 nodev, nulldev, nulldev, 0,
128 nodev },
129
130 { clk_priv_name,clk_open, clk_close, nodev,
131 nodev, clk_getstat, clk_setstat, clk_mmap,
132 nodev, nulldev, nulldev, 0,
133 clk_info },
134
135 { clk_name, clk_open, clk_close, nodev,
136 nodev, clk_getstat, nodev, clk_mmap,
137 nodev, nulldev, nulldev, 0,
138 clk_info },
139
140 #if NSD > 0
141 { sdname, sdopen, nulldev, sdread,
142 sdwrite, sdgetstat, nulldev, block_io_mmap,
143 nulldev, nulldev, nulldev, 8,
144 nodev },
145 #endif
146
147 #if NZD > 0
148 { zdname, zdopen, zdclose, zdread,
149 zdwrite, zdgetstat, nulldev, block_io_mmap,
150 nodev, nulldev, nulldev, 8,
151 zd_devinfo },
152 #endif
153
154 #if NSE > 0
155 { sename, se_open, nulldev, nulldev,
156 se_output, se_getstat, se_setstat, nomap,
157 se_setinput, nulldev, nulldev, 0,
158 nodev },
159 #endif
160
161 };
162 int dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
163
164 /*
165 * Indirect list.
166 */
167 struct dev_indirect dev_indirect_list[] = {
168
169 /* console */
170 { "console", &dev_name_list[0], 0 }
171 };
172 int dev_indirect_count = sizeof(dev_indirect_list)
173 / sizeof(dev_indirect_list[0]);
Cache object: 5f04c999089a74c7473330906c109921
|