diff options
| author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1994-12-31 17:09:58 +0000 |
|---|---|---|
| committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1994-12-31 17:09:58 +0000 |
| commit | 63c5d14d1bda92784fcd325bb497d0857ba5386e (patch) | |
| tree | 2fb5c9050c9385436aaba58bfe34ec3db8dd2f05 /sys/dev/ed | |
| parent | 19bc77635105de1708db75e6553a122de7344a5b (diff) | |
Notes
Diffstat (limited to 'sys/dev/ed')
| -rw-r--r-- | sys/dev/ed/if_ed.c | 24 |
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; |
