summaryrefslogtreecommitdiffstats
path: root/sys/dev/de
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1997-11-08 14:46:58 +0000
committerpeter <peter@FreeBSD.org>1997-11-08 14:46:58 +0000
commit84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a (patch)
tree89d0fc15ebae8d63287514887c53064891aa6f0f /sys/dev/de
parent85bb474e6293f851163fe53ad0957970f8a9bb18 (diff)
downloadFreeBSD-src-84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a.zip
FreeBSD-src-84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a.tar.gz
Merge 971020 stuff.. Check 21142? SROM CRC.
Diffstat (limited to 'sys/dev/de')
-rw-r--r--sys/dev/de/if_de.c15
-rw-r--r--sys/dev/de/if_devar.h5
2 files changed, 13 insertions, 7 deletions
diff --git a/sys/dev/de/if_de.c b/sys/dev/de/if_de.c
index f5e2a82..2249425 100644
--- a/sys/dev/de/if_de.c
+++ b/sys/dev/de/if_de.c
@@ -1,5 +1,5 @@
-/* $NetBSD: if_de.c,v 1.55 1997/10/16 22:02:27 matt Exp $ */
-/* $Id: if_de.c,v 1.72 1997/10/18 18:15:02 peter Exp $ */
+/* $NetBSD: if_de.c,v 1.56 1997/10/20 14:32:46 matt Exp $ */
+/* $Id: if_de.c,v 1.73 1997/10/25 14:32:15 phk Exp $ */
/*-
* Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
@@ -2774,7 +2774,7 @@ tulip_read_macaddr(
* SROM CRC is valid therefore it must be in the
* new format.
*/
- sc->tulip_features |= TULIP_HAVE_ISVSROM;
+ sc->tulip_features |= TULIP_HAVE_ISVSROM|TULIP_HAVE_OKSROM;
} else if (sc->tulip_rombuf[126] == 0xff && sc->tulip_rombuf[127] == 0xFF) {
/*
* No checksum is present. See if the SROM id checks out;
@@ -2787,6 +2787,9 @@ tulip_read_macaddr(
}
if (idx == 18 && sc->tulip_rombuf[18] == 1 && sc->tulip_rombuf[19] != 0)
sc->tulip_features |= TULIP_HAVE_ISVSROM;
+ } else if (sc->tulip_chipid >= TULIP_21142) {
+ sc->tulip_features |= TULIP_HAVE_ISVSROM;
+ sc->tulip_boardsw = &tulip_2114x_isv_boardsw;
}
if ((sc->tulip_features & TULIP_HAVE_ISVSROM) && tulip_srom_decode(sc)) {
if (sc->tulip_chipid != TULIP_21041)
@@ -4707,12 +4710,14 @@ tulip_attach(
#if defined(__bsdi__)
"\n"
#endif
- TULIP_PRINTF_FMT ": %s%s pass %d.%d\n",
+ TULIP_PRINTF_FMT ": %s%s pass %d.%d%s\n",
TULIP_PRINTF_ARGS,
sc->tulip_boardid,
tulip_chipdescs[sc->tulip_chipid],
(sc->tulip_revinfo & 0xF0) >> 4,
- sc->tulip_revinfo & 0x0F);
+ sc->tulip_revinfo & 0x0F,
+ (sc->tulip_features & (TULIP_HAVE_ISVSROM|TULIP_HAVE_OKSROM))
+ == TULIP_HAVE_ISVSROM ? " (invalid EESPROM checksum)" : "");
printf(TULIP_PRINTF_FMT ": address " TULIP_EADDR_FMT "\n",
TULIP_PRINTF_ARGS,
TULIP_EADDR_ARGS(sc->tulip_enaddr));
diff --git a/sys/dev/de/if_devar.h b/sys/dev/de/if_devar.h
index 3bd2c31..d4a7c68 100644
--- a/sys/dev/de/if_devar.h
+++ b/sys/dev/de/if_devar.h
@@ -1,5 +1,5 @@
-/* $NetBSD: if_devar.h,v 1.21 1997/10/16 22:02:32 matt Exp $ */
-/* $Id$ */
+/* $NetBSD: if_devar.h,v 1.22 1997/10/20 14:33:01 matt Exp $ */
+/* $Id: if_devar.h,v 1.3 1997/10/18 18:15:03 peter Exp $ */
/*-
* Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
@@ -552,6 +552,7 @@ struct _tulip_softc_t {
#define TULIP_HAVE_NOMEDIA 0x00004000 /* did not detect any media */
#define TULIP_HAVE_STOREFWD 0x00008000 /* have CMD_STOREFWD */
#define TULIP_HAVE_SIA100 0x00010000 /* has LS100 in SIA status */
+#define TULIP_HAVE_OKSROM 0x00020000 /* SROM CRC is OK */
u_int32_t tulip_intrmask; /* our copy of csr_intr */
u_int32_t tulip_cmdmode; /* our copy of csr_cmdmode */
u_int32_t tulip_last_system_error : 3; /* last system error (only value is TULIP_SYSTEMERROR is also set) */
OpenPOWER on IntegriCloud