FreeBSD-5.3/etc/rc.d/archdep

#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/archdep,v 1.6.2.1 2004/10/10 09:50:53 mtm Exp $
#

# PROVIDE: archdep
# REQUIRE: LOGIN
# BEFORE: abi
# KEYWORD: nojail

. /etc/rc.subr

name=archdep
load_rc_config $name

# should we print out unaligned access warnings?
#
unaligned_warnings()
{
	if ! checkyesno unaligned_print; then
		sysctl machdep.unaligned_print=0
	fi
}

# Alpha OSF/1 binary emulation
#
osf1_compat()
{
	if checkyesno osf1_enable; then
		echo -n ' OSF/1'
		if ! kldstat -v | grep osf1_ecoff > /dev/null; then
			kldload osf1 > /dev/null 2>&1
		fi
	fi
}

# SCO binary emulation
#
ibcs2_compat()
{
	if checkyesno ibcs2_enable; then
		echo -n ' ibcs2'
		kldload ibcs2 > /dev/null 2>&1
		case ${ibcs2_loaders} in
		[Nn][Oo])
			;;
		*)
			for i in ${ibcs2_loaders}; do
				kldload ibcs2_$i > /dev/null 2>&1
			done
			;;
		esac
	fi
}

_arch=`${SYSCTL_N} hw.machine`
echo -n "Initial $_arch initialization:"
case $_arch in
i386)
	ibcs2_compat
	;;
alpha)
	osf1_compat
	unaligned_warnings
	;;
ia64)
	unaligned_warnings
	;;
esac
echo '.'