archdep revision 136224
1227825Stheraven#!/bin/sh
2227825Stheraven#
3227825Stheraven# $FreeBSD: head/etc/rc.d/archdep 136224 2004-10-07 13:55:26Z mtm $
4227825Stheraven#
5227825Stheraven
6227825Stheraven# PROVIDE: archdep
7227825Stheraven# REQUIRE: LOGIN
8227825Stheraven# BEFORE: abi
9227825Stheraven# KEYWORD: nojail
10227825Stheraven
11227825Stheraven. /etc/rc.subr
12227825Stheraven
13227825Stheravenname=archdep
14227825Stheravenload_rc_config $name
15227825Stheraven
16227825Stheraven# should we print out unaligned access warnings?
17227825Stheraven#
18227825Stheravenunaligned_warnings()
19227825Stheraven{
20227825Stheraven	if ! checkyesno unaligned_print; then
21227825Stheraven		sysctl machdep.unaligned_print=0
22227825Stheraven	fi
23227825Stheraven}
24227825Stheraven
25227825Stheraven# Alpha OSF/1 binary emulation
26227825Stheraven#
27227825Stheravenosf1_compat()
28227825Stheraven{
29227825Stheraven	if checkyesno osf1_enable; then
30227825Stheraven		echo -n ' OSF/1'
31227825Stheraven		if ! kldstat -v | grep osf1_ecoff > /dev/null; then
32227825Stheraven			kldload osf1 > /dev/null 2>&1
33227825Stheraven		fi
34227825Stheraven	fi
35227825Stheraven}
36227825Stheraven
37227825Stheraven# SCO binary emulation
38227825Stheraven#
39227825Stheravenibcs2_compat()
40227825Stheraven{
41227825Stheraven	if checkyesno ibcs2_enable; then
42227825Stheraven		echo -n ' ibcs2'
43227825Stheraven		kldload ibcs2 > /dev/null 2>&1
44227825Stheraven		case ${ibcs2_loaders} in
45227825Stheraven		[Nn][Oo])
46227825Stheraven			;;
47227825Stheraven		*)
48227825Stheraven			for i in ${ibcs2_loaders}; do
49227825Stheraven				kldload ibcs2_$i > /dev/null 2>&1
50227825Stheraven			done
51227825Stheraven			;;
52227825Stheraven		esac
53227825Stheraven	fi
54227825Stheraven}
55227825Stheraven
56227825Stheraven_arch=`${SYSCTL_N} hw.machine`
57227825Stheravenecho -n "Initial $_arch initialization:"
58227825Stheravencase $_arch in
59227825Stheraveni386)
60227825Stheraven	ibcs2_compat
61227825Stheraven	;;
62227825Stheravenalpha)
63227825Stheraven	osf1_compat
64227825Stheraven	unaligned_warnings
65227825Stheraven	;;
66227825Stheravenia64)
67227825Stheraven	unaligned_warnings
68227825Stheraven	;;
69227825Stheravenesac
70227825Stheravenecho '.'
71227825Stheraven