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.8 93/05/18 11:12:13 rvb
34 * Revision 2.8 93/05/17 16:33:27 rvb
35 * Type casts, etc to quiet gcc 2.3.3 warnings
36 * [93/05/18 rvb]
37 *
38 * Revision 2.7 93/02/05 08:18:37 danner
39 * Fixed include.
40 * [93/02/04 danner]
41 *
42 * Revision 2.6 92/08/03 18:21:19 jfriedl
43 * Add "zd_devinfo" to "zd" disk driver description record.
44 * [92/08/03 14:34:21 jms]
45 *
46 * Revision 2.5 92/02/23 22:45:11 elf
47 * Added getstat routine for sd and zd drivers.
48 * [92/02/22 19:54:46 af]
49 *
50 * Revision 2.4 91/08/28 11:16:51 jsb
51 * Added entries for new dev_info field.
52 * [91/08/27 17:56:16 jsb]
53 *
54 * Revision 2.3 91/07/31 18:05:01 dbg
55 * Changed copyright.
56 * [91/07/31 dbg]
57 *
58 * Revision 2.2 91/05/08 13:01:48 dbg
59 * Created.
60 * [90/10/04 dbg]
61 *
62 */
63
64 /*
65 * Device table for Sequent.
66 */
67
68 #include <mach/machine/vm_types.h>
69 #include <device/conf.h>
70
71 extern vm_offset_t block_io_mmap();
72
73 extern int timeopen(),timeclose();
74 extern vm_offset_t timemmap();
75 #define timename "time"
76
77 extern int coopen(),coclose(),coread(),cowrite();
78 extern int cogetstat(),cosetstat(), coportdeath();
79 #define coname "co"
80
81 #include <sd.h>
82 #if NSD > 0
83 extern int sdopen(), sdread(), sdwrite(), sdgetstat();
84 #define sdname "sd"
85 #endif
86
87 #include <zd.h>
88 #if NZD > 0
89 extern int zdopen(), zdclose(), zdread(), zdwrite(), zdgetstat(), zd_devinfo();
90 #define zdname "zd"
91 #endif
92
93 #include <se.h>
94 #if NSE > 0
95 extern int se_open(), se_output(), se_getstat(), se_setstat();
96 extern int se_setinput();
97 #define sename "se"
98 #endif
99
100 /*
101 * List of devices. Console must be at slot 0.
102 */
103 struct dev_ops dev_name_list[] =
104 {
105 /*name, open, close, read,
106 write, getstat, setstat, mmap,
107 async_in, reset, port_death, subdev,
108 dev_info */
109
110 { coname, coopen, coclose, coread,
111 cowrite, cogetstat, cosetstat, nomap,
112 nodev, nulldev, coportdeath, 0,
113 nodev },
114
115 { timename, timeopen, timeclose, nulldev,
116 nulldev, nulldev, nulldev, timemmap,
117 nodev, nulldev, nulldev, 0,
118 nodev },
119
120 #if NSD > 0
121 { sdname, sdopen, nulldev, sdread,
122 sdwrite, sdgetstat, nulldev, block_io_mmap,
123 nulldev, nulldev, nulldev, 8,
124 nodev },
125 #endif
126
127 #if NZD > 0
128 { zdname, zdopen, zdclose, zdread,
129 zdwrite, zdgetstat, nulldev, block_io_mmap,
130 nodev, nulldev, nulldev, 8,
131 zd_devinfo },
132 #endif
133
134 #if NSE > 0
135 { sename, se_open, nulldev, nulldev,
136 se_output, se_getstat, se_setstat, nomap,
137 se_setinput, nulldev, nulldev, 0,
138 nodev },
139 #endif
140
141 };
142 int dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
143
144 /*
145 * Indirect list.
146 */
147 struct dev_indirect dev_indirect_list[] = {
148
149 /* console */
150 { "console", &dev_name_list[0], 0 }
151 };
152 int dev_indirect_count = sizeof(dev_indirect_list)
153 / sizeof(dev_indirect_list[0]);
Cache object: 34670d9049d91f69fa07793b54996d91
|