[coreboot] [patch][v2][2/4] Family 10

Marc Jones Marc.Jones at amd.com
Wed Apr 23 00:55:43 CEST 2008


Stefan Reinauer wrote:

> In the following code snippet
> 
> static struct device_operations cpu_dev_ops = {
>        .init = model_10xxx_init,
> };
> static struct cpu_device_id cpu_table[] = {
>        { X86_VENDOR_AMD, 0x100f00 },           /* SH-F0 L1 */
>        { X86_VENDOR_AMD, 0x100f10 },           /* M2 */
>        { X86_VENDOR_AMD, 0x100f20 },           /* S1g1 */
>        { X86_VENDOR_AMD, 0x100f21 },
>        { X86_VENDOR_AMD, 0x100f2A },
>        { X86_VENDOR_AMD, 0x100f22 },
>        { 0, 0 },
> };
> static struct cpu_driver model_10xxx __cpu_driver = {
>        .ops      = &cpu_dev_ops,
>        .id_table = cpu_table,
> };
> 
> it would be 100% the same to have a cpu_table struct looking like this:
> 
> static struct cpu_device_id cpu_table[] = {
>        { X86_VENDOR_AMD, 0x100f00 },           /* SH-F0 L1 */
>        { X86_VENDOR_AMD, 0x100f10 },           /* M2 */
>        { X86_VENDOR_AMD, 0x100f20 },           /* S1g1 */
>        { 0, 0 }
> };
> 
> No cpu caught by the version with the 6 IDs would ever fall through the 
> 3 ID version. It's just duplicate code.
> If we really wanted to have special code in place for the 0x100f2A, we'd 
> have to have a seperate struct cpu_driver anyways.
> 

But if you don't have the stepping in the table you get: "WARNING: Using 
generic cpu ops". I think that I like warning if there is a stepping 
that hasn't been updated yet and no warning if it has.

Marc



-- 
Marc Jones
Senior Firmware Engineer
(970) 226-9684 Office
mailto:Marc.Jones at amd.com
http://www.amd.com/embeddedprocessors





More information about the coreboot mailing list