[LinuxBIOS] Intel refactoring and microcode updates

joe at smittys.pointclark.net joe at smittys.pointclark.net
Thu Jan 10 13:48:42 CET 2008

Quoting Corey Osgood <corey.osgood at gmail.com>:

> joe at smittys.pointclark.net wrote:
>> Quoting Corey Osgood <corey.osgood at gmail.com>:
>>> I've separated this into two patches, one code and one microcode, to
>>> improve readability, but they would both have to be committed at once
>>> (else things break). These patches eliminate a lot of repeated code,
>>> make porting and adding new CPUs easier, add all the latest released
>>> microcode updates, and add somewhat experimental support for the latest
>>> lga775 cpus, along with various other currently unsupported CPUs.
>>> Unfortunately, not everything  works quite right yet. Here's the broken
>>> stuff:
>>>  * socket_603: includes all Xeon model f0x, f1x, and f2x cpus. This may
>>> be incorrect, but I can't see any easy way to find out.
>>>  * socket_604: includes all Xeon model f2x, f3x, f4x, and f6x. Same as
>>> above, with the added bonus of being too large to fit with any current
>>> board. It should also include the socket_603 IDs, since socket 603 CPUs
>>> work on socket 604 boards.
>>>  * socket_775: too large to build with most current ports, but it could
>>> probably be broken down into socket_775_pentium and socket_775_core. All
>>> fxx IDs are pentium 4/D, and 6xx IDs are Core/Core 2
>>> For now, I've left the current model_fxx and socket_*60*, so nothing
>>> breaks, but IMO the socket_603/604 I've added should be made to work.
>>> Both patches Signed-off-by: Corey Osgood <corey.osgood at gmail.com>
>> Hmm looks good. Should we add a quick note to each file to what
>> processor it belongs too? I think that would save developers time from
>> having to look it up when writing code for a new board? What do you
>> think?
>> Thanks - Joe
> Do you mean the microcode files? If so, the microcode update looks like
> this:
> Header
> Update Revision
> Date
> Processor Signature (CPU ID)
> ...
> So, the 4th entry in the update is always the CPU ID, and conveniently
> it's always the last one on the first line. It also makes grepping for
> them very easy, once you have the update broken down into smaller files.
> This is documented *somewhere* in LB, but I can't find it at the moment.
> It's also in the Intel architecture manual, volume 3a, table 9-6.
> In the past we labeled some CPU IDs as to what CPUs they belonged to. In
> truth, Intel uses the same CPU IDs for a variety of CPUs, for instance
> in some cases Celeron, Pentium X, and Xeons all share a common ID, since
> the core is still the same. So we can't really do that any more ;)
> -Corey
Oh ok, that makes sense.

Acked-by: Joseph Smith <joe at smittys.pointclark.net>

Thanks - Joe

More information about the coreboot mailing list