b9f78d2b4a
written by Stuart Walsh and Duncan Barclay (with some kibbitzing by me). I'm checking it in on Stuart's behalf. The BCM4401 is built into several x86 laptop and desktop systems. For the moment, I have only enabled it in the x86 kernel config because although it's a PCI device, I haven't heard of any standalone NICs that use it. If somebody knows of one, we can easily add it to the other arches. This driver uses register/structure data gleaned from the Linux driver released by Broadcom, but does not contain any of the code from the Linux driver itself. It uses busdma.
97 lines
2.8 KiB
Plaintext
97 lines
2.8 KiB
Plaintext
# $FreeBSD$
|
|
#
|
|
# Refer to devd.conf(5) and devd(8) man pages for the details on how to
|
|
# run and configure devd.
|
|
#
|
|
|
|
# NB: All regular expressions have an implicit ^$ around them.
|
|
# NB: device-name is shorthand for 'match device-name'
|
|
|
|
options {
|
|
# Each directory directive adds a directory the list of directories
|
|
# that we scan for files. Files are read-in in the order that they
|
|
# are returned from readdir(3). The rule-sets are combined to
|
|
# create a DFA that's used to match events to actions.
|
|
directory "/etc/devd";
|
|
directory "/usr/local/etc/devd";
|
|
pid-file "/var/run/devd.pid";
|
|
|
|
# Setup some shorthand for regex that we use later in the file.
|
|
set ethernet-nic-regex
|
|
"(an|ar|ath|aue|awi|bfe|bge|cm|cnw|cs|cue|dc|de|ed|el|em|ep|\
|
|
ex|fe|fxp|gem|gx|hme|ie|kue|lge|lnc|my|nge|pcn|ray|re|rl|rue|\
|
|
sf|sis|sk|sn|snc|ste|ti|tl|tx|txp|vr|vx|wb|wi|xe|xl)[0-9]+";
|
|
set scsi-controller-regex
|
|
"(adv|advw|aic|aha|ahb|ahc|ahd|bt|ct|iir|isp|mly|mpt|ncv|nsp|\
|
|
stg|sym|wds)[0-9]+";
|
|
};
|
|
|
|
# Note that the attach/detach with the highest value wins, so that one can
|
|
# override these general rules.
|
|
|
|
#
|
|
# For ethernet like devices, the default is to run dhclient. Due to
|
|
# a historical accident, the name of this script it called pccard_ether
|
|
#
|
|
attach 0 {
|
|
device-name "$ethernet-nic-regex";
|
|
action "/etc/pccard_ether $device-name start";
|
|
};
|
|
|
|
detach 0 {
|
|
device-name "$ethernet-nic-regex";
|
|
action "/etc/pccard_ether $device-name stop";
|
|
};
|
|
|
|
# An entry like this might be in a different file, but is included here
|
|
# as an example of how to override things. Normally 'ed50' would match
|
|
# the above attach/detach stuff, but the value of 100 makes it
|
|
# ed50 is hard wired to 1.2.3.4
|
|
attach 100 {
|
|
device-name "ed50";
|
|
action "ifconfig $device-name inet 1.2.3.4 netmask 0xffff0000";
|
|
};
|
|
detach 100 {
|
|
device-name "ed50";
|
|
};
|
|
|
|
#
|
|
# Rescan scsi device-names on attach, but not detach.
|
|
#
|
|
attach 0 {
|
|
device-name "$scsi-controller-regex";
|
|
action "camcontrol rescan all";
|
|
};
|
|
|
|
# Don't even try to second guess what to do about drivers that don't
|
|
# match here. Instead, pass it off to syslog. Commented out for the
|
|
# moment, as pnpinfo isn't set in devd yet
|
|
nomatch 0 {
|
|
# action "logger Unknown device: $pnpinfo $location $bus";
|
|
};
|
|
|
|
/* EXAMPLES TO END OF FILE
|
|
|
|
# The following might be an example of something that a vendor might
|
|
# install if you were to add their device. This might reside in
|
|
# /usr/local/etc/devd/deqna.conf. A deqna is, in this hypothetical
|
|
# example, a pccard ethernet-like device. Students of history may
|
|
# know other devices by this name, and will get the in-jokes in this
|
|
# entry.
|
|
nomatch 10 {
|
|
match "bus" "pccard[0-9]+";
|
|
match "manufacturer" "0x1234";
|
|
match "product" "0x2323";
|
|
action "kldload if_deqna";
|
|
};
|
|
attach 10 {
|
|
device-name "deqna[0-9]+";
|
|
action "/etc/pccard_ether $device-name start";
|
|
};
|
|
detach 10 {
|
|
device-name "deqna[0-9]+";
|
|
action "/etc/pccard_ether $device-name stop";
|
|
};
|
|
|
|
*/
|