Re: AMD microcode loading broken on 32 bit

From: Gene Heskett
Date: Thu Jan 23 2014 - 13:54:17 EST


On Thursday 23 January 2014, Boris Ostrovsky wrote:
>On 01/21/2014 01:25 PM, Borislav Petkov wrote:
>> On Tue, Jan 21, 2014 at 12:55:53PM -0500, Boris Ostrovsky wrote:
>>> cat $(AMD_UCODE_PATH)/* >
>>>
>>> ucode_initrd/kernel/x86/microcode/AuthenticAMD.bin
>>>
>>> (cd ucode_initrd;find . | cpio -o -H newc >
>>>
>>> ../$(DISTDIR)/common/ucode_initrd.cpio)
>>>
>>> ...
>>> cat $(DISTDIR)/common/ucode_initrd.cpio \
>>>
>>> $(DISTDIR)/common/_initramfs.cpio.gz > \
>>> $(DISTDIR)/common/initramfs.cpio.gz
>>>
>>> and as I just discovered, with a little twist: apparently
>>> AMD_UCODE_PATH points to Intel microcode.
>>
>> LOL!
>>
>> @hpa: in case you were wondering whether Intel ucode works on AMD - it
>> doesn't! :-)
>>
>>> So we clearly screwed up on our end but I'd think that we shouldn't
>>> crash when this happens.
>>
>> Yes, we shouldn't. I'll try to reproduce it here.
>
>So I tried this on a "good" system and I am pretty sure this is broken.
>I don't
>have any microcode in initrd and I am still dying in
>load_microcode_amd().

You can find the code on AMD's web site if you look carefully, or at least
I was able to some years ago when I built this box. There s/b an installer
that lives in /etc/init.d, and the code itself normally lives in the
/lib/firmware/amd-ucode/ directory.

If its working correctly you should see something resembling this in your
dmsg with:
gene@coyote$ grep microcode /var/log/dmesg
[ 22.572212] microcode: CPU0: patch_level=0x01000065
[ 22.573242] microcode: CPU0: new patch_level=0x01000083
[ 22.573256] microcode: CPU1: patch_level=0x01000065
[ 22.573263] microcode: CPU1: new patch_level=0x01000083
[ 22.573273] microcode: CPU2: patch_level=0x01000065
[ 22.573281] microcode: CPU2: new patch_level=0x01000083
[ 22.573293] microcode: CPU3: patch_level=0x01000065
[ 22.573301] microcode: CPU3: new patch_level=0x01000083
[ 22.573377] microcode: Microcode Update Driver: v2.00
<tigran@xxxxxxxxxxxxxxxxxxxx>, Peter Oruba

That was from a bootup to 3.12.6, 32 bit PAE, on a quad core phenom.

Cheers, Gene
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

NOTICE: Will pay 100 USD for an HP-4815A defective but
complete probe assembly.

If you continually give you will continually have.
A pen in the hand of this president is far more
dangerous than 200 million guns in the hands of
law-abiding citizens.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/