FreeBSD/Linux Kernel Cross Reference
sys/i386at/if_pc586.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
4 * All Rights Reserved.
5 *
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
11 *
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: if_pc586.h,v $
29 * Revision 2.9 93/11/17 16:48:51 dbg
30 * Removed non-MACH_KERNEL code.
31 * [93/01/29 dbg]
32 *
33 * Revision 2.8 93/08/10 15:58:09 mrt
34 * 123e-346 is exponential notation in 2.4.4 NOT subtraction.
35 * sigh ...
36 * [93/07/19 rvb]
37 *
38 * Revision 2.7 91/05/14 16:25:55 mrt
39 * Correcting copyright
40 *
41 * Revision 2.6 91/02/05 17:18:33 mrt
42 * Changed to new Mach copyright
43 * [91/02/01 17:44:42 mrt]
44 *
45 * Revision 2.5 90/11/26 14:50:05 rvb
46 * jsb beat me to XMK34, sigh ...
47 * [90/11/26 rvb]
48 * Synched 2.5 & 3.0 at I386q (r1.6.1.5) & XMK35 (r2.5)
49 * [90/11/15 rvb]
50 *
51 * Revision 2.4 90/11/05 14:28:26 rpd
52 * Create 18 TBD's so that we can copy up a chain of
53 * mbuf's.
54 * [90/10/03 rvb]
55 *
56 * Revision 1.6.1.4 90/07/27 11:26:20 rvb
57 * Fix Intel Copyright as per B. Davies authorization.
58 * [90/07/27 rvb]
59 *
60 * Revision 1.6.1.3 90/07/10 11:43:56 rvb
61 * Fix sram addresses to be relative to sram start.
62 * [90/06/25 rvb]
63 *
64 * Revision 1.6.1.2 90/02/28 15:49:56 rvb
65 * Fix numerous typo's in Olivetti disclaimer.
66 * Bump STATUS_TRIES to 15000
67 * [90/02/28 rvb]
68 *
69 * Revision 1.6.1.1 90/01/08 13:31:14 rvb
70 * Add Intel copyright.
71 * Add Olivetti copyright.
72 * [90/01/08 rvb]
73 *
74 * Revision 1.6 89/07/17 10:40:51 rvb
75 * Olivetti Changes to X79 upto 5/9/89:
76 * [89/07/11 rvb]
77 *
78 * Revision 1.5 89/04/05 13:01:44 rvb
79 * Pulled "softc" structure and moved it to .c file like any other
80 * "vax" ether driver would do.
81 * [89/03/07 rvb]
82 *
83 * collapse pack_u_long_t for gcc.
84 * [89/03/06 rvb]
85 *
86 * Revision 1.4 89/03/09 20:06:15 rpd
87 * More cleanup.
88 *
89 * Revision 1.3 89/02/26 12:42:24 gm0w
90 * Changes for cleanup.
91 *
92 */
93
94 /*
95 * Olivetti PC586 Mach Ethernet driver v1.0
96 * Copyright Ing. C. Olivetti & C. S.p.A. 1988, 1989
97 * All rights reserved.
98 *
99 */
100 /*
101 Copyright 1988, 1989 by Olivetti Advanced Technology Center, Inc.,
102 Cupertino, California.
103
104 All Rights Reserved
105
106 Permission to use, copy, modify, and distribute this software and
107 its documentation for any purpose and without fee is hereby
108 granted, provided that the above copyright notice appears in all
109 copies and that both the copyright notice and this permission notice
110 appear in supporting documentation, and that the name of Olivetti
111 not be used in advertising or publicity pertaining to distribution
112 of the software without specific, written prior permission.
113
114 OLIVETTI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
115 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
116 IN NO EVENT SHALL OLIVETTI BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
117 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
118 LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
119 NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUR OF OR IN CONNECTION
120 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
121 */
122
123 /*
124 Copyright 1988, 1989 by Intel Corporation, Santa Clara, California.
125
126 All Rights Reserved
127
128 Permission to use, copy, modify, and distribute this software and
129 its documentation for any purpose and without fee is hereby
130 granted, provided that the above copyright notice appears in all
131 copies and that both the copyright notice and this permission notice
132 appear in supporting documentation, and that the name of Intel
133 not be used in advertising or publicity pertaining to distribution
134 of the software without specific, written prior permission.
135
136 INTEL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
137 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
138 IN NO EVENT SHALL INTEL BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
139 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
140 LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
141 NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
142 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
143 */
144
145 #include <i386at/i82586.h> /* chip/board specific defines */
146
147 #define STATUS_TRIES 15000
148 #define ETHER_ADD_SIZE 6 /* size of a MAC address */
149 #define ETHER_PCK_SIZE 1500 /* maximum size of an ethernet packet */
150
151 /*
152 * Board Specific Defines:
153 */
154
155 #define OFFSET_NORMMODE 0x3000
156 #define OFFSET_CHANATT 0x3002
157 #define OFFSET_RESET 0x3004
158 #define OFFSET_INTENAB 0x3006
159 #define OFFSET_XFERMODE 0x3008
160 #define OFFSET_SYSTYPE 0x300a
161 #define OFFSET_INTSTAT 0x300c
162 #define OFFSET_PROM 0x2000
163
164 #define EXTENDED_ADDR 0x20000
165 #define OFFSET_SCP (0x7ff6 - 0x4000)
166 #define OFFSET_ISCP (0x7fee - 0x4000)
167 #define OFFSET_SCB (0x7fde - 0x4000)
168 #define OFFSET_RU (0x4000 - 0x4000)
169 #define OFFSET_RBD (0x4228 - 0x4000)
170 #define OFFSET_CU (0x7814 - 0x4000)
171
172 #define OFFSET_TBD (0x7914 - 0x4000)
173 #define OFFSET_TBUF (0x79a4 - 0x4000)
174 #define N_FD 25
175 #define N_RBD 25
176 #define N_TBD 18
177 #define RCVBUFSIZE 540
178 #define DL_DEAD 0xffff
179
180 #define CMD_0 0
181 #define CMD_1 0xffff
182
183 #define PC586NULL 0xffff /* pc586 NULL for lists */
184
185 #define DSF_LOCK 1
186 #define DSF_RUNNING 2
187
188 #define MOD_ENAL 1
189 #define MOD_PROM 2
190
191 /*
192 * Driver (not board) specific defines and structures:
193 */
194
195 typedef struct {
196 rbd_t r;
197 char rbd_pad[2];
198 char rbuffer[RCVBUFSIZE];
199 } ru_t;
200
Cache object: fd88bdeda17e598d3565637f761c6b8c
|