Page 1 of 3

Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 11:58
by NicCo
Source:
http://en.wikipedia.org/wiki/Microcode
Microcode is a layer of hardware-level instructions or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations. It helps separate the machine instructions from the underlying electronics so that instructions can be designed and altered more freely.
Reading the warnings during kernel build, we discovered that often complained about missing cpu ucodes
we discovered that strangely, neither mandriva or rosa, install these cpu firmwares (microcode) by default,
so by an idea of GvM, we got those old packages and updated them, we think it could be safe install these.
%description
Since PentiumPro, Intel CPU are made of a RISC chip and of a microcode whose purpose is to decompose "old" ia32 instruction into new risc ones.
This is also true for many AMD CPU. That microcode can be updated to fix bugs, but the update is volatile and needs to be uploaded on each system
boot; i.e. it doesn't reflash your CPU permanently: reboot and it reverts back to the old microcode.
Recent kernels have the ability to update this microcode by the means of the firmware loading infrastructure.
This package contains the latest microcode patches for Intel CPU, as well as microcode patches for AMD CPU of the 10h - 15h families.
NOTE: kernel since >= 2.6.29 is capable of auto updating cpu microcode

With the proper cpu microcode enabled you can obtain a more reliability of you system, especially indespensable in server area, so when your cpu has a defect, kernel will found the best work-around to avoid slowdowns, or dangerous oops that could harm till to freeze your OS...


How to install
All firmwares from MDV2011 to ROSA 2012.1 have been build and stored in ABF
http://abf.rosalinux.ru/downloads/kerne ... epository/

Mandriva 2011
http://abf.rosalinux.ru/downloads/kerne ... noarch.rpm

Code: Select all

urpmi http://abf.rosalinux.ru/downloads/kernels_testing_personal/repository/mandriva2011/x86_64/main/release/microcode-0.20120313-1-mib2011.0.noarch.rpm
ROSA 2012 Marathon (RM2012)
http://abf.rosalinux.ru/downloads/kerne ... noarch.rpm

Code: Select all

urpmi http://abf.rosalinux.ru/downloads/kernels_testing_personal/repository/rosa2012lts/x86_64/main/release/microcode-0.20120313-1-rosa.lts2012.0.noarch.rpm
ROSA 2012.1 (development)
http://abf.rosalinux.ru/downloads/kerne ... noarch.rpm

Code: Select all

urpmi http://abf.rosalinux.ru/downloads/kernels_testing_personal/repository/rosa2012.1/x86_64/main/release/microcode-0.20120313-1-rosa2012.1.noarch.rpm
Mandriva 2010.2 > the package has been built in local PC, and we store in MIB
http://mib.pianetalinux.org/MIB/2010.2/ ... noarch.rpm

Code: Select all

urpmi http://mib.pianetalinux.org/MIB/2010.2/64/projects/kernels/general/microcode-0.20120313-1mib2010.2.noarch.rpm

To see the results:
Install, Reboot your PC and then execute:

Code: Select all

$ dmesg | grep microcode
You can execute also

Code: Select all

modinfo microcode

bye, GvM and NicCo

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 14:10
by Qbert68
Provato il filmware microcode su Lap Top HP Pavillon dv5000

posto la risposta che ottengo con " dmesg | grep microcode "

Code: Select all

[    9.627305] microcode: CPU0 sig=0x6e8, pf=0x20, revision=0x39
[   10.612353] microcode: CPU1 sig=0x6e8, pf=0x20, revision=0x39
[   10.626751] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
Sembra che funzioni!

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 14:48
by promeneur
2010.2 i586 kernel 3.16 desktop nrj pae
amd athlon X2 64 5000+

i install the packet noarch
then
i reboot
then

[root@localhost log]# dmesg | grep microcode
[root@localhost log]#

seems not working

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 14:55
by NicCo
promeneur wrote:2010.2 i586 kernel 3.16 desktop nrj pae
amd athlon X2 64 5000+

i install the packet noarch
then
i reboot
then

[root@localhost log]# dmesg | grep microcode
[root@localhost log]#

seems not working
RM2012 does not need any command to start and enable microcode, perhaps old 2010 need to be pushed somewhat...

Try start microcode, executing by root

Code: Select all

# modprobe microcode
# dmesg | grep microcode

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:10
by promeneur
[root@localhost ~]# lsmod | grep microcode
[root@localhost ~]# modprobe microcode
FATAL: Error inserting microcode (/lib/modules/3.1.6-desktop-nrjpae.69mib/kernel/arch/x86/kernel/microcode.ko.gz): Invalid argument
[root@localhost ~]#

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:12
by promeneur
i have just retry the "dmesg ..." command

