diff options
author | Dave Jones <davej@redhat.com> | 2008-07-02 19:27:47 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2008-07-02 19:27:47 -0400 |
commit | 403b5609019923b453da2f9e4d34e325b2f4b362 (patch) | |
tree | 58cd8b701cec9360497ffe35d19fd2d7c647ce44 | |
parent | eaf20e9586a95e99cafa28e7e15c0518fe347598 (diff) |
Decode Intel brand strings.
-rw-r--r-- | Intel/info.c | 56 | ||||
-rw-r--r-- | x86info.h | 2 |
2 files changed, 56 insertions, 2 deletions
diff --git a/Intel/info.c b/Intel/info.c index 167a36c..25031e1 100644 --- a/Intel/info.c +++ b/Intel/info.c @@ -54,7 +54,61 @@ void display_Intel_info(struct cpudata *cpu) case 3: printf("Reserved"); break; } - printf(")\tBrand: %u\n", cpu->brand); + printf(")\tBrand: %u (", cpu->brand); + switch (cpu->brand) { + case 0: printf("Unsupported"); + break; + case 1: + case 0xA: + case 0x14: printf("Intel® Celeron® processor"); + break; + case 2: + case 4: printf("Intel® Pentium® III processor"); + break; + case 3: if (tuple(cpu) == 0x6b1) + printf("Intel® Celeron® processor"); + else + printf("Intel® Pentium® III Xeon processor"); + break; + case 6: printf("Mobile Intel® Pentium® III processor"); + break; + case 7: + case 0xF: + case 0x17: printf("Mobile Intel® Celeron® processor"); + break; + case 8: if (tuple(cpu) >= 0xf13) + printf("Intel® genuine processor"); + else + printf("Intel® Pentium® 4 processor"); + break; + case 9: printf("Intel® Pentium® 4 processor"); + break; + + case 0xb: if (tuple(cpu) <0xf13) + printf("Intel® Xeon processor MP"); + else + printf("Intel® Xeon processor"); + break; + case 0xc: printf("Intel® Xeon processor"); + break; + case 0xe: if (tuple(cpu) <0xf13) + printf("Intel® Xeon processor"); + else + printf("Mobile Intel® Pentium® 4 processor-M"); + break; + case 0x11: + case 0x15: printf("Mobile Genuine Intel® processor"); + break; + case 0x12: printf("Intel® Celeron® M processor"); + break; + case 0x13: printf("Mobile Intel® Celeron® processor"); + break; + case 0x16: printf("Intel® Pentium® M processor"); + break; + default: printf("unknown"); + break; + } + printf(")\n"); if (show_msr) { if (cpu->family == 0xf) @@ -64,7 +64,6 @@ struct cpudata { unsigned int emodel; unsigned int stepping; unsigned int type; - unsigned int brand; unsigned int cachesize_L1_I, cachesize_L1_D; unsigned int cachesize_L2; unsigned int cachesize_L3; @@ -82,6 +81,7 @@ struct cpudata { char *datasheet_url; char *errata_url; /* Intel specific bits */ + unsigned int brand; unsigned int apicid; char serialno[30]; }; |