[LinuxBIOS] Intel refactoring and microcode updates

Corey Osgood corey.osgood at gmail.com
Fri Jan 11 02:33:19 CET 2008


joe at smittys.pointclark.net wrote:
> 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

Thanks, Joe. Anyone else have anything to say? Honestly expected more
feedback, but if there are no objections I'll commit it tomorrow.

The other thing I forgot to mention was that all the data on CPU IDs
came from the existing code and this site:
http://processorfinder.intel.com. Some of them are a bit unclear on what
sockets they use, but if anything comes up wrong, we can easily correct it.

-Corey




More information about the coreboot mailing list