diff --git a/tool/run/bender.inc b/tool/run/bender.inc index 5251f470e4..52202d1cf0 100644 --- a/tool/run/bender.inc +++ b/tool/run/bender.inc @@ -12,7 +12,7 @@ # proc bender_intel_hwp_mode_option { } { - set opt [get_cmd_arg_first --bender-intel-hwp-mode "performance"] + set opt [cmd_arg_first --bender-intel-hwp-mode "performance"] if {$opt == "off"} { return "intel_hwp_off" } elseif {$opt == "performance"} { diff --git a/tool/run/depot.inc b/tool/run/depot.inc index 9658a29d93..f10c5ab967 100644 --- a/tool/run/depot.inc +++ b/tool/run/depot.inc @@ -11,7 +11,7 @@ # default value [genode_dir]/depot is used # proc depot_dir { } { - return [get_cmd_arg_first --depot-dir "[genode_dir]/depot"] + return [cmd_arg_first --depot-dir "[genode_dir]/depot"] } @@ -224,11 +224,11 @@ proc _depot_auto_update { archives } { append cmd "DEPOT_DIR=[depot_dir] " append cmd "UPDATE_VERSIONS=1 FORCE=1 REBUILD= " - if {[get_cmd_switch --ccache]} { + if {[have_cmd_arg --ccache]} { append cmd "CCACHE=1 " } set make_j_arg "" - regexp {.*(-j\d*)} [get_cmd_arg_first --make ""] dummy make_j_arg + regexp {.*(-j\d*)} [cmd_arg_first --make ""] dummy make_j_arg append cmd "$make_j_arg " puts "update depot: $cmd" @@ -252,7 +252,7 @@ proc _collect_from_depot { archives } { incr _collect_from_depot_nesting_level # fill depot with up-to-date content if --depot-auto-update is enabled - if {[get_cmd_switch --depot-auto-update]} { + if {[have_cmd_arg --depot-auto-update]} { if {$_collect_from_depot_nesting_level == 1} { _depot_auto_update $archives } } @@ -313,7 +313,7 @@ proc _collect_from_depot { archives } { # Parse depot user from run tool arguments with a fallback to "genodelabs" # # -proc depot_user {} { return [get_cmd_arg --depot-user genodelabs] } +proc depot_user {} { return [cmd_arg --depot-user genodelabs] } ## diff --git a/tool/run/image/disk b/tool/run/image/disk index c4c791dc19..026f3da308 100644 --- a/tool/run/image/disk +++ b/tool/run/image/disk @@ -9,8 +9,8 @@ source [genode_dir]/tool/run/grub2.inc source [genode_dir]/tool/run/shim.inc -proc image_disk_size { } { return [get_cmd_arg --image-disk_size 0] } -proc image_disk_shim { } { return [get_cmd_arg --image-disk_shim ""] } +proc image_disk_size { } { return [cmd_arg --image-disk_size 0] } +proc image_disk_shim { } { return [cmd_arg --image-disk_shim ""] } proc prepare_grub2_files { } { diff --git a/tool/run/image/uboot b/tool/run/image/uboot index 12f4cfef2d..7819652098 100644 --- a/tool/run/image/uboot +++ b/tool/run/image/uboot @@ -9,9 +9,9 @@ ## # Check if the uImage should be gzipped # -proc image_uboot_use_no_gzip { } { return [get_cmd_switch --image-uboot-no-gzip] } +proc image_uboot_use_no_gzip { } { return [have_cmd_arg --image-uboot-no-gzip] } -proc image_uboot_use_fit { } { return [get_cmd_switch --image-uboot-fit] } +proc image_uboot_use_fit { } { return [have_cmd_arg --image-uboot-fit] } ## @@ -24,7 +24,7 @@ proc image_uboot_use_fit { } { return [get_cmd_switch --image-uboot-fit] } # it disabled. # proc image_uboot_gzip_opt { } { - if {[get_cmd_switch --image-uboot-gzip-best]} { + if {[have_cmd_arg --image-uboot-gzip-best]} { return "--best" } else { return "--fast" diff --git a/tool/run/image/uefi b/tool/run/image/uefi index e7dcfc953e..c113009df2 100644 --- a/tool/run/image/uefi +++ b/tool/run/image/uefi @@ -8,8 +8,8 @@ source [genode_dir]/tool/run/shim.inc # \param --image-disk_shim nickname of certificate to use to sign GRUB2 # -proc image_uefi_size { } { return [get_cmd_arg --image-uefi_size 0] } -proc image_uefi_shim { } { return [get_cmd_arg --image-uefi_shim ""] } +proc image_uefi_size { } { return [cmd_arg --image-uefi_size 0] } +proc image_uefi_shim { } { return [cmd_arg --image-uefi_shim ""] } ## diff --git a/tool/run/load/fastboot b/tool/run/load/fastboot index f47808dfa1..908c1324b4 100644 --- a/tool/run/load/fastboot +++ b/tool/run/load/fastboot @@ -7,7 +7,7 @@ source [genode_dir]/tool/run/load.inc -proc load_fastboot_device { } { return [get_cmd_arg --load-fastboot-device ""] } +proc load_fastboot_device { } { return [cmd_arg --load-fastboot-device ""] } proc check_fastboot_supported { } { diff --git a/tool/run/load/ipxe b/tool/run/load/ipxe index 18cf4a7799..e89658e699 100644 --- a/tool/run/load/ipxe +++ b/tool/run/load/ipxe @@ -21,16 +21,16 @@ proc run_load { } { } -proc load_ipxe_base_dir { } { return [get_cmd_arg --load-ipxe-base-dir ""] } +proc load_ipxe_base_dir { } { return [cmd_arg --load-ipxe-base-dir ""] } -proc load_ipxe_boot_dir { } { return [get_cmd_arg --load-ipxe-boot-dir ""] } +proc load_ipxe_boot_dir { } { return [cmd_arg --load-ipxe-boot-dir ""] } -proc load_ipxe_lighttpd { } { return [get_cmd_switch --load-ipxe-lighttpd] } +proc load_ipxe_lighttpd { } { return [have_cmd_arg --load-ipxe-lighttpd] } -proc load_ipxe_lighttpd_port { } { return [get_cmd_arg --load-ipxe-lighttpd-port 8080] } +proc load_ipxe_lighttpd_port { } { return [cmd_arg --load-ipxe-lighttpd-port 8080] } proc image_extension { } { diff --git a/tool/run/load/jtag b/tool/run/load/jtag index 42171eb363..dfd0dfbf95 100644 --- a/tool/run/load/jtag +++ b/tool/run/load/jtag @@ -8,10 +8,10 @@ source [genode_dir]/tool/run/load.inc -proc load_jtag_debugger { } { return [get_cmd_arg --load-jtag-debugger 1] } +proc load_jtag_debugger { } { return [cmd_arg --load-jtag-debugger 1] } -proc load_jtag_board { } { return [get_cmd_arg --load-jtag-board 1] } +proc load_jtag_board { } { return [cmd_arg --load-jtag-board 1] } proc run_load { } { diff --git a/tool/run/load/tftp b/tool/run/load/tftp index 6bce565cdb..b5a90c4c5b 100644 --- a/tool/run/load/tftp +++ b/tool/run/load/tftp @@ -23,16 +23,16 @@ proc run_load { } { } -proc load_tftp_base_dir { } { return [get_cmd_arg --load-tftp-base-dir ""] } +proc load_tftp_base_dir { } { return [cmd_arg --load-tftp-base-dir ""] } -proc load_tftp_offset_dir { } { return [get_cmd_arg --load-tftp-offset-dir ""] } +proc load_tftp_offset_dir { } { return [cmd_arg --load-tftp-offset-dir ""] } -proc load_tftp_use_absolute { } { return [get_cmd_switch --load-tftp-absolute] } +proc load_tftp_use_absolute { } { return [have_cmd_arg --load-tftp-absolute] } -proc load_tftp_copy_files { } { return [get_cmd_switch --load-tftp-copy-files] } +proc load_tftp_copy_files { } { return [have_cmd_arg --load-tftp-copy-files] } ## diff --git a/tool/run/log/amt b/tool/run/log/amt index 0f95758051..cc9ef4d750 100644 --- a/tool/run/log/amt +++ b/tool/run/log/amt @@ -12,24 +12,24 @@ source [genode_dir]/tool/run/amt.inc proc log_amt_host { } { - return [get_cmd_arg_first --log-amt-host ""] + return [cmd_arg_first --log-amt-host ""] } proc log_amt_password { } { - return [get_cmd_arg_first --log-amt-password ""] + return [cmd_arg_first --log-amt-password ""] } proc log_amt_filter { } { - return [get_cmd_arg_first --log-amt-filter ""] + return [cmd_arg_first --log-amt-filter ""] } proc log_amt_timeout { } { - return [get_cmd_arg_first --log-amt-timeout "30"] + return [cmd_arg_first --log-amt-timeout "30"] } proc log_amt_skip_test { } { - return [get_cmd_switch --log-amt-skip-test] + return [have_cmd_arg --log-amt-skip-test] } @@ -44,7 +44,7 @@ proc run_log { wait_for_re timeout_value } { return false } - set amt_tool [get_cmd_arg --amt-tool "default"] + set amt_tool [cmd_arg --amt-tool "default"] # Check that SOL is correctly configured if wsman is available if {![log_amt_skip_test] && ( $amt_tool == "wsman" || $amt_tool == "default" )} { @@ -87,7 +87,7 @@ proc run_log { wait_for_re timeout_value } { set amt_log ".*session authentication" } - if {[get_cmd_switch --log-amt-filter]} { + if {[have_cmd_arg --log-amt-filter]} { set amt_cmd "$amt_cmd | [log_amt_filter]" } diff --git a/tool/run/log/serial b/tool/run/log/serial index ab60eeabc3..b9341dd3a9 100644 --- a/tool/run/log/serial +++ b/tool/run/log/serial @@ -13,12 +13,12 @@ set default_serial_cmd "picocom --quiet -b 115200 /dev/ttyUSB0" proc log_serial_cmd { } { global default_serial_cmd - return [get_cmd_arg --log-serial-cmd $default_serial_cmd] + return [cmd_arg --log-serial-cmd $default_serial_cmd] } proc log_serial_filter { } { - return [get_cmd_arg --log-serial-filter ""] + return [cmd_arg --log-serial-filter ""] } @@ -43,7 +43,7 @@ proc run_log { wait_for_re timeout_value } { # i.e., lets only ASCII characters through. # set serial_cmd_chain [log_serial_cmd] - if {[get_cmd_switch --log-serial-filter]} { + if {[have_cmd_arg --log-serial-filter]} { set serial_cmd_chain "$serial_cmd_chain | [log_serial_filter]" } diff --git a/tool/run/power_off/allnet b/tool/run/power_off/allnet index 0e3d4f7f33..c07b55a84f 100644 --- a/tool/run/power_off/allnet +++ b/tool/run/power_off/allnet @@ -9,22 +9,22 @@ proc power_off_allnet_host { } { - return [get_cmd_arg_first --power-off-allnet-host 1] + return [cmd_arg_first --power-off-allnet-host 1] } proc power_off_allnet_user { } { - return [get_cmd_arg_first --power-off-allnet-user 1] + return [cmd_arg_first --power-off-allnet-user 1] } proc power_off_allnet_password { } { - return [get_cmd_arg_first --power-off-allnet-password 1] + return [cmd_arg_first --power-off-allnet-password 1] } proc power_off_allnet_port { } { - return [get_cmd_arg_first --power-off-allnet-port 1] + return [cmd_arg_first --power-off-allnet-port 1] } diff --git a/tool/run/power_off/energenie b/tool/run/power_off/energenie index ef093c5f20..de0af4ae37 100644 --- a/tool/run/power_off/energenie +++ b/tool/run/power_off/energenie @@ -8,17 +8,17 @@ proc power_off_energenie_host { } { - return [get_cmd_arg_first --power-off-energenie-host 1] + return [cmd_arg_first --power-off-energenie-host 1] } proc power_off_energenie_password { } { - return [get_cmd_arg_first --power-off-energenie-password 1] + return [cmd_arg_first --power-off-energenie-password 1] } proc power_off_energenie_port { } { - return [get_cmd_arg_first --power-off-energenie-port 1] + return [cmd_arg_first --power-off-energenie-port 1] } diff --git a/tool/run/power_off/netio b/tool/run/power_off/netio index 0be3af70ef..5f506d4210 100644 --- a/tool/run/power_off/netio +++ b/tool/run/power_off/netio @@ -12,22 +12,22 @@ source [genode_dir]/tool/run/power_netio.inc proc power_off_netio_host { } { - return [get_cmd_arg_first --power-off-netio-host 1] + return [cmd_arg_first --power-off-netio-host 1] } proc power_off_netio_user { } { - return [get_cmd_arg_first --power-off-netio-user 1] + return [cmd_arg_first --power-off-netio-user 1] } proc power_off_netio_password { } { - return [get_cmd_arg_first --power-off-netio-password 1] + return [cmd_arg_first --power-off-netio-password 1] } proc power_off_netio_port { } { - return [get_cmd_arg_first --power-off-netio-port 1] + return [cmd_arg_first --power-off-netio-port 1] } diff --git a/tool/run/power_on/allnet b/tool/run/power_on/allnet index 77f4dd2bfe..9b53f64c25 100644 --- a/tool/run/power_on/allnet +++ b/tool/run/power_on/allnet @@ -9,22 +9,22 @@ proc power_on_allnet_host { } { - return [get_cmd_arg_first --power-on-allnet-host 1] + return [cmd_arg_first --power-on-allnet-host 1] } proc power_on_allnet_user { } { - return [get_cmd_arg_first --power-on-allnet-user 1] + return [cmd_arg_first --power-on-allnet-user 1] } proc power_on_allnet_password { } { - return [get_cmd_arg_first --power-on-allnet-password 1] + return [cmd_arg_first --power-on-allnet-password 1] } proc power_on_allnet_port { } { - return [get_cmd_arg_first --power-on-allnet-port 1] + return [cmd_arg_first --power-on-allnet-port 1] } diff --git a/tool/run/power_on/amt b/tool/run/power_on/amt index da31f6e97f..01ead238d0 100644 --- a/tool/run/power_on/amt +++ b/tool/run/power_on/amt @@ -9,17 +9,17 @@ source [genode_dir]/tool/run/amt.inc proc power_on_amt_host { } { - return [get_cmd_arg_first --power-on-amt-host ""] + return [cmd_arg_first --power-on-amt-host ""] } proc power_on_amt_password { } { - return [get_cmd_arg_first --power-on-amt-password ""] + return [cmd_arg_first --power-on-amt-password ""] } proc power_on_amt_timeout { } { - return [get_cmd_arg_first --power-on-amt-timeout 5] + return [cmd_arg_first --power-on-amt-timeout 5] } @@ -127,7 +127,7 @@ proc run_power_on { } { # # amttool, wsman and meshcmd are supported for reset # - set amt_tool [get_cmd_arg --amt-tool "default"] + set amt_tool [cmd_arg --amt-tool "default"] # # reset the box diff --git a/tool/run/power_on/command b/tool/run/power_on/command index 8ac61b4645..0ca9d541a2 100644 --- a/tool/run/power_on/command +++ b/tool/run/power_on/command @@ -7,12 +7,12 @@ proc power_on_command_cmd { } { - return [get_cmd_arg_first --power-on-command-cmd 1] + return [cmd_arg_first --power-on-command-cmd 1] } proc power_on_command_params { } { - return [get_cmd_arg --power-on-command-param 1] + return [cmd_arg --power-on-command-param 1] } diff --git a/tool/run/power_on/energenie b/tool/run/power_on/energenie index bb19c57e24..d19c0429e0 100644 --- a/tool/run/power_on/energenie +++ b/tool/run/power_on/energenie @@ -8,17 +8,17 @@ proc power_on_energenie_host { } { - return [get_cmd_arg_first --power-on-energenie-host 1] + return [cmd_arg_first --power-on-energenie-host 1] } proc power_on_energenie_password { } { - return [get_cmd_arg_first --power-on-energenie-password 1] + return [cmd_arg_first --power-on-energenie-password 1] } proc power_on_energenie_port { } { - return [get_cmd_arg_first --power-on-energenie-port 1] + return [cmd_arg_first --power-on-energenie-port 1] } diff --git a/tool/run/power_on/netio b/tool/run/power_on/netio index b9770128ea..d7e1932f0d 100644 --- a/tool/run/power_on/netio +++ b/tool/run/power_on/netio @@ -11,22 +11,22 @@ source [genode_dir]/tool/run/power_netio.inc proc power_on_netio_host { } { - return [get_cmd_arg_first --power-on-netio-host 1] + return [cmd_arg_first --power-on-netio-host 1] } proc power_on_netio_user { } { - return [get_cmd_arg_first --power-on-netio-user 1] + return [cmd_arg_first --power-on-netio-user 1] } proc power_on_netio_password { } { - return [get_cmd_arg_first --power-on-netio-password 1] + return [cmd_arg_first --power-on-netio-password 1] } proc power_on_netio_port { } { - return [get_cmd_arg_first --power-on-netio-port 1] + return [cmd_arg_first --power-on-netio-port 1] } diff --git a/tool/run/power_on/softreset b/tool/run/power_on/softreset index 9e1160f7a3..66b7d74357 100644 --- a/tool/run/power_on/softreset +++ b/tool/run/power_on/softreset @@ -7,20 +7,20 @@ proc power_on_softreset_host { } { - return [get_cmd_arg_first --power-on-softreset-host ""] + return [cmd_arg_first --power-on-softreset-host ""] } proc power_on_softreset_port { } { - return [get_cmd_arg_first --power-on-softreset-port ""] + return [cmd_arg_first --power-on-softreset-port ""] } proc power_on_softreset_on { } { - return [get_cmd_arg_first --power-on-softreset-on ""] + return [cmd_arg_first --power-on-softreset-on ""] } proc power_on_softreset_off { } { - return [get_cmd_arg_first --power-on-softreset-off ""] + return [cmd_arg_first --power-on-softreset-off ""] } proc run_power_on { } { diff --git a/tool/run/power_on/wol b/tool/run/power_on/wol index 9b28da62dc..f39f327694 100644 --- a/tool/run/power_on/wol +++ b/tool/run/power_on/wol @@ -10,12 +10,12 @@ source [genode_dir]/tool/run/amt.inc proc power_on_wol_mac { } { - return [get_cmd_arg_first --power-on-wol-mac ""] + return [cmd_arg_first --power-on-wol-mac ""] } proc power_on_wol_dev { } { - return [get_cmd_arg_first --power-on-wol-dev "eth0"] + return [cmd_arg_first --power-on-wol-dev "eth0"] } diff --git a/tool/run/qemu.inc b/tool/run/qemu.inc index 5e39425cc1..452bd82716 100644 --- a/tool/run/qemu.inc +++ b/tool/run/qemu.inc @@ -1,5 +1,5 @@ set qemu_spawn_id "" -set qemu_args [get_cmd_arg --qemu-args ""] +set qemu_args [cmd_arg --qemu-args ""] # diff --git a/tool/run/run b/tool/run/run index 6e8ef78840..118c62241a 100755 --- a/tool/run/run +++ b/tool/run/run @@ -48,7 +48,7 @@ proc build {targets} { if {[llength $targets] == 0} return - if {[get_cmd_switch --skip-build]} return + if {[have_cmd_arg --skip-build]} return regsub -all {\s\s+} $targets " " targets puts "building targets: $targets" @@ -565,19 +565,26 @@ proc compare_output_to { good } { ## # Return true if command-line switch was specified # -proc get_cmd_switch { arg_name } { +proc have_cmd_arg { arg_name } { global argv return [expr [lsearch $argv $arg_name] >= 0] } +# Return true if command-line switch was specified +# +proc get_cmd_switch { arg_name } { + return [have_cmd_arg $arg_name] +} + + ## # Return command-line argument value # # If a argument name is specified multiple times, a # list of argument values is returned. # -proc get_cmd_arg { arg_name default_value } { +proc cmd_arg { arg_name default_value } { global argv # find argument name in argv list @@ -604,13 +611,24 @@ proc get_cmd_arg { arg_name default_value } { } +## +# Return command-line argument value +# +# If a argument name is specified multiple times, a +# list of argument values is returned. +# +proc get_cmd_arg { arg_name default_value } { + return [cmd_arg $arg_name $default_value] +} + + ## # Return command-line argument value # # If a argument name is specified multiple times, return only the # first match. # -proc get_cmd_arg_first { arg_name default_value } { +proc cmd_arg_first { arg_name default_value } { global argv set arg_idx [lsearch $argv $arg_name] @@ -625,12 +643,12 @@ proc get_cmd_arg_first { arg_name default_value } { # Read command-line arguments # -set run_name [get_cmd_arg --name "noname"] -set genode_dir [get_cmd_arg --genode-dir ""] -set cross_dev_prefix [get_cmd_arg --cross-dev-prefix ""] -set specs [get_cmd_arg --specs ""] -set board_var [get_cmd_arg --board ""] -set repositories [get_cmd_arg --repositories ""] +set run_name [cmd_arg --name "noname"] +set genode_dir [cmd_arg --genode-dir ""] +set cross_dev_prefix [cmd_arg --cross-dev-prefix ""] +set specs [cmd_arg --specs ""] +set board_var [cmd_arg --board ""] +set repositories [cmd_arg --repositories ""] # accessor functions for command-line arguments @@ -844,7 +862,7 @@ proc wait_for_output { wait_for_re timeout_value running_spawn_id } { proc remove_genode_dir { } { global env - if {![get_cmd_switch --preserve-genode-dir]} { + if {![have_cmd_arg --preserve-genode-dir]} { exec rm -rf [run_dir]/genode } } @@ -1214,7 +1232,7 @@ set include_list { } # # Out of convenience run modules may be included by using a relative path. # -foreach include_name [get_cmd_arg --include ""] { +foreach include_name [cmd_arg --include ""] { # first check if the include name is absolute if {[string first "/" $include_name] == 0} { puts "including $include_name"