summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2008-07-02 19:27:47 -0400
committerDave Jones <davej@redhat.com>2008-07-02 19:27:47 -0400
commit403b5609019923b453da2f9e4d34e325b2f4b362 (patch)
tree58cd8b701cec9360497ffe35d19fd2d7c647ce44
parenteaf20e9586a95e99cafa28e7e15c0518fe347598 (diff)
Decode Intel brand strings.
-rw-r--r--Intel/info.c56
-rw-r--r--x86info.h2
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)
diff --git a/x86info.h b/x86info.h
index fe8da06..4db09c9 100644
--- a/x86info.h
+++ b/x86info.h
@@ -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];
};