Based on kernel version 4.8. Page generated on 2016-10-06 23:18 EST.
1 #!/bin/bash 2 # Intel MIC Platform Software Stack (MPSS) 3 # 4 # Copyright(c) 2013 Intel Corporation. 5 # 6 # This program is free software; you can redistribute it and/or modify 7 # it under the terms of the GNU General Public License, version 2, as 8 # published by the Free Software Foundation. 9 # 10 # This program is distributed in the hope that it will be useful, but 11 # WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 # General Public License for more details. 14 # 15 # The full GNU General Public License is included in this distribution in 16 # the file called "COPYING". 17 # 18 # Intel MIC User Space Tools. 19 # 20 # micctrl - Controls MIC boot/start/stop. 21 # 22 # chkconfig: 2345 95 05 23 # description: start MPSS stack processing. 24 # 25 ### BEGIN INIT INFO 26 # Provides: micctrl 27 ### END INIT INFO 28 29 # Source function library. 30 . /etc/init.d/functions 31 32 sysfs="/sys/class/mic" 33 34 _status() 35 { 36 f=$sysfs/$1 37 echo -e $1 state: "`cat $f/state`" shutdown_status: "`cat $f/shutdown_status`" 38 } 39 40 status() 41 { 42 if [ "`echo $1 | head -c3`" == "mic" ]; then 43 _status $1 44 return $? 45 fi 46 for f in $sysfs/* 47 do 48 _status `basename $f` 49 RETVAL=$? 50 [ $RETVAL -ne 0 ] && return $RETVAL 51 done 52 return 0 53 } 54 55 _reset() 56 { 57 f=$sysfs/$1 58 echo reset > $f/state 59 } 60 61 reset() 62 { 63 if [ "`echo $1 | head -c3`" == "mic" ]; then 64 _reset $1 65 return $? 66 fi 67 for f in $sysfs/* 68 do 69 _reset `basename $f` 70 RETVAL=$? 71 [ $RETVAL -ne 0 ] && return $RETVAL 72 done 73 return 0 74 } 75 76 _boot() 77 { 78 f=$sysfs/$1 79 echo "linux" > $f/bootmode 80 echo "mic/uos.img" > $f/firmware 81 echo "mic/$1.image" > $f/ramdisk 82 echo "boot" > $f/state 83 } 84 85 boot() 86 { 87 if [ "`echo $1 | head -c3`" == "mic" ]; then 88 _boot $1 89 return $? 90 fi 91 for f in $sysfs/* 92 do 93 _boot `basename $f` 94 RETVAL=$? 95 [ $RETVAL -ne 0 ] && return $RETVAL 96 done 97 return 0 98 } 99 100 _shutdown() 101 { 102 f=$sysfs/$1 103 echo shutdown > $f/state 104 } 105 106 shutdown() 107 { 108 if [ "`echo $1 | head -c3`" == "mic" ]; then 109 _shutdown $1 110 return $? 111 fi 112 for f in $sysfs/* 113 do 114 _shutdown `basename $f` 115 RETVAL=$? 116 [ $RETVAL -ne 0 ] && return $RETVAL 117 done 118 return 0 119 } 120 121 _wait() 122 { 123 f=$sysfs/$1 124 while [ "`cat $f/state`" != "offline" -a "`cat $f/state`" != "online" ] 125 do 126 sleep 1 127 echo -e "Waiting for $1 to go offline" 128 done 129 } 130 131 wait() 132 { 133 if [ "`echo $1 | head -c3`" == "mic" ]; then 134 _wait $1 135 return $? 136 fi 137 # Wait for the cards to go offline 138 for f in $sysfs/* 139 do 140 _wait `basename $f` 141 RETVAL=$? 142 [ $RETVAL -ne 0 ] && return $RETVAL 143 done 144 return 0 145 } 146 147 if [ ! -d "$sysfs" ]; then 148 echo -e $"Module unloaded " 149 exit 3 150 fi 151 152 case $1 in 153 -s) 154 status $2 155 ;; 156 -r) 157 reset $2 158 ;; 159 -b) 160 boot $2 161 ;; 162 -S) 163 shutdown $2 164 ;; 165 -w) 166 wait $2 167 ;; 168 *) 169 echo $"Usage: $0 {-s (status) |-r (reset) |-b (boot) |-S (shutdown) |-w (wait)}" 170 exit 2 171 esac 172 173 exit $?