[haiku-development] sysinfo patch

  • From: Christian Packmann <Christian.Packmann@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 27 Feb 2009 10:58:36 +0100

/trunk/src/bin/sysinfo.c

- added cache/TLB descriptors from Intel Application Note 485: "Intel®
  Processor Identification and the CPUID Instruction", November 2008
  Data from recent Core2 CPUs will now be displayed, tested on a Q9550.

Christian
Index: sysinfo.c
===================================================================
--- sysinfo.c   (revision 29323)
+++ sysinfo.c   (working copy)
@@ -27,20 +27,28 @@
        {0x02, "Instruction TLB: 4M-byte pages, fully associative, 2 entries"},
        {0x03, "Data TLB: 4k-byte pages, 4-way set associative, 64 entries"},
        {0x04, "Data TLB: 4M-byte pages, 4-way set associative, 8 entries"},
+       {0x05, "Data TLB: 4M-byte pages, 4-way set associative, 32 entries"},
        {0x06, "L1 inst cache: 8 KB, 4-way set associative, 32 bytes/line"},
        {0x08, "L1 inst cache: 16 KB, 4-way set associative, 32 bytes/line"},
        {0x0A, "L1 data cache: 8 KB, 2-way set associative, 32 bytes/line"},
        {0x0C, "L1 data cache: 16 KB, 4-way set associative, 32 bytes/line"},
