1 |
commit: f1ad7c2096dd405915a6cf21af4b8e58f4e41b3d |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Mar 26 03:52:54 2019 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Mar 26 08:03:52 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f1ad7c20 |
7 |
|
8 |
config_kernel(): rewrite --microcode handling |
9 |
|
10 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
11 |
|
12 |
gen_configkernel.sh | 19 +++++++++++++------ |
13 |
1 file changed, 13 insertions(+), 6 deletions(-) |
14 |
|
15 |
diff --git a/gen_configkernel.sh b/gen_configkernel.sh |
16 |
index 8d96838..a5266e4 100755 |
17 |
--- a/gen_configkernel.sh |
18 |
+++ b/gen_configkernel.sh |
19 |
@@ -529,17 +529,24 @@ config_kernel() { |
20 |
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_DEV_VIRTIO" "${newvirtio_setting}" |
21 |
fi |
22 |
|
23 |
- # Microcode setting, intended for early microcode loading |
24 |
- # needs to be compiled in. |
25 |
- kconfig_microcode_intel=(CONFIG_MICROCODE_INTEL CONFIG_MICROCODE_INTEL_EARLY) |
26 |
- kconfig_microcode_amd=(CONFIG_MICROCODE_AMD CONFIG_MICROCODE_AMD_EARLY) |
27 |
+ # Microcode setting, intended for early microcode loading, if --microcode |
28 |
if [[ -n "${MICROCODE}" ]] |
29 |
then |
30 |
- kconfigs=(CONFIG_MICROCODE CONFIG_MICROCODE_OLD_INTERFACE CONFIG_MICROCODE_EARLY) |
31 |
+ print_info 1 "$(getIndent 1)>> Ensure that required kernel options for early microcode loading support are set..." |
32 |
+ kconfig_microcode_intel=(CONFIG_MICROCODE_INTEL CONFIG_MICROCODE_INTEL_EARLY) |
33 |
+ |
34 |
+ kconfig_microcode_amd=(CONFIG_MICROCODE_AMD) |
35 |
+ [ $(($KV_MAJOR * 1000 + ${KV_MINOR})) -le 4003 ] && kconfig_microcode_amd+=(CONFIG_MICROCODE_AMD_EARLY) |
36 |
+ |
37 |
+ kconfigs=(CONFIG_MICROCODE CONFIG_MICROCODE_OLD_INTERFACE) |
38 |
+ [ $(($KV_MAJOR * 1000 + ${KV_MINOR})) -le 4003 ] && kconfigs+=(CONFIG_MICROCODE_EARLY) |
39 |
+ |
40 |
[[ "$MICROCODE" == all ]] && kconfigs+=( ${kconfig_microcode_amd[@]} ${kconfig_microcode_intel[@]} ) |
41 |
[[ "$MICROCODE" == amd ]] && kconfigs+=( ${kconfig_microcode_amd[@]} ) |
42 |
[[ "$MICROCODE" == intel ]] && kconfigs+=( ${kconfig_microcode_intel[@]} ) |
43 |
- for k in "${kconfigs[@]}" ; do |
44 |
+ |
45 |
+ for k in "${kconfigs[@]}" |
46 |
+ do |
47 |
cfg=$(kconfig_get_opt "${KERNEL_OUTPUTDIR}/.config" "$k") |
48 |
case "$cfg" in |
49 |
y) ;; # Do nothing |