diff --git a/sys-kernel/genkernel/files/4.3.8-microcode.patch b/sys-kernel/genkernel/files/4.3.8-microcode.patch index 902daf2..4780c49 100644 --- a/sys-kernel/genkernel/files/4.3.8-microcode.patch +++ b/sys-kernel/genkernel/files/4.3.8-microcode.patch @@ -1,36 +1,66 @@ ---- /usr/share/genkernel/gen_configkernel.sh~ 2023-11-09 12:04:47.223202185 +0100 -+++ /usr/share/genkernel/gen_configkernel.sh 2023-11-09 12:22:48.924474193 +0100 -@@ -1021,18 +1021,21 @@ - done +From 160cf276427bfc4dd8f223704b4d51964e337218 Mon Sep 17 00:00:00 2001 +Message-ID: <160cf276427bfc4dd8f223704b4d51964e337218.1702042004.git.michal.privoznik@gmail.com> +From: Michal Privoznik +Date: Fri, 8 Dec 2023 14:16:50 +0100 +Subject: [PATCH] gen_configkernel: Prepare for kernel-6.6 + +The microcode related config options were removed in [1] and +microcode loading is enabled when support for corresponding CPU +is enabled. Basically, this is equivalent to renaming options: + + CONFIG_MICROCODE_AMD -> CONFIG_CPU_SUP_AMD + CONFIG_MICROCODE_INTEL -> CONFIG_CPU_SUP_INTEL + +Reflect this change in gen_configkernel.sh. + +Bug: https://bugs.gentoo.org/913659 +1: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e6bcfdd75d53390a67f67237f4eafc77d9772056 +Signed-off-by: Michal Privoznik +--- + gen_configkernel.sh | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/gen_configkernel.sh b/gen_configkernel.sh +index d074005..17f9eaf 100755 +--- a/gen_configkernel.sh ++++ b/gen_configkernel.sh +@@ -991,11 +991,13 @@ config_kernel() { + [ ${KV_NUMERIC} -le 4003 ] && kconfigs_microcode+=( 'CONFIG_MICROCODE_EARLY' ) + # Intel +- kconfigs_microcode_intel+=( 'CONFIG_MICROCODE_INTEL' ) ++ [ ${KV_NUMERIC} -ge 6006 ] && kconfigs_microcode_intel+=( 'CONFIG_CPU_SUP_INTEL' ) ++ [ ${KV_NUMERIC} -lt 6006 ] && kconfigs_microcode_intel+=( 'CONFIG_MICROCODE_INTEL' ) + [ ${KV_NUMERIC} -le 4003 ] && kconfigs_microcode_intel+=( 'CONFIG_MICROCODE_INTEL_EARLY' ) + + # AMD +- kconfigs_microcode_amd=( 'CONFIG_MICROCODE_AMD' ) ++ [ ${KV_NUMERIC} -ge 6006 ] && kconfigs_microcode_amd+=( 'CONFIG_CPU_SUP_AMD' ) ++ [ ${KV_NUMERIC} -lt 6006 ] && kconfigs_microcode_amd+=( 'CONFIG_MICROCODE_AMD' ) + [ ${KV_NUMERIC} -le 4003 ] && kconfigs_microcode_amd+=( 'CONFIG_MICROCODE_AMD_EARLY' ) + + [[ "${MICROCODE}" == all ]] && kconfigs_microcode+=( ${kconfigs_microcode_amd[@]} ${kconfigs_microcode_intel[@]} ) +@@ -1016,14 +1018,16 @@ config_kernel() { required_kernel_options+=( 'CONFIG_MICROCODE' ) -- case "${MICROCODE}" in -- amd) + case "${MICROCODE}" in + amd) - required_kernel_options+=( 'CONFIG_MICROCODE_AMD' ) -- ;; -- intel) ++ [ ${KV_NUMERIC} -ge 6006 ] && required_kernel_options+=( 'CONFIG_CPU_SUP_AMD' ) ++ [ ${KV_NUMERIC} -lt 6006 ] && required_kernel_options+=( 'CONFIG_MICROCODE_AMD' ) + ;; + intel) - required_kernel_options+=( 'CONFIG_MICROCODE_INTEL' ) -- ;; -- all) ++ [ ${KV_NUMERIC} -ge 6006 ] && required_kernel_options+=( 'CONFIG_CPU_SUP_INTEL' ) ++ [ ${KV_NUMERIC} -lt 6006 ] && required_kernel_options+=( 'CONFIG_MICROCODE_INTEL' ) + ;; + all) - required_kernel_options+=( 'CONFIG_MICROCODE_AMD' ) - required_kernel_options+=( 'CONFIG_MICROCODE_INTEL' ) -- ;; -- esac -+ if [ ${KV_NUMERIC} -lt 6006 ] -+ then -+ case "${MICROCODE}" in -+ amd) -+ required_kernel_options+=( 'CONFIG_MICROCODE_AMD' ) -+ ;; -+ intel) -+ required_kernel_options+=( 'CONFIG_MICROCODE_INTEL' ) -+ ;; -+ all) -+ required_kernel_options+=( 'CONFIG_MICROCODE_AMD' ) -+ required_kernel_options+=( 'CONFIG_MICROCODE_INTEL' ) -+ ;; -+ esac -+ fi ++ [ ${KV_NUMERIC} -ge 6006 ] && required_kernel_options+=( 'CONFIG_CPU_SUP_AMD' 'CONFIG_CPU_SUP_INTEL' ) ++ [ ${KV_NUMERIC} -lt 6006 ] && required_kernel_options+=( 'CONFIG_MICROCODE_AMD' 'CONFIG_MICROCODE_INTEL' ) + ;; + esac else - print_info 1 "$(get_indent 1)>> Ignoring --microcode parameter; Architecture does not support microcode loading ..." - fi +-- +2.41.0 +