commit: f1ad7c2096dd405915a6cf21af4b8e58f4e41b3d
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 26 03:52:54 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Mar 26 08:03:52 2019 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f1ad7c20
config_kernel(): rewrite --microcode handling
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
gen_configkernel.sh | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 8d96838..a5266e4 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -529,17 +529,24 @@ config_kernel() {
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config"
"CONFIG_CRYPTO_DEV_VIRTIO" "${newvirtio_setting}"
fi
- # Microcode setting, intended for early microcode loading
- # needs to be compiled in.
- kconfig_microcode_intel=(CONFIG_MICROCODE_INTEL
CONFIG_MICROCODE_INTEL_EARLY)
- kconfig_microcode_amd=(CONFIG_MICROCODE_AMD CONFIG_MICROCODE_AMD_EARLY)
+ # Microcode setting, intended for early microcode loading, if
--microcode
if [[ -n "${MICROCODE}" ]]
then
- kconfigs=(CONFIG_MICROCODE CONFIG_MICROCODE_OLD_INTERFACE
CONFIG_MICROCODE_EARLY)
+ print_info 1 "$(getIndent 1)>> Ensure that required kernel
options for early microcode loading support are set..."
+ kconfig_microcode_intel=(CONFIG_MICROCODE_INTEL
CONFIG_MICROCODE_INTEL_EARLY)
+
+ kconfig_microcode_amd=(CONFIG_MICROCODE_AMD)
+ [ $(($KV_MAJOR * 1000 + ${KV_MINOR})) -le 4003 ] &&
kconfig_microcode_amd+=(CONFIG_MICROCODE_AMD_EARLY)
+
+ kconfigs=(CONFIG_MICROCODE CONFIG_MICROCODE_OLD_INTERFACE)
+ [ $(($KV_MAJOR * 1000 + ${KV_MINOR})) -le 4003 ] &&
kconfigs+=(CONFIG_MICROCODE_EARLY)
+
[[ "$MICROCODE" == all ]] && kconfigs+=(
${kconfig_microcode_amd[@]} ${kconfig_microcode_intel[@]} )
[[ "$MICROCODE" == amd ]] && kconfigs+=(
${kconfig_microcode_amd[@]} )
[[ "$MICROCODE" == intel ]] && kconfigs+=(
${kconfig_microcode_intel[@]} )
- for k in "${kconfigs[@]}" ; do
+
+ for k in "${kconfigs[@]}"
+ do
cfg=$(kconfig_get_opt "${KERNEL_OUTPUTDIR}/.config"
"$k")
case "$cfg" in
y) ;; # Do nothing