sys-kernel/dracut: backport support for newer AMD microcode
authorMike Gilbert <floppym@gentoo.org>
Sun, 7 Jan 2018 16:55:30 +0000 (11:55 -0500)
committerMike Gilbert <floppym@gentoo.org>
Sun, 7 Jan 2018 16:55:51 +0000 (11:55 -0500)
Closes: https://bugs.gentoo.org/643764
Package-Manager: Portage-2.3.19_p3, Repoman-2.3.6_p37

sys-kernel/dracut/dracut-046-r1.ebuild [moved from sys-kernel/dracut/dracut-046.ebuild with 98% similarity]
sys-kernel/dracut/files/046-amd-microcode.patch [new file with mode: 0644]

similarity index 98%
rename from sys-kernel/dracut/dracut-046.ebuild
rename to sys-kernel/dracut/dracut-046-r1.ebuild
index 8c505a56267c798dbdd59e60758c3eb767e9bf8b..501ca018791694e97645349a512258ec0b0b9ff3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -51,6 +51,7 @@ QA_MULTILIB_PATHS="usr/lib/dracut/.*"
 
 PATCHES=(
        "${FILESDIR}/045-systemdutildir.patch"
+       "${FILESDIR}/046-amd-microcode.patch"
 )
 
 src_configure() {
diff --git a/sys-kernel/dracut/files/046-amd-microcode.patch b/sys-kernel/dracut/files/046-amd-microcode.patch
new file mode 100644 (file)
index 0000000..c351275
--- /dev/null
@@ -0,0 +1,30 @@
+From a1250a704e33c59f2395aaad054db1c745a5c98a Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin@suse.com>
+Date: Tue, 12 Dec 2017 17:48:36 +0100
+Subject: [PATCH] Simplify microcode lookup for for AMD CPUs
+
+---
+ dracut-functions.sh | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 112b2434..d7fc5303 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -661,11 +661,8 @@ get_ucode_file ()
+     local stepping=`grep -E "stepping" /proc/cpuinfo | head -1 | sed s/.*:\ //`
+     if [[ "$(get_cpu_vendor)" == "AMD" ]]; then
+-        # If family greater than or equal to 0x16
+-        if [[ $family -ge 22 ]]; then
+-            printf "microcode_amd_fam16h.bin"
+-        elif [[ $family -eq 21 ]]; then
+-            printf "microcode_amd_fam15h.bin"
++        if [[ $family -ge 21 ]]; then
++            printf "microcode_amd_fam%xh.bin" $family
+         else
+             printf "microcode_amd.bin"
+         fi
+-- 
+2.16.0.rc0
+