aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ed
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1994-12-31 17:09:58 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1994-12-31 17:09:58 +0000
commit63c5d14d1bda92784fcd325bb497d0857ba5386e (patch)
tree2fb5c9050c9385436aaba58bfe34ec3db8dd2f05 /sys/dev/ed
parent19bc77635105de1708db75e6553a122de7344a5b (diff)
Notes
Diffstat (limited to 'sys/dev/ed')
-rw-r--r--sys/dev/ed/if_ed.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 39622f109728..629d8de77c85 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -13,7 +13,7 @@
* the SMC Elite Ultra (8216), the 3Com 3c503, the NE1000 and NE2000,
* and a variety of similar clones.
*
- * $Id: if_ed.c,v 1.58 1994/11/26 10:51:49 davidg Exp $
+ * $Id: if_ed.c,v 1.59 1994/12/22 21:56:03 wollman Exp $
*/
#include "ed.h"
@@ -367,15 +367,27 @@ ed_probe_WD80x3(isa_dev)
memsize = 16384;
isa16bit = 1;
break;
- case ED_TYPE_SMC8216C:
- sc->type_str = "SMC8216/SMC8216C";
- memsize = 16384;
+ case ED_TYPE_SMC8216C: /* 8216 has 16K shared mem -- 8416 has 8K */
+ (unsigned int) *(isa_dev->id_maddr+8192) = (unsigned int)0;
+ if ((unsigned int) *(isa_dev->id_maddr+8192)) {
+ sc->type_str = "SMC8416C/SMC8416BT";
+ memsize = 8192;
+ } else {
+ sc->type_str = "SMC8216/SMC8216C";
+ memsize = 16384;
+ }
isa16bit = 1;
sc->is790 = 1;
break;
case ED_TYPE_SMC8216T:
- sc->type_str = "SMC8216T";
- memsize = 16384;
+ (unsigned int) *(isa_dev->id_maddr+8192) = (unsigned int)0;
+ if ((unsigned int) *(isa_dev->id_maddr+8192)) {
+ sc->type_str = "SMC8416T";
+ memsize = 8192;
+ } else {
+ sc->type_str = "SMC8216T";
+ memsize = 16384;
+ }
isa16bit = 1;
sc->is790 = 1;
break;