+       {0x0D, "L1 data cache: 16 KB, 4-way set associative, 64-bytes/line, 
ECC"},
        {0x10, /* IA-64 */ "L1 data cache: 16 KB, 4-way set associative, 32 
bytes/line"},
        {0x15, /* IA-64 */ "L1 inst cache: 16 KB, 4-way set associative, 32 
bytes/line"},
        {0x1A, /* IA-64 */ "L2 cache: 96 KB, 6-way set associative, 64 
bytes/line"},
+       {0x21, "L2 cache: 256 KB (MLC), 8-way set associative, 64-bytes/line"},
        {0x22, "L3 cache: 512 KB, 4-way set associative (!), 64 bytes/line, 
dual-sectored"},
        {0x23, "L3 cache: 1 MB, 8-way set associative, 64 bytes/line, 
dual-sectored"},
        {0x25, "L3 cache: 2 MB, 8-way set associative, 64 bytes/line, 
dual-sectored"},
        {0x29, "L3 cache: 4 MB, 8-way set associative, 64 bytes/line, 
dual-sectored"},
+       {0x2c, "L1 data cache: 32 KB, 8-way set associative, 64 bytes/line"},
+       {0x30, "L1 inst cache: 32 KB, 8-way set associative, 64 bytes/line"},
        {0x39, "L2 cache: 128 KB, 4-way set associative, 64 bytes/line, 
sectored"},
+       {0x3A, "L2 cache: 192 KB, 4-way set associative, 64 bytes/line, 
sectored"},
        {0x3B, "L2 cache: 128 KB, 2-way set associative, 64 bytes/line, 
sectored"},
        {0x3C, "L2 cache: 256 KB, 4-way set associative, 64 bytes/line, 
sectored"},
+       {0x3D, "L2 cache: 384 KB, 6-way set associative, 64 bytes/line, 
sectored"},
+       {0x3E, "L2 cache: 512 KB, 4-way set associative, 64 bytes/line, 
sectored"},
        {0x40, NULL /*"No integrated L2 cache (P6 core) or L3 cache (P4 
core)"*/},
                // this one is separately handled
        {0x41, "L2 cache: 128 KB, 4-way set associative, 32 bytes/line"},
@@ -48,9 +56,22 @@
        {0x43, "L2 cache: 512 KB, 4-way set associative, 32 bytes/line"},
        {0x44, "L2 cache: 1024 KB, 4-way set associative, 32 bytes/line"},
        {0x45, "L2 cache: 2048 KB, 4-way set associative, 32 bytes/line"},
+       {0x46, "L3 cache: 4096 KB, 4-way set associative, 64 bytes/line"},
+       {0x47, "L3 cache: 8192 KB, 8-way set associative, 64 bytes/line"},
+       {0x48, "L2 cache: 3072 KB, 12-way set associative, 64 bytes/line, 
unified on-die"},
+       // 0x49 requires special handling, either 4M L3 (Xeon MP, 0F06; 
otherwise 4M L2
+       {0x4A, "L3 cache: 6144 KB, 12-way set associative, 64 bytes/line"},
+       {0x4B, "L3 cache: 8192 KB, 16-way set associative, 64 bytes/line"},
+       {0x4C, "L3 cache: 12288 KB, 12-way set associative, 64 bytes/line"},
+       {0x4D, "L3 cache: 16384 KB, 16-way set associative, 64 bytes/line"},
+       {0x4E, "L2 cache: 6144 KB, 24-way set associative, 64 bytes/line"},
        {0x50, "Inst TLB: 4K/4M/2M-bytes pages, fully associative, 64 entries"},
        {0x51, "Inst TLB: 4K/4M/2M-bytes pages, fully associative, 128 
entries"},
        {0x52, "Inst TLB: 4K/4M/2M-bytes pages, fully associative, 256 
entries"},
+       {0x55, "Inst TLB: 2M/4M-bytes pages, fully associative, 7 entries"},
+       {0x56, "L1 Data TLB: 4M-bytes pages, 4-way set associative, 16 
entries"},
+       {0x57, "L1 Data TLB: 4K-bytes pages, 4-way set associative, 16 
entries"},
+       {0x5A, "Data TLB: 2M/4M-bytes pages, 4-way set associative, 32 
entries"},
        {0x5B, "Data TLB: 4K/4M-bytes pages, fully associative, 64 entries"},
        {0x5C, "Data TLB: 4K/4M-bytes pages, fully associative, 128 entries"},
        {0x5D, "Data TLB: 4K/4M-bytes pages, fully associative, 256 entries"},
@@ -84,6 +105,28 @@
        {0x80, /* Cyrix specific */ "L1 cache: 16 KB, 4-way set associative, 16 
bytes/line"},
 //     {0x82, "Cyrix specific: ???"},
 //     {0x84, "Cyrix specific: ???"},
+       {0xB0, "Inst TLB: 4K-bytes pages, 4-way set associative, 128 entries"},
+       {0xB1, "Inst TLB: 2M-bytes pages, 4-way set associative, 8 entries OR 
4M, 4-way, 4 entries"},
+               // Intel doesn't give any details how to determine which of the 
two options is the case
+               // as per Intel Application Note 485, November 2008.
+       {0xB2, "Inst TLB: 4K-bytes pages, 4-way set associative, 64 entries"},
+       {0xB3, "Data TLB: 4K-bytes pages, 4-way set associative, 128 entries"},
+       {0xB4, "Data TLB: 4K-bytes pages, 4-way set associative, 256 entries"},
+       {0xCA, "Shared 2nd-level TLB: 4K, 4-way set associative, 512 entries"},
+       {0xD0, "L3 cache: 512 KB, 4-way set associative, 64-bytes/line"},
+       {0xD1, "L3 cache: 1024 KB, 4-way set associative, 64-bytes/line"},
+       {0xD2, "L3 cache: 2048 KB, 4-way set associative, 64-bytes/line"},
+       {0xD6, "L3 cache: 1024 KB, 8-way set associative, 64-bytes/line"},
+       {0xD7, "L3 cache: 2048 KB, 8-way set associative, 64-bytes/line"},
+       {0xD8, "L3 cache: 4096 KB, 8-way set associative, 64-bytes/line"},
+       {0xDC, "L3 cache: 2048 KB, 12-way set associative, 64-bytes/line"},
+       {0xDD, "L3 cache: 4096 KB, 12-way set associative, 64-bytes/line"},
+       {0xDE, "L3 cache: 8192 KB, 12-way set associative, 64-bytes/line"},
+       {0xE2, "L3 cache: 2048 KB, 16-way set associative, 64-bytes/line"},
+       {0xE3, "L3 cache: 4096 KB, 16-way set associative, 64-bytes/line"},
+       {0xE4, "L3 cache: 8192 KB, 16-way set associative, 64-bytes/line"},
+       {0xF0, "64-byte Prefetching"},
+       {0xF1, "128-byte Prefetching"},
        {0, NULL}
 };
 

Other related posts: