|
|
1.1 ! root 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 [email protected] ! 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: * Olivetti PC586 Mach Ethernet driver v1.0 ! 28: * Copyright Ing. C. Olivetti & C. S.p.A. 1988, 1989 ! 29: * All rights reserved. ! 30: * ! 31: */ ! 32: /* ! 33: Copyright 1988, 1989 by Olivetti Advanced Technology Center, Inc., ! 34: Cupertino, California. ! 35: ! 36: All Rights Reserved ! 37: ! 38: Permission to use, copy, modify, and distribute this software and ! 39: its documentation for any purpose and without fee is hereby ! 40: granted, provided that the above copyright notice appears in all ! 41: copies and that both the copyright notice and this permission notice ! 42: appear in supporting documentation, and that the name of Olivetti ! 43: not be used in advertising or publicity pertaining to distribution ! 44: of the software without specific, written prior permission. ! 45: ! 46: OLIVETTI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE ! 47: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, ! 48: IN NO EVENT SHALL OLIVETTI BE LIABLE FOR ANY SPECIAL, INDIRECT, OR ! 49: CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM ! 50: LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, ! 51: NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUR OF OR IN CONNECTION ! 52: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ! 53: */ ! 54: ! 55: /* ! 56: Copyright 1988, 1989 by Intel Corporation, Santa Clara, California. ! 57: ! 58: All Rights Reserved ! 59: ! 60: Permission to use, copy, modify, and distribute this software and ! 61: its documentation for any purpose and without fee is hereby ! 62: granted, provided that the above copyright notice appears in all ! 63: copies and that both the copyright notice and this permission notice ! 64: appear in supporting documentation, and that the name of Intel ! 65: not be used in advertising or publicity pertaining to distribution ! 66: of the software without specific, written prior permission. ! 67: ! 68: INTEL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE ! 69: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, ! 70: IN NO EVENT SHALL INTEL BE LIABLE FOR ANY SPECIAL, INDIRECT, OR ! 71: CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM ! 72: LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, ! 73: NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION ! 74: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ! 75: */ ! 76: ! 77: #include <i386at/i82586.h> /* chip/board specific defines */ ! 78: ! 79: #define STATUS_TRIES 15000 ! 80: #define ETHER_ADD_SIZE 6 /* size of a MAC address */ ! 81: #define ETHER_PCK_SIZE 1500 /* maximum size of an ethernet packet */ ! 82: ! 83: /* ! 84: * Board Specific Defines: ! 85: */ ! 86: ! 87: #define OFFSET_NORMMODE 0x3000 ! 88: #define OFFSET_CHANATT 0x3002 ! 89: #define OFFSET_RESET 0x3004 ! 90: #define OFFSET_INTENAB 0x3006 ! 91: #define OFFSET_XFERMODE 0x3008 ! 92: #define OFFSET_SYSTYPE 0x300a ! 93: #define OFFSET_INTSTAT 0x300c ! 94: #define OFFSET_PROM 0x2000 ! 95: ! 96: #define EXTENDED_ADDR 0x20000 ! 97: #define OFFSET_SCP (0x7ff6 - 0x4000) ! 98: #define OFFSET_ISCP (0x7fee - 0x4000) ! 99: #define OFFSET_SCB (0x7fde - 0x4000) ! 100: #define OFFSET_RU (0x4000 - 0x4000) ! 101: #define OFFSET_RBD (0x4228 - 0x4000) ! 102: #define OFFSET_CU (0x7814 - 0x4000) ! 103: ! 104: #define OFFSET_TBD (0x7914 - 0x4000) ! 105: #define OFFSET_TBUF (0x79a4 - 0x4000) ! 106: #define N_FD 25 ! 107: #define N_RBD 25 ! 108: #define N_TBD 18 ! 109: #define RCVBUFSIZE 540 ! 110: #define DL_DEAD 0xffff ! 111: ! 112: #define CMD_0 0 ! 113: #define CMD_1 0xffff ! 114: ! 115: #define PC586NULL 0xffff /* pc586 NULL for lists */ ! 116: ! 117: #define DSF_LOCK 1 ! 118: #define DSF_RUNNING 2 ! 119: ! 120: #define MOD_ENAL 1 ! 121: #define MOD_PROM 2 ! 122: ! 123: /* ! 124: * Driver (not board) specific defines and structures: ! 125: */ ! 126: ! 127: typedef struct { ! 128: rbd_t r; ! 129: char rbd_pad[2]; ! 130: char rbuffer[RCVBUFSIZE]; ! 131: } ru_t; ! 132: ! 133: #ifdef MACH_KERNEL ! 134: #else MACH_KERNEL ! 135: #ifndef TRUE ! 136: #define TRUE 1 ! 137: #endif TRUE ! 138: #define HZ 100 ! 139: #endif MACH_KERNEL
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.