summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot/netboot
diff options
context:
space:
mode:
authormartin <martin@FreeBSD.org>1996-06-09 14:44:17 +0000
committermartin <martin@FreeBSD.org>1996-06-09 14:44:17 +0000
commit2447acf83a8c0e704e8992fc7fc8092b62850e43 (patch)
tree7fa9c8c8dbe2a923dbc77b412b3ceab33f886e63 /sys/i386/boot/netboot
parent7d866de4251a56c68ead8b471b32fe48c47c9f43 (diff)
downloadFreeBSD-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/boot/netboot')
-rw-r--r--sys/i386/boot/netboot/ns8390.c4
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)
OpenPOWER on IntegriCloud