[LinuxBIOS] Intel refactoring and microcode updates

Corey Osgood corey.osgood at gmail.com
Thu Jan 10 06:24:55 CET 2008


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





More information about the coreboot mailing list