diff options
author | martin <martin@FreeBSD.org> | 1996-06-09 14:44:17 +0000 |
---|---|---|
committer | martin <martin@FreeBSD.org> | 1996-06-09 14:44:17 +0000 |
commit | 2447acf83a8c0e704e8992fc7fc8092b62850e43 (patch) | |
tree | 7fa9c8c8dbe2a923dbc77b412b3ceab33f886e63 /sys/i386 | |
parent | 7d866de4251a56c68ead8b471b32fe48c47c9f43 (diff) | |
download | FreeBSD-src-2447acf83a8c0e704e8992fc7fc8092b62850e43.zip FreeBSD-src-2447acf83a8c0e704e8992fc7fc8092b62850e43.tar.gz |
Add a check in the SMC probe to verify that the card has an ethernet
address that starts with 0000C0xxxxxx. This prevents the probe code
from finding GUS cards.
Pointed out by: Seppo Kallio <kallio@kanto.cc.jyu.fi>
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/boot/netboot/ns8390.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/i386/boot/netboot/ns8390.c b/sys/i386/boot/netboot/ns8390.c index 9fb328d..e0875e2 100644 --- a/sys/i386/boot/netboot/ns8390.c +++ b/sys/i386/boot/netboot/ns8390.c @@ -75,6 +75,10 @@ eth_probe() for (eth_asic_base = WD_LOW_BASE; eth_asic_base <= WD_HIGH_BASE; eth_asic_base += 0x20) { chksum = 0; + /* Check for WD/SMC card by checking ethernet address */ + if (inb(eth_asic_base+8) != 0) continue; + if (inb(eth_asic_base+9) != 0) continue; + if (inb(eth_asic_base+10) != 0xC0) continue; for (i=8; i<16; i++) chksum += inb(i+eth_asic_base); if ((chksum & 0x00FF) == 0x00FF) |