archdep revision 102986
1102986Sgordon#!/bin/sh
2102986Sgordon#
3102986Sgordon# $FreeBSD: head/etc/rc.d/archdep 102986 2002-09-05 20:29:18Z gordon $
4102986Sgordon#
5102986Sgordon
6102986Sgordon# PROVIDE: archdep
7102986Sgordon# REQUIRE: LOGIN
8102986Sgordon# BEFORE: abi
9102986Sgordon# KEYWORD: FreeBSD
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{
20102986Sgordon	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{
29102986Sgordon	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{
41102986Sgordon	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# X-10 Daemon
57102986Sgordon#
58102986Sgordonx10_daemon()
59102986Sgordon{
60102986Sgordon	if checkyesno xtend_enable ; then
61102986Sgordon		echo -n ' xtend'
62102986Sgordon		/usr/libexec/xtend
63102986Sgordon	fi
64102986Sgordon}
65102986Sgordon
66102986Sgordon_arch=`${SYSCTL_N} hw.machine`
67102986Sgordonecho -n "Initial $_arch initialization:"
68102986Sgordoncase $_arch in
69102986Sgordoni386)
70102986Sgordon	ibcs2_compat
71102986Sgordon	x10_daemon
72102986Sgordon	;;
73102986Sgordonalpha)
74102986Sgordon	osf1_compat
75102986Sgordon	unaligned_warnings
76102986Sgordon	;;
77102986Sgordonia64)
78102986Sgordon	unaligned_warnings
79102986Sgordon	;;
80102986Sgordonesac
81102986Sgordonecho '.'
82