diff options
author | peter <peter@FreeBSD.org> | 1997-11-08 14:46:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-11-08 14:46:58 +0000 |
commit | 84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a (patch) | |
tree | 89d0fc15ebae8d63287514887c53064891aa6f0f /sys | |
parent | 85bb474e6293f851163fe53ad0957970f8a9bb18 (diff) | |
download | FreeBSD-src-84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a.zip FreeBSD-src-84ea1e1ecb5cb8ef08d39e69f4cc8e455dbfea7a.tar.gz |
Merge 971020 stuff.. Check 21142? SROM CRC.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/de/if_de.c | 15 | ||||
-rw-r--r-- | sys/dev/de/if_devar.h | 5 | ||||
-rw-r--r-- | sys/pci/if_de.c | 15 | ||||
-rw-r--r-- | sys/pci/if_devar.h | 5 |
4 files changed, 26 insertions, 14 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) */ diff --git a/sys/pci/if_de.c b/sys/pci/if_de.c index f5e2a82..2249425 100644 --- a/sys/pci/if_de.c +++ b/sys/pci/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/pci/if_devar.h b/sys/pci/if_devar.h index 3bd2c31..d4a7c68 100644 --- a/sys/pci/if_devar.h +++ b/sys/pci/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) */ |