joe@smittys.pointclark.net wrote:
Quoting Corey Osgood corey.osgood@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@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