mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-28 17:48:53 +00:00
10485b0d39
Also remove 'requires_installation_of', while also checking sbin directories in 'have_installed'. The run scripts have been adjusted accordingly. Fixes #2853
70 lines
1.4 KiB
Plaintext
70 lines
1.4 KiB
Plaintext
##
|
|
# Reset the target machine via softreset
|
|
#
|
|
# \param --power-on-softreset-host softreset host
|
|
# \param --power-on-softreset-port softreset port
|
|
#
|
|
|
|
|
|
proc power_on_softreset_host { } {
|
|
return [get_cmd_arg_first --power-on-softreset-host ""]
|
|
}
|
|
|
|
|
|
proc power_on_softreset_port { } {
|
|
return [get_cmd_arg_first --power-on-softreset-port ""]
|
|
}
|
|
|
|
proc power_on_softreset_on { } {
|
|
return [get_cmd_arg_first --power-on-softreset-on ""]
|
|
}
|
|
|
|
proc power_on_softreset_off { } {
|
|
return [get_cmd_arg_first --power-on-softreset-off ""]
|
|
}
|
|
|
|
proc run_power_on { } {
|
|
set host [power_on_softreset_host]
|
|
set port [power_on_softreset_port]
|
|
set relay_on [power_on_softreset_on]
|
|
set relay_off [power_on_softreset_off]
|
|
|
|
if {[string equal $host ""]} {
|
|
puts "Aborting, softreset host not set."
|
|
exit -1
|
|
}
|
|
|
|
if {[string equal $port ""]} {
|
|
puts "Aborting, softreset port not set."
|
|
exit -1
|
|
}
|
|
|
|
if {[string equal $relay_on ""]} {
|
|
puts "Aborting, softreset 'on' not set."
|
|
exit -1
|
|
}
|
|
|
|
if {[string equal $relay_off ""]} {
|
|
puts "Aborting, softreset 'off' not set."
|
|
exit -1
|
|
}
|
|
|
|
set telnet [installed_command telnet]
|
|
|
|
spawn $telnet $host $port
|
|
set connection_id $spawn_id
|
|
|
|
send -i $connection_id "$relay_on\n"
|
|
sleep 1
|
|
send -i $connection_id "$relay_off\n"
|
|
sleep 1
|
|
close -i $connection_id
|
|
lassign [wait] pid spawnid os_error_flag value
|
|
|
|
if {$value} {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|