From ede007c2dd90d774864149dad663b4d3a7f72c5f Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Mon, 5 Sep 2022 13:34:36 +0200 Subject: [PATCH] Bender: Intel HWP mode configurable via RUN_OPT The updated Bender version is configurable regarding the mode in which to run the Intel HWP plugin. This can now be controlled via the new run option '--bender-intel-hwp-mode' (only when running on NOVA). The option knows 4 valid values 'off', 'performance', 'balanced', and 'power_saving'. When running on NOVA, the default value applied by the run tool is 'performance'. when running on any other kernel, the default value of Bender ('off') is used. Therefore, when not setting the new '--bender-intel-hwp-mode' flag, the behavior is the same as before this commit. Fixes #4224 --- tool/boot/README | 6 +++--- tool/boot/bender | Bin 28752 -> 29272 bytes tool/run/boot_dir/nova | 32 ++++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/tool/boot/README b/tool/boot/README index f19afc06f3..1a5e037e28 100644 --- a/tool/boot/README +++ b/tool/boot/README @@ -18,14 +18,14 @@ code respectively the download source of binaries are described below. configured via commandline. The changes are available from - https://github.com/alex-ab/morbo.git. + https://github.com/m-stein/morbo.git. git branch genode_bender - git commit 7909dd0b56c66400bfb9c1c4abf70d2c593b4902 + git commit 3645d67dc0643b8aab008eb76a8e056636e5edee :'pulsar': - The 'pulsar' tool was obtained in binary form from + The 'pulsar' tool was obtained in binary form from http://os.inf.tu-dresden.de/~us15/pulsar. :'unzip' diff --git a/tool/boot/bender b/tool/boot/bender index aace3536ddc864c322c1f092bfef92a530433c3a..d365444b249e9d9a142f59a34551c474822713fc 100755 GIT binary patch delta 6840 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 C?A<#6 delta 6382 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 diff --git a/tool/run/boot_dir/nova b/tool/run/boot_dir/nova index 5c95b1ed25..93707a099d 100644 --- a/tool/run/boot_dir/nova +++ b/tool/run/boot_dir/nova @@ -1,3 +1,31 @@ +# +# Return Bender option that configures Bender's Intel HWP plugin +# +# \param --bender-intel-hwp-mode Run the Intel HWP plugin of Bender in the +# given mode. Valid argument values are +# "off", +# "performance", +# "balanced", and +# "power_saving" +# The argument value defaults to +# "performance". +# +proc bender_intel_hwp_mode_option { } { + + set opt [get_cmd_arg_first --bender-intel-hwp-mode "performance"] + if {$opt == "off"} { + return "intel_hwp_off" + } elseif {$opt == "performance"} { + return "intel_hwp_performance" + } elseif {$opt == "balanced"} { + return "intel_hwp_balanced" + } elseif {$opt == "power_saving"} { + return "intel_hwp_power_saving" + } else { + return "intel_hwp_performance" + } +} + proc binary_name_ld_lib_so { } { return "ld-nova.lib.so" } proc binary_name_core_a { } { return "core-nova.a" } proc binary_name_timer { } { return "nova_timer_drv" } @@ -65,9 +93,9 @@ proc run_boot_dir {binaries} { set options_bender "" # - # Enable Intel HWP unconditionally + # Apply Intel HWP mode # - append options_bender " intel_hwp" + append options_bender " [bender_intel_hwp_mode_option]" if {[apply_microcode]} { exec cp bin/micro.code [run_dir]/boot/