Bug 682668

Summary: Update AMD microcode to the latest one.
Product: Red Hat Enterprise Linux 6 Reporter: Anton Arapov <anton>
Component: microcode_ctlAssignee: Anton Arapov <anton>
Status: CLOSED ERRATA QA Contact: Evan McNabb <emcnabb>
Severity: high Docs Contact:
Priority: high    
Version: 6.2CC: nobody
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: microcode_ctl-1.17-8.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 682669 (view as bug list) Environment:
Last Closed: 2011-12-06 11:57:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 682669    

Description Anton Arapov 2011-03-07 08:11:00 UTC
Update AMD microcode to the latest one.
  http://www.amd64.org/support/microcode.html

Comment 2 Anton Arapov 2011-07-21 08:07:20 UTC
Log for AMD Phenom(tm) 9550 Quad-Core Processor with updated microcode_ctl:
 > 2.6.32-169.el6.x86_64
 > Red Hat Enterprise Linux Server release 6.1+

BEFORE UPDATE:
Jul 21 03:11:32 phenom-01 kernel: platform microcode: firmware: requesting amd-ucode/microcode_amd.bin
Jul 21 03:11:32 phenom-01 kernel: microcode: failed to load file amd-ucode/microcode_amd.bin
Jul 21 03:11:32 phenom-01 kernel: microcode: CPU0: patch_level=0x1000065
Jul 21 03:11:32 phenom-01 kernel: microcode: CPU1: patch_level=0x1000065
Jul 21 03:11:32 phenom-01 kernel: microcode: CPU2: patch_level=0x1000065
Jul 21 03:11:32 phenom-01 kernel: microcode: CPU3: patch_level=0x1000065
Jul 21 03:11:32 phenom-01 kernel: Microcode Update Driver: v2.00 <tigran.co.uk>, Peter Oruba
Jul 21 03:11:32 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 03:11:32 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 03:11:32 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 03:11:32 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported

AFTER UPDATE:
Jul 21 04:00:07 phenom-01 yum[7807]: Updated: 1:microcode_ctl-1.17-7.el6.x86_64
Jul 21 04:01:45 phenom-01 kernel: [drm] Loading RV610 Microcode
Jul 21 04:01:45 phenom-01 kernel: platform microcode: firmware: requesting amd-ucode/microcode_amd.bin
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU0: patch_level=0x1000065
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU0: updated (new patch_level=0x1000083)
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU1: patch_level=0x1000065
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU1: updated (new patch_level=0x1000083)
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU2: patch_level=0x1000065
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU2: updated (new patch_level=0x1000083)
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU3: patch_level=0x1000065
Jul 21 04:01:45 phenom-01 kernel: microcode: CPU3: updated (new patch_level=0x1000083)
Jul 21 04:01:45 phenom-01 kernel: Microcode Update Driver: v2.00 <tigran.co.uk>, Peter Oruba
Jul 21 04:01:45 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 04:01:45 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 04:01:45 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported
Jul 21 04:01:45 phenom-01 kernel: microcode: AMD microcode update via /dev/cpu/microcode not supported

Where: "/dev/cpu/microcode not supported" is well known kernel-related issue. I will look whether it was fixed upstream.

Comment 3 Anton Arapov 2011-07-21 08:13:33 UTC
"/dev/cpu/microcode not supported", fixes with the updated udev rule:
--- microcode_ctl.rules.old	2011-07-21 10:08:07.897302300 +0200
+++ microcode_ctl.rules	2011-06-30 07:56:33.000000000 +0200
@@ -1,2 +1,2 @@
 KERNEL=="cpu[0-9]*", ACTION=="add", RUN+="/sbin/modprobe microcode"
-KERNEL=="microcode", ACTION=="add", RUN+="/sbin/microcode_ctl -Qu"
+KERNEL=="devices/platform/microcode", ACTION=="add", RUN+="/sbin/microcode_ctl -Qu"

Comment 5 Anton Arapov 2011-07-21 10:36:07 UTC
udev rule change brakes the routine for the Intel cpus... :(

Comment 6 Anton Arapov 2011-07-21 10:52:07 UTC
udev change has been reverted.

Comment 7 Evan McNabb 2011-08-16 19:01:25 UTC
Confirmed /lib/firmware/amd-ucode/microcode_amd.bin included in microcode_ctl-1.17-8.el6 is the same as amd-ucode-2011-01-11.tar (latest) from AMD's website.

However, on both systems I tested (hp-dl385g7-02.lab.eng.brq.redhat.com and amd-pike-02.lab.bos.redhat.com) I see the following errors on load:

platform microcode: firmware: requesting amd-ucode/microcode_amd.bin
microcode: CPU0: patch_level=0x10000c4
microcode: size 3768, total_size 960
microcode: CPU0: cpu revision not listed in equivalent cpu table
microcode: size 2800, total_size 960
microcode: CPU0: cpu revision not listed in equivalent cpu table
microcode: size 1832, total_size 1824
microcode: CPU0: cpu revision not listed in equivalent cpu table
microcode: CPU1: patch_level=0x10000c4
microcode: size 3768, total_size 960
microcode: CPU1: cpu revision not listed in equivalent cpu table
microcode: size 2800, total_size 960
microcode: CPU1: cpu revision not listed in equivalent cpu table
microcode: size 1832, total_size 1824
microcode: CPU1: cpu revision not listed in equivalent cpu table
microcode: CPU2: patch_level=0x10000c4
microcode: size 3768, total_size 960
microcode: CPU2: cpu revision not listed in equivalent cpu table
microcode: size 2800, total_size 960
microcode: CPU2: cpu revision not listed in equivalent cpu table
microcode: size 1832, total_size 1824
microcode: CPU2: cpu revision not listed in equivalent cpu table
microcode: CPU3: patch_level=0x10000c4
microcode: size 3768, total_size 960
microcode: CPU3: cpu revision not listed in equivalent cpu table
microcode: size 2800, total_size 960
microcode: CPU3: cpu revision not listed in equivalent cpu table
microcode: size 1832, total_size 1824
microcode: CPU3: cpu revision not listed in equivalent cpu table
...

Anton,

Any ideas?

Comment 8 Anton Arapov 2011-08-17 07:15:42 UTC
Oops... We don't have the bits from http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=14c569425a0ae12cbeed72fdb8ebe78c48455dfd

It's nothing bad just an excessive verbosity from the kernel module.
I'm not sure if we can leave it as is and Customers won't get crazy... Would you create a bug for this? (At least for the tracking purpose)

thanks,

Comment 9 Evan McNabb 2011-08-17 15:01:56 UTC
Thanks Anton. I've opened BZ 731409 to track it.

Setting this BZ to VERIFIED.

Comment 10 errata-xmlrpc 2011-12-06 11:57:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2011-1594.html