From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1PfFxf-000609-Mo for garchives@archives.gentoo.org; Tue, 18 Jan 2011 18:07:19 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4CA50E0A41 for ; Tue, 18 Jan 2011 18:07:19 +0000 (UTC) Received: from mail-wy0-f181.google.com (mail-wy0-f181.google.com [74.125.82.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 0E83FE0950 for ; Tue, 18 Jan 2011 17:37:43 +0000 (UTC) Received: by wyf22 with SMTP id 22so8050678wyf.40 for ; Tue, 18 Jan 2011 09:37:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=YIzgsY6hzBMEZhE1gCTwMeNWY7SjU/vTdMGUAaXjx+k=; b=Xxkcujo3EoG0QcbuMNEK9JG8iCDal5YcizmNnCWHicYwP9VsqfsNnQG1FPO2CN5jDM wZO9e63o5kwKUohjwpYVl+38yrjUTwf/4vSk6d82j4ykCNB44/rXRrXnGbq/vuVGHHGi EjCXmo0HzSbdrcc81Aujq5dRUYv7igJTccDUk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=O7jJU1bhQzS9q+EdObpLwpQWdkOiREmS6dkzo+qYm/rPSmN5bbYwd4Y5yca2Kqi9KR SiQUUUjQTfOz3cM/5VnKnZAI+QaSj00beVtUk00gu7wjdbdxpvCEmJSpwqSJw2sVN47L voZvvNswyEQSstPEU3FhW4/WrTgNA+upygQUA= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Received: by 10.216.51.135 with SMTP id b7mr1453284wec.29.1295372054586; Tue, 18 Jan 2011 09:34:14 -0800 (PST) Received: by 10.216.16.21 with HTTP; Tue, 18 Jan 2011 09:34:14 -0800 (PST) In-Reply-To: References: <20110117172148.GD5748@solfire> <4d3493c4.0297df0a.7fb2.ffffc8c0@mx.google.com> <20110117191904.GM5748@solfire> <4d349ca2.0297df0a.5e61.ffffd0dc@mx.google.com> <1295324985.21821.37.camel@rattus> Date: Tue, 18 Jan 2011 09:34:14 -0800 Message-ID: Subject: Re: [gentoo-user] Microcode update AMD From: Mark Knecht To: gentoo-user@lists.gentoo.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: e29698ba28b8145258b3004694a1b048 On Tue, Jan 18, 2011 at 8:16 AM, Mark Knecht wrote: > On Tue, Jan 18, 2011 at 7:38 AM, Paul Hartman > wrote: >> On Mon, Jan 17, 2011 at 10:29 PM, William Kenworthy = wrote: >>> The bios microcode update is likely an enable setting rather than the >>> bios actually updating the cpu. =C2=A0You need to do some reading/askin= g of >>> the manufacturers (not here) if it bothers you. >> >> Thanks for the links, I didn't realize they made the microcode data >> available separately. >> >> From Intel's download site for the microcode data: >> >> "The microcode data file contains the latest microcode definitions for >> all Intel processors. Intel releases microcode updates to correct >> processor behavior as documented in the respective processor >> specification updates. While the regular approach to getting this >> microcode update is via a BIOS upgrade, Intel realizes that this can >> be an administrative hassle. The Linux Operating System and VMware ESX >> products have a mechanism to update the microcode after booting. For >> example, this file will be used by the operating system mechanism if >> the file is placed in the /etc/firmware directory of the Linux >> system." >> >> > Thanks for the info Paul. > > For kicks I tried it on an Intel DH55HC MB running an Core i5-661. > > 1) Created /etc/firmware > 2) Downloaded the Intel microcode-20101123.tgz file > 3) Enabled the /dev/cpu/microcode option under Processor Types and Featur= es > 4) Rebuilt the kernel and rebooted > > I see this in dmesg: > > mark@firefly ~ $ dmesg | grep micro > [ =C2=A0 =C2=A00.495337] microcode: CPU0 sig=3D0x20652, pf=3D0x2, revisio= n=3D0x9 > [ =C2=A0 =C2=A00.495436] microcode: CPU1 sig=3D0x20652, pf=3D0x2, revisio= n=3D0x9 > [ =C2=A0 =C2=A00.495535] microcode: CPU2 sig=3D0x20652, pf=3D0x2, revisio= n=3D0x9 > [ =C2=A0 =C2=A00.495635] microcode: CPU3 sig=3D0x20652, pf=3D0x2, revisio= n=3D0x9 > [ =C2=A0 =C2=A00.495751] microcode: Microcode Update Driver: v2.00 > , Peter Oruba > mark@firefly ~ $ > > On this machine the message doesn't change whether the microcode file > is located in /etc/firmware or not so I don't know how to tell if the > process worked but the processor doesn't need any updates or whether > it didn't work at all. > > - Mark > OK, I got it to load by hand: 1) emerge microcode-ctl which also emerges microcode-data. Unfortunately microcode-data looks to be out of date. Add microcode_ctl to the boot level: rc-update add microcode_ctl boot 2) Unzip and untar the microcode file from Intel. 3) The above emerge placed the microcode.dat file in /lib/firmware, not /etc/firmware as suggested by the kernel, so I loaded the newer one from Intel by hand using microcode-ctl: firefly firmware # microcode_ctl -f /etc/firmware/microcode-20101123.dat microcode_ctl: writing microcode (length: 430080) microcode_ctl: microcode successfuly written to /dev/cpu/microcode firefly firmware # dmesg | grep micro [ 0.495755] microcode: CPU0 sig=3D0x20652, pf=3D0x2, revision=3D0x9 [ 0.495853] microcode: CPU1 sig=3D0x20652, pf=3D0x2, revision=3D0x9 [ 0.495952] microcode: CPU2 sig=3D0x20652, pf=3D0x2, revision=3D0x9 [ 0.496050] microcode: CPU3 sig=3D0x20652, pf=3D0x2, revision=3D0x9 [ 0.496168] microcode: Microcode Update Driver: v2.00 , Peter Oruba [ 2647.731262] microcode: CPU0 updated to revision 0xc, date =3D 2010-06-10 [ 2647.731982] microcode: CPU1 updated to revision 0xc, date =3D 2010-06-10 [ 2647.732815] microcode: CPU2 updated to revision 0xc, date =3D 2010-06-10 [ 2647.733608] microcode: CPU3 updated to revision 0xc, date =3D 2010-06-10 firefly firmware # Now the microcode revision appears to be updated. I suspected that if I renamed the file in /etc/firmware to 'microcode.dat' maybe it would load automatically at boot time but it didn't so I moved it to lib/firmware where microcode_ctl does load it. NOTE: There is a /etc/conf.d/microcode_ctl config file but it doesn't see to include a path for microcode so I guess at this time I'm stuck overwriting the /lib/firmware directory until I learn more. Cheers, Mark