archdep revision 136224
1102986Sgordon#!/bin/sh
2102986Sgordon#
3102986Sgordon# $FreeBSD: head/etc/rc.d/archdep 136224 2004-10-07 13:55:26Z mtm $
4102986Sgordon#
5102986Sgordon
6102986Sgordon# PROVIDE: archdep
7102986Sgordon# REQUIRE: LOGIN
8102986Sgordon# BEFORE: abi
9136224Smtm# KEYWORD: nojail
10102986Sgordon
11102986Sgordon. /etc/rc.subr
12102986Sgordon
13102986Sgordonname=archdep
14102986Sgordonload_rc_config $name
15102986Sgordon
16102986Sgordon# should we print out unaligned access warnings?
17102986Sgordon#
18102986Sgordonunaligned_warnings()
19102986Sgordon{
20104980Sschweikh	if ! checkyesno unaligned_print; then
21102986Sgordon		sysctl machdep.unaligned_print=0
22102986Sgordon	fi
23102986Sgordon}
24102986Sgordon
25102986Sgordon# Alpha OSF/1 binary emulation
26102986Sgordon#
27102986Sgordonosf1_compat()
28102986Sgordon{
29104980Sschweikh	if checkyesno osf1_enable; then
30102986Sgordon		echo -n ' OSF/1'
31102986Sgordon		if ! kldstat -v | grep osf1_ecoff > /dev/null; then
32102986Sgordon			kldload osf1 > /dev/null 2>&1
33102986Sgordon		fi
34102986Sgordon	fi
35102986Sgordon}
36102986Sgordon
37102986Sgordon# SCO binary emulation
38102986Sgordon#
39102986Sgordonibcs2_compat()
40102986Sgordon{
41104980Sschweikh	if checkyesno ibcs2_enable; then
42102986Sgordon		echo -n ' ibcs2'
43102986Sgordon		kldload ibcs2 > /dev/null 2>&1
44102986Sgordon		case ${ibcs2_loaders} in
45102986Sgordon		[Nn][Oo])
46102986Sgordon			;;
47102986Sgordon		*)
48102986Sgordon			for i in ${ibcs2_loaders}; do
49102986Sgordon				kldload ibcs2_$i > /dev/null 2>&1
50102986Sgordon			done
51102986Sgordon			;;
52102986Sgordon		esac
53102986Sgordon	fi
54102986Sgordon}
55102986Sgordon
56102986Sgordon_arch=`${SYSCTL_N} hw.machine`
57102986Sgordonecho -n "Initial $_arch initialization:"
58102986Sgordoncase $_arch in
59114768Sobrieni386)
60102986Sgordon	ibcs2_compat
61102986Sgordon	;;
62102986Sgordonalpha)
63102986Sgordon	osf1_compat
64102986Sgordon	unaligned_warnings
65102986Sgordon	;;
66102986Sgordonia64)
67102986Sgordon	unaligned_warnings
68102986Sgordon	;;
69102986Sgordonesac
70102986Sgordonecho '.'
71