Subject: Re: microcode driver for ia-32
To: None <tech-kern@NetBSD.org>
From: phlox <phlox-netbsd-kern@fnop.net>
List: tech-kern
Date: 08/09/2004 14:56:22
--+KJYzRxRHjYqLGl5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On 2004.08.09 00:04:22 +0000, Martin Husemann wrote:
> Could you give a management summary for non IA-32 aware people like me?
> What kind of "microcode update" will this driver perform? Are there any
> that I should care about downloadable somewhere? They don't come as a
> standalone binary but need a running OS?
I'm going to give you some snippets of the IA-32 Arch. Manual Volume III (i=
t's
fairly well explained there):
"The Pentium 4, Intel Xeon, and P6 family processors have the capability to=
=20
correct errata by loading an Intel-supplied data block into the processor. =
The
data block is called a microcode update."
(Imagine this was possible in the first Pentiums, you wouldn't require the
Operating System to make those tricks due to the f00f bug:=20
http://www.x86.org/errata/dec97/f00fbug.htm)
"A microcode update consists of an Intel-supplied binary that contains a
descriptive header and data. No executable code resides within the update.
Each microcode update is tailored for a particular stepping of a Pentium 4,
Intel Xeon, or P6 family processor. A mismatch between the stepping of the
processor and the update results in a failure to load."
Intel supplies the microcode file to BIOS writters and to Tigran Aivazian,=
=20
who implemented the device driver in the Linux kernel.
If you want to check out the files go to:=20
http://www.urbanmyth.org/microcode/ucode/
This is the header format (2048 bytes):
field offset lenght
header version: 0 4
update revision: 4 4
date: 8 4
processor: 12 4
checksum: 16 4
loader revision: 20 4
processor flags: 24 4
reserved: 28 20
update data: 48 2000
"The effects of a loaded update are cleared from the processor upon a hard=
=20
reset."=20
"A multiprocessor (MP) system requires loading each processor with update d=
ata
appropriate for its CPUID and platform ID bits."
Btw, some BIOS already do the microcode update upon boot up, so some users =
won't
be interested in this.
Regards.
--=20
"Simplicity is the ultimate=20
sophistication."=20
-- Leonardo da Vinci =20
--+KJYzRxRHjYqLGl5
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (NetBSD)
iD8DBQFBF4KGE4RCxrBa3LcRAg2xAJ9UGZA3AOoBwciO4m1Jx/wjocAAxgCfal0J
u1R7yS0C+IvBwkKoe7A4BWs=
=XkVn
-----END PGP SIGNATURE-----
--+KJYzRxRHjYqLGl5--