blob: 9cb27373e195d4261e2d49f2193f90d8a7ac4917 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!@RCD_SCRIPTS_SHELL@
# PROVIDE: microcode
# REQUIRE: mountall
#
# attempts microcode update on all CPU cores (for Intel x86)
#
$_rc_subr_loaded . /etc/rc.subr
name=microcode
rcvar=$name
start_cmd="microcode_start"
_microcode_baremetal()
{
ncpu=`/sbin/sysctl -n hw.ncpu`
for i in `/usr/bin/jot - 0 \`expr $ncpu - 1\` 1`; do
/usr/sbin/cpuctl ucode $i || true
done
}
_microcode_xen()
{
/usr/sbin/cpuctl ucode || true
}
microcode_start()
{
if [ -e /kern/xen/privcmd ]; then
_microcode_xen
else
_microcode_baremetal
fi
}
load_rc_config $name
run_rc_command "$1"
|