Annotation of kernel/bsd/if/ppc/mace.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /*
                     26:  * Copyright 1996 1995 by Open Software Foundation, Inc. 1997 1996 1995 1994 1993 1992 1991  
                     27:  *              All Rights Reserved 
                     28:  *  
                     29:  * Permission to use, copy, modify, and distribute this software and 
                     30:  * its documentation for any purpose and without fee is hereby granted, 
                     31:  * provided that the above copyright notice appears in all copies and 
                     32:  * that both the copyright notice and this permission notice appear in 
                     33:  * supporting documentation. 
                     34:  *  
                     35:  * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE 
                     36:  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
                     37:  * FOR A PARTICULAR PURPOSE. 
                     38:  *  
                     39:  * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR 
                     40:  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
                     41:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, 
                     42:  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 
                     43:  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
                     44:  * 
                     45:  */
                     46: /*
                     47:  * Copyright 1996 1995 by Apple Computer, Inc. 1997 1996 1995 1994 1993 1992 1991  
                     48:  *              All Rights Reserved 
                     49:  *  
                     50:  * Permission to use, copy, modify, and distribute this software and 
                     51:  * its documentation for any purpose and without fee is hereby granted, 
                     52:  * provided that the above copyright notice appears in all copies and 
                     53:  * that both the copyright notice and this permission notice appear in 
                     54:  * supporting documentation. 
                     55:  *  
                     56:  * APPLE COMPUTER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE 
                     57:  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
                     58:  * FOR A PARTICULAR PURPOSE. 
                     59:  *  
                     60:  * IN NO EVENT SHALL APPLE COMPUTER BE LIABLE FOR ANY SPECIAL, INDIRECT, OR 
                     61:  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
                     62:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, 
                     63:  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 
                     64:  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
                     65:  */
                     66: /*
                     67:  * MKLINUX-1.0DR2
                     68:  */
                     69: /* 
                     70:  * PMach Operating System
                     71:  * Copyright (c) 1995 Santa Clara University
                     72:  * All Rights Reserved.
                     73:  */
                     74: /* 
                     75:  * Mach Operating System
                     76:  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
                     77:  * All Rights Reserved.
                     78:  * 
                     79:  * Permission to use, copy, modify and distribute this software and its
                     80:  * documentation is hereby granted, provided that both the copyright
                     81:  * notice and this permission notice appear in all copies of the
                     82:  * software, derivative works or modified versions, and any portions
                     83:  * thereof, and that both notices appear in supporting documentation.
                     84:  * 
                     85:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     86:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     87:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     88:  * 
                     89:  * Carnegie Mellon requests users of this software to return to
                     90:  * 
                     91:  *  Software Distribution Coordinator  or  [email protected]
                     92:  *  School of Computer Science
                     93:  *  Carnegie Mellon University
                     94:  *  Pittsburgh PA 15213-3890
                     95:  * 
                     96:  * any improvements or extensions that they make and grant Carnegie Mellon
                     97:  * the rights to redistribute these changes.
                     98:  */
                     99: /*
                    100:  *     File:   if_3c501.h
                    101:  *     Author: Philippe Bernadat
                    102:  *     Date:   1989
                    103:  *     Copyright (c) 1989 OSF Research Institute 
                    104:  *
                    105:  *     3COM Etherlink 3C501 Mach Ethernet drvier
                    106:  */
                    107: /*
                    108:   Copyright 1990 by Open Software Foundation,
                    109: Cambridge, MA.
                    110: 
                    111:                All Rights Reserved
                    112: 
                    113:   Permission to use, copy, modify, and distribute this software and
                    114: its documentation for any purpose and without fee is hereby granted,
                    115: provided that the above copyright notice appears in all copies and
                    116: that both the copyright notice and this permission notice appear in
                    117: supporting documentation, and that the name of OSF or Open Software
                    118: Foundation not be used in advertising or publicity pertaining to
                    119: distribution of the software without specific, written prior
                    120: permission.
                    121: 
                    122:   OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
                    123: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
                    124: IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
                    125: CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
                    126: LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
                    127: NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
                    128: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                    129: */
                    130: 
                    131: #ifdef _KERNEL
                    132: #include <sys/cdefs.h>
                    133: #endif
                    134: 
                    135: 
                    136: #define ENETPAD(n)      char n[15] 
                    137: 
                    138: /* 0x50f0a000 */
                    139: struct mace_board {
                    140:      volatile unsigned char   rcvfifo;  /* 00  receive fifo */
                    141:      ENETPAD(epad0);
                    142:      volatile unsigned char   xmtfifo;  /* 01  transmit fifo */
                    143:      ENETPAD(epad1);
                    144:      volatile unsigned char   xmtfc;    /* 02  transmit frame control */
                    145:      ENETPAD(epad2);
                    146:      volatile unsigned char   xmtfs;    /* 03  transmit frame status */
                    147:      ENETPAD(epad3);
                    148:      volatile unsigned char   xmtrc;    /* 04  transmit retry count */
                    149:      ENETPAD(epad4);
                    150:      volatile unsigned char   rcvfc;    /* 05  receive frame control -- 4 bytes */
                    151:      ENETPAD(epad5); 
                    152:      volatile unsigned char   rcvfs;    /* 06  receive frame status */
                    153:      ENETPAD(epad6);
                    154:      volatile unsigned char   fifofc;   /* 07  fifo frame count */
                    155:      ENETPAD(epad7);
                    156:      volatile unsigned char   ir;       /* 08  interrupt */
                    157:      ENETPAD(epad8);
                    158:      volatile unsigned char   imr;      /* 09  interrupt mask */
                    159:      ENETPAD(epad9);
                    160:      volatile unsigned char   pr;       /* 10  poll */
                    161:      ENETPAD(epad10);
                    162:      volatile unsigned char   biucc;    /* 11  bus interface unit configuration control */
                    163:      ENETPAD(epad11);
                    164:      volatile unsigned char   fifocc;   /* 12  fifo configuration control */
                    165:      ENETPAD(epad12);
                    166:      volatile unsigned char   maccc;    /* 13  media access control configuration control */
                    167:      ENETPAD(epad13);
                    168:      volatile unsigned char   plscc;    /* 14  physical layer signalling configuration control */
                    169:      ENETPAD(epad14);
                    170:      volatile unsigned char   phycc;    /* 15  physical layer configuration control */
                    171:      ENETPAD(epad15);
                    172:      volatile unsigned char   chipid1;  /* 16  chip identification LSB */
                    173:      ENETPAD(epad16);
                    174:      volatile unsigned char   chipid2;  /* 17  chip identification MSB */
                    175:      ENETPAD(epad17);
                    176:      volatile unsigned char   iac;      /* 18  internal address configuration */
                    177:      ENETPAD(epad18);
                    178:      volatile unsigned char   res1;     /* 19  */
                    179:      ENETPAD(epad19);
                    180:      volatile unsigned char   ladrf;    /* 20  logical address filter -- 8 bytes */
                    181:      ENETPAD(epad20);
                    182:      volatile unsigned char   padr;     /* 21  physical address -- 6 bytes */
                    183:      ENETPAD(epad21);
                    184:      volatile unsigned char   res2;     /* 22  */
                    185:      ENETPAD(epad22);
                    186:      volatile unsigned char   res3;     /* 23  */
                    187:      ENETPAD(epad23);
                    188:      volatile unsigned char   mpc;      /* 24  missed packet count */
                    189:      ENETPAD(epad24);
                    190:      volatile unsigned char   res4;     /* 25  */
                    191:      ENETPAD(epad25);
                    192:      volatile unsigned char   rntpc;    /* 26  runt packet count */
                    193:      ENETPAD(epad26);
                    194:      volatile unsigned char   rcvcc;    /* 27  receive collision count */
                    195:      ENETPAD(epad27);
                    196:      volatile unsigned char   res5;     /* 28  */
                    197:      ENETPAD(epad28);
                    198:      volatile unsigned char   utr;      /* 29  user test */
                    199:      ENETPAD(epad29);
                    200:      volatile unsigned char   res6;     /* 30  */
                    201:      ENETPAD(epad30);
                    202:      volatile unsigned char   res7;     /* 31  */
                    203:      };
                    204: 
                    205: /*
                    206:  * Chip Revisions..
                    207:  */
                    208: 
                    209: #define        MACE_REVISION_B0        0x0940
                    210: #define        MACE_REVISION_A2        0x0941
                    211: 
                    212: /* xmtfc */
                    213: #define XMTFC_DRTRY       0X80
                    214: #define XMTFC_DXMTFCS     0x08
                    215: #define XMTFC_APADXNT     0x01
                    216: 
                    217: /* xmtfs */
                    218: #define XMTFS_XNTSV    0x80
                    219: #define XMTFS_XMTFS    0x40
                    220: #define XMTFS_LCOL     0x20
                    221: #define XMTFS_MORE     0x10
                    222: #define XMTFS_ONE      0x08
                    223: #define XMTFS_DEFER    0x04
                    224: #define XMTFS_LCAR     0x02
                    225: #define XMTFS_RTRY     0x01
                    226: 
                    227: /* xmtrc */
                    228: #define XMTRC_EXDEF  0x80
                    229: 
                    230: /* rcvfc */
                    231: #define RCVFC_LLRCV       0x08
                    232: #define RCVFC_M_R         0x04
                    233: #define RCVFC_ASTRPRCV    0x01
                    234: 
                    235: /* rcvfs */
                    236: #define RCVFS_OFLO     0x80
                    237: #define RCVFS_CLSN     0x40
                    238: #define RCVFS_FRAM     0x20
                    239: #define RCVFS_FCS      0x10
                    240: #define RCVFS_REVCNT   0x0f
                    241: 
                    242: /* fifofc */
                    243: #define        FIFOCC_XFW_8    0x00 
                    244: #define        FIFOCC_XFW_16   0x40 
                    245: #define        FIFOCC_XFW_32   0x80 
                    246: #define        FIFOCC_XFW_XX   0xc0 
                    247: #define        FIFOCC_RFW_16   0x00 
                    248: #define        FIFOCC_RFW_32   0x10 
                    249: #define        FIFOCC_RFW_64   0x20 
                    250: #define        FIFOCC_RFW_XX   0x30 
                    251: #define FIFOCC_XFWU    0x08    
                    252: #define FIFOCC_RFWU    0x04    
                    253: #define FIFOCC_XBRST   0x02    
                    254: #define FIFOCC_RBRST   0x01    
                    255: 
                    256: 
                    257: /* ir */
                    258: #define IR_JAB         0x80
                    259: #define IR_BABL        0x40
                    260: #define IR_CERR        0x20
                    261: #define IR_RCVCCO      0x10
                    262: #define IR_RNTPCO      0x08
                    263: #define IR_MPCO        0x04
                    264: #define IR_RCVINT      0x02
                    265: #define IR_XMTINT      0x01
                    266: 
                    267: /* imr */
                    268: #define IMR_MJAB       0x80
                    269: #define IMR_MBABL      0x40
                    270: #define IMR_MCERR      0x20
                    271: #define IMR_MRCVCCO    0x10
                    272: #define IMR_MRNTPCO    0x08
                    273: #define IMR_MMPCO      0x04
                    274: #define IMR_MRCVINT    0x02
                    275: #define IMR_MXMTINT    0x01
                    276: 
                    277: /* pr */
                    278: #define PR_XMTSV       0x80
                    279: #define PR_TDTREQ      0x40
                    280: #define PR_RDTREQ      0x20
                    281: 
                    282: /* biucc */
                    283: #define BIUCC_BSWP        0x40
                    284: #define BIUCC_XMTSP04     0x00
                    285: #define BIUCC_XMTSP16     0x10
                    286: #define BIUCC_XMTSP64     0x20
                    287: #define BIUCC_XMTSP112    0x30
                    288: #define BIUCC_SWRST       0x01
                    289: 
                    290: /* fifocc */
                    291: #define FIFOCC_XMTFW08W    0x00
                    292: #define FIFOCC_XMTFW16W    0x40
                    293: #define FIFOCC_XMTFW32W    0x80
                    294: 
                    295: #define FIFOCC_RCVFW16     0x00     
                    296: #define FIFOCC_RCVFW32     0x10
                    297: #define FIFOCC_RCVFW64     0x20
                    298: 
                    299: #define FIFOCC_XMTFWU      0x08
                    300: #define FIFOCC_RCVFWU      0x04
                    301: #define FIFOCC_XMTBRST     0x02
                    302: #define FIFOCC_RCVBRST     0x01
                    303: 
                    304: /* maccc */
                    305: #define MACCC_PROM        0x80
                    306: #define MACCC_DXMT2PD     0x40
                    307: #define MACCC_EMBA        0x20
                    308: #define MACCC_DRCVPA      0x08
                    309: #define MACCC_DRCVBC      0x04
                    310: #define MACCC_ENXMT       0x02
                    311: #define MACCC_ENRCV       0x01
                    312: 
                    313: /* plscc */
                    314: #define PLSCC_XMTSEL      0x08
                    315: #define PLSCC_AUI         0x00
                    316: #define PLSCC_TENBASE     0x02
                    317: #define PLSCC_DAI         0x04
                    318: #define PLSCC_GPSI        0x06
                    319: #define PLSCC_ENPLSIO     0x01
                    320: 
                    321: /* phycc */
                    322: #define PHYCC_LNKFL       0x80
                    323: #define PHYCC_DLNKTST     0x40
                    324: #define PHYCC_REVPOL      0x20
                    325: #define PHYCC_DAPC        0x10
                    326: #define PHYCC_LRT         0x08
                    327: #define PHYCC_ASEL        0x04
                    328: #define PHYCC_RWAKE       0x02
                    329: #define PHYCC_AWAKE       0x01
                    330: 
                    331: /* iac */
                    332: #define IAC_ADDRCHG     0x80
                    333: #define IAC_PHYADDR     0x04
                    334: #define IAC_LOGADDR     0x02
                    335: 
                    336: /* utr */
                    337: #define UTR_RTRE        0x80
                    338: #define UTR_RTRD        0x40
                    339: #define UTR_RPA         0x20
                    340: #define UTR_FCOLL       0x10
                    341: #define UTR_RCVFCSE     0x08
                    342: 
                    343: #define UTR_NOLOOP      0x00
                    344: #define UTR_EXTLOOP     0x02
                    345: #define UTR_INLOOP      0x04
                    346: #define UTR_INLOOP_M    0x06
                    347: 
                    348: #define ENET_PHYADDR_LEN       6
                    349: #define ENET_HEADER         14
                    350: 
                    351: #define BFRSIZ         2048
                    352: #define ETHER_ADD_SIZE 6       /* size of a MAC address */
                    353: #define        DSF_LOCK        1
                    354: #define DSF_RUNNING    2
                    355: #define MOD_ENAL 1
                    356: #define MOD_PROM 2
                    357: 
                    358: /*
                    359:  * MACE Chip revision codes
                    360:  */
                    361: #define MACERevA2       0x0941
                    362: #define MACERevB0       0x0940
                    363: 
                    364: #ifdef _KERNEL
                    365: int    mace_delmulti __P((register struct ifreq *, register struct arpcom *,
                    366:              struct ether_addr *));
                    367: int    mace_addmulti __P((register struct ifreq *, register struct arpcom *));
                    368: void   mace_sync_mcast __P((register struct ifnet *));
                    369: void   mace_sync_promisc __P((register struct ifnet *));
                    370: #endif /* _KERNEL */
                    371: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.