blob: 9eeeeca5ab07f12e43d16ae0dbb25338b15600e3 (
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
40
41
42
43
44
45
|
#!/bin/bash
source /usr/sbin/gpio-defs.sh
source /usr/sbin/gpio-lib.sh
host_status() {
st=$(busctl get-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host CurrentHostState | cut -d"." -f6)
if [ "$st" == "Running\"" ]; then
echo "on"
else
echo "off"
fi
}
createFile=$1
setState=$2
if [ $(host_status) == "on" ]; then
exit 0
fi
# Time out to check S0_FW_BOOT_OK is 60 seconds
cnt=60
val=0
while [ $cnt -gt 0 ];
do
val=$(gpio_get_val $S0_CPU_FW_BOOT_OK)
cnt=$((cnt - 1))
echo "$cnt S0_CPU_FW_BOOT_OK = $val"
if [ $val == 1 ]; then
# Sleep 5 second before the host is ready
sleep 5
if [ $createFile == 1 ]; then
if [ ! -d "/run/openbmc" ]; then
mkdir -p /run/openbmc
fi
echo "Creating /run/openbmc/host@0-on"
touch /run/openbmc/host@0-on
fi
exit 0
fi
sleep 1
done
exit 1
|