#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin set -e # This only applies to UltraSPARC's [ `uname -m` = "sparc64" ] || exit 0 # The microcode loader binary and the microcode itself must exist. if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ]; then exit fi # Need a better way to test this [ `dmesg | grep -c "Elite 3D"` -ne 0 ] || exit case "$1" in start) # Make FB device list. afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'` # Load microcode onto each card. for AFB in ${afb_devs}; do echo -n "${AFB}: Loading Elite3D microcode... " /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode echo "done." done ;; stop|restart|force-reload) # Nothing ;; *) echo "Usage: $0 start" >&2 exit 1 ;; esac exit 0