Code: Select all

[root@localhost ~]# dmesg | grep microcode
microcode: CPU0: family 15 not supported
[root@localhost ~]#

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:15
by promeneur
it seems there is a delay before there is a try to update microcode

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:46
by promeneur

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:54
by promeneur
i found that "Microcode update files for AMD family 10h, 11h, and 14h CPUs"

here
https://www.archlinux.org/packages/?name=amd-ucode

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 15:58
by promeneur
i found this

For AMD family 15h processors there is a separate container file

here
http://www.amd64.org/support/microcode.html

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 16:15
by promeneur
in /lib/firmware/amd-ucode/
there are
microcode_amd.bin
microcode_amd_fam15h.bin

perhaps we need to delete microcode_amd.bin and to rename microcode_amd_fam15h.bin to microcode_amd.bin ?

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 16:31
by NicCo
@ promeneur

Try this now!
The package has been updated and renamed, now contains AMD and Intel firmwares both

http://mib.pianetalinux.org/MIB/2010.2/ ... noarch.rpm

Code: Select all

urpme -a amd-ucode
urpmi http://mib.pianetalinux.org/MIB/2010.2/64/projects/kernels/general/microcode-0.20120313-1mib2010.2.noarch.rpm

Re: Microcode for cpu AMD / INTEL firmwares updates

Posted: 14 August 2012, 17:53
by promeneur
diagnostic in my case :

- microcode is not launched at boot

because no microcode info lines in dmesg or messages or syslog after boot

Re: Microcode firmwares for cpu AMD / INTEL updates

Posted: 14 August 2012, 18:12
by promeneur
i discover we must install the packet "microcode_ctl - Intel P6 / AMD CPU Microcode Utility​ "
but no progress

then
i discover about "family 15 not supported" here
https://bugzilla.redhat.com/show_bug.cgi?id=731961

we need the new version 1.17.18 (perhaps the last one ?) of "microcode_ctl - Intel P6 / AMD CPU Microcode Utility​ "

Re: Microcode for cpu AMD / INTEL firmwares updates

Posted: 14 August 2012, 18:25
by GvMariani
promeneur wrote:diagnostic in my case :
- microcode is not launched at boot
because no microcode info lines in dmesg or messages or syslog after boot
Hmm...
with a "dmesg | grep microcode" I have this

Code: Select all

[   36.554091] microcode: CPU0: patch_level=0x010000c6
[   36.554932] microcode: CPU0: new patch_level=0x010000db
[   36.554939] microcode: CPU1: patch_level=0x010000c6
[   36.555781] microcode: CPU1: new patch_level=0x010000db
[   36.555789] microcode: CPU2: patch_level=0x010000c6
[   36.556655] microcode: CPU2: new patch_level=0x010000db
[   36.556665] microcode: CPU3: patch_level=0x010000c6
[   36.557408] microcode: CPU3: new patch_level=0x010000db
[   36.557507] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[94993.105839] microcode: Microcode Update Driver: v2.00 removed.
[95010.065342] microcode: CPU0: patch_level=0x010000db
[95010.126136] microcode: CPU1: patch_level=0x010000db
[95010.127070] microcode: CPU2: patch_level=0x010000db
[95010.127808] microcode: CPU3: patch_level=0x010000db
[95010.128628] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
The first block (in the 36's timestamps) is at the boot time, the latter is from a "rmmod microcode - modprobe microcode" couple of commands...
and no need for microcode_ctl.

I would verify that:
1) the microcode_amd*.bin files are in their right place (/lib/firmware/amd-ucode)
2) my CPU is supported: what does say cpuid in the version information (1/eax) slot?

My result (for an AMD Phenom II X4 810):

Code: Select all

CPU 0:
   vendor_id = "AuthenticAMD"
   version information (1/eax):
    processor type  = primary processor (0)
    family          = Intel Pentium 4/Pentium D/Pentium Extreme Edition/Celeron/Xeon/Xeon MP/Itanium2, AMD Athlon 64/Athlon XP-M/Opteron/Sempron/Turion (15)
    model           = 0x4 (4)
    stepping id     = 0x2 (2)
    extended family = 0x1 (1)
    extended model  = 0x0 (0)
    (simple synth)  = AMD Quad-Core Opteron (Shanghai RB-C2) / Embedded Opteron (Shanghai RB-C2) / Athlon Dual-Core (Regor / Propus RB-C2) / Phenom II (Callisto / Heka / Deneb RB-C2), 45nm
GvM