archdep revision 155838
1102986Sgordon#!/bin/sh
2102986Sgordon#
3102986Sgordon# $FreeBSD: head/etc/rc.d/archdep 155838 2006-02-19 08:18:48Z dougb $
4102986Sgordon#
5102986Sgordon
6102986Sgordon# PROVIDE: archdep
7155838Sdougb# REQUIRE: mountcritremote
8136224Smtm# KEYWORD: nojail
9102986Sgordon
10102986Sgordon. /etc/rc.subr
11102986Sgordon
12102986Sgordonname=archdep
13150691Syarstart_cmd="archdep_start"
14150691Syarstop_cmd=":"
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
56150691Syararchdep_start()
57150691Syar{
58150753Snyan	_arch=`${SYSCTL_N} hw.machine_arch`
59150691Syar	echo -n "Initial $_arch initialization:"
60150691Syar	case $_arch in
61150691Syar	i386)
62150691Syar		ibcs2_compat
63150691Syar		;;
64150691Syar	alpha)
65150691Syar		osf1_compat
66150691Syar		unaligned_warnings
67150691Syar		;;
68150691Syar	esac
69150691Syar	echo '.'
70150691Syar}
71150691Syar
72150691Syarload_rc_config $name
73150691Syarrun_rc_command "$1"
74