]> CyberLeo.Net >> Repos - CDN/Mosi.git/blob - targets/i386/NEPETA/config/overlay/etc/rc.d/atacontrol
targets/i386/NEPETA: fix boot.config; disable DMA to allow the CF card to boot; enabl...
[CDN/Mosi.git] / targets / i386 / NEPETA / config / overlay / etc / rc.d / atacontrol
1 #!/bin/sh
2
3 # PROVIDE: atacontrol
4 # REQUIRE: 
5 # BEFORE: FILESYSTEMS fsck zvol
6 # KEYWORD: nojail
7
8 # Usage: /etc/rc.conf
9 # atacontrol_enable="YES"            # Enable
10 # atacontrol_devs="ad4 ad5 ad6 ad7"  # List of devices to care about
11 # atacontrol_all_mode="UDMA100"      # Mode for all devices in _devs
12 # atacontrol_all_spindown="900"      # Spindown time for all devices in _devs
13 # atacontrol_ad7_mode="UDMA133"      # Override _mode for ad7
14 # atacontrol_ad7_spindown="900"      # Override _spindown for ad7
15
16 . /etc/rc.subr
17
18 name="atacontrol"
19 start_cmd="atacontrol_start"
20
21 atacontrol_start() {
22   local dev mode spin
23   if [ "${atacontrol_devs}" ]
24   then
25     for dev in ${atacontrol_devs}
26     do
27       dev="$(basename "${dev}")"
28       [ -e "/dev/${dev}" ] || continue
29       mode="$(eval echo \${atacontrol_${dev}_mode:-${atacontrol_all_mode}})"
30       spin="$(eval echo \${atacontrol_${dev}_spindown:-${atacontrol_all_spindown}})"
31       printf "atacontrol %s: ${mode:+mode: %s }${spin:+spindown: %s}\n" "${dev}" "${mode}" "${spin}"
32       [ "${mode}" ] && /sbin/atacontrol mode "${dev}" "${mode}" >&-
33       [ "${spin}" ] && /sbin/atacontrol spindown "${dev}" "${spin}" && \
34         /bin/dd if="/dev/${dev}" of=/dev/null bs=512 count=1 2>&- &
35     done
36   fi
37 }
38
39 load_rc_config $name
40 run_rc_command "$1"