kernelslacker / x86info

x86info : x86 processor register decoder.
GNU General Public License v2.0
40 stars 20 forks source link

x86info flags differ from /proc/cpunifo #9

Open matwey opened 7 years ago

matwey commented 7 years ago

Hello,

I am using x86info 1.30 and found that CPU feature flags are different comparing what I see in /proc/cpuinfo:

x86info v1.30.  Dave Jones 2001-2011
Feedback to <davej@redhat.com>.

MP Table:
#       APIC ID Version State           Family  Model   Step    Flags
#        0       0x14    BSP, usable     6       12      2       0x1fabfbff
#        1       0x14    AP, usable      6       12      2       0x1fabfbff
#        2       0x14    AP, usable      6       12      2       0x1fabfbff
#        3       0x14    AP, usable      6       12      2       0x1fabfbff

Found 4 identical CPUs
Extended Family: 0 Extended Model: 2 Family: 6 Model: 44 Stepping: 2
Type: 0 (Original OEM)
CPU Model (x86info's best guess): Core i7 (Nehalem) [Gulftown/Westmere-EP]
Processor name string (BIOS programmed): Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz

Performance MSRs:
  MSR_IA32_PERF_STATUS: 0x0
  MSR_IA32_MISC_ENABLE: 0x0 [Enabled: ]

Machine check MSRs:
Number of reporting banks : 0

Microcode version: 0x0000000000000014

eax in: 0x00000000, eax = 0000000b ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 000206c2 ebx = 00040800 ecx = 82982223 edx = 1fabfbff
eax in: 0x00000002, eax = 55035a01 ebx = 00f0b2ff ecx = 00000000 edx = 00ca0000
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 0c00c121 ebx = 01c0003f ecx = 0000003f edx = 00000000
eax in: 0x00000005, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000006, eax = 00000007 ebx = 00000002 ecx = 00000009 edx = 00000000
eax in: 0x00000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000008, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000a, eax = 07300401 ebx = 0000007f ecx = 00000000 edx = 00000000
eax in: 0x0000000b, eax = 00000000 ebx = 00000001 ecx = 00000100 edx = 00000000

eax in: 0x80000000, eax = 80000008 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000001, eax = 00000000 ebx = 00000000 ecx = 00000001 edx = 28100800
eax in: 0x80000002, eax = 65746e49 ebx = 2952286c ecx = 6f655820 edx = 2952286e
eax in: 0x80000003, eax = 55504320 ebx = 20202020 ecx = 20202020 edx = 58202020
eax in: 0x80000004, eax = 35373635 ebx = 20402020 ecx = 37302e33 edx = 007a4847
eax in: 0x80000005, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000006, eax = 00000000 ebx = 00000000 ecx = 01006040 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000100
eax in: 0x80000008, eax = 00003028 ebx = 00000000 ecx = 00000000 edx = 00000000

Cache info
TLB info
 Instruction TLB: 2MB or 4MB pages, fully associative, 7 entries
 Instruction TLB: 4K pages, 4-way associative, 64 entries.
 Data TLB: 4KB or 4MB pages, fully associative, 32 entries.
 Data TLB: 4KB pages, 4-way associative, 64 entries
 Data TLB: 4K pages, 4-way associative, 512 entries.
 Data TLB: 4KB or 4MB pages, fully associative, 32 entries.
 Data TLB: 4KB pages, 4-way associative, 64 entries
 64 byte prefetching.
 Data TLB: 4K pages, 4-way associative, 512 entries.
Found unknown cache descriptors: ff 
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh ds mmx fxsr sse sse2 ss ht sse3 pclmuldq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes [1:ecx:31]
Extended feature flags:
 SYSCALL xd rdtscp em64t lahf_lm dts ida arat nonstop_tsc
Long NOPs supported: yes

MTRR registers:
MTRRcap (0xfe): 0x0000000000000508 (smrr flag: 0x0, wc flag: 0x1, fix flag: 0x1, vcnt field: 0x08 (8))
MTRRphysBase0 (0x200): 0x00000000c0000000 (physbase field:0x00c0000 type field: 0x00 (uncacheable))
MTRRphysMask0 (0x201): 0x000000ffc0000800 (physmask field:0xffc0000 valid flag: 1)
MTRRphysBase1 (0x202): 0x0000000000000006 (physbase field:0x0000000 type field: 0x06 (write-back))
MTRRphysMask1 (0x203): 0x000000ff00000800 (physmask field:0xff00000 valid flag: 1)
MTRRphysBase2 (0x204): 0x0000000100000006 (physbase field:0x0100000 type field: 0x06 (write-back))
MTRRphysMask2 (0x205): 0x000000ffc0000800 (physmask field:0xffc0000 valid flag: 1)
MTRRphysBase3 (0x206): 0x0000000000000000 (physbase field:0x0000000 type field: 0x00 (uncacheable))
MTRRphysMask3 (0x207): 0x0000000000000000 (physmask field:0x0000000 valid flag: 0)
MTRRphysBase4 (0x208): 0x0000000000000000 (physbase field:0x0000000 type field: 0x00 (uncacheable))
MTRRphysMask4 (0x209): 0x0000000000000000 (physmask field:0x0000000 valid flag: 0)
MTRRphysBase5 (0x20a): 0x0000000000000000 (physbase field:0x0000000 type field: 0x00 (uncacheable))
MTRRphysMask5 (0x20b): 0x0000000000000000 (physmask field:0x0000000 valid flag: 0)
MTRRphysBase6 (0x20c): 0x0000000000000000 (physbase field:0x0000000 type field: 0x00 (uncacheable))
MTRRphysMask6 (0x20d): 0x0000000000000000 (physmask field:0x0000000 valid flag: 0)
MTRRphysBase7 (0x20e): 0x0000000000000000 (physbase field:0x0000000 type field: 0x00 (uncacheable))
MTRRphysMask7 (0x20f): 0x0000000000000000 (physmask field:0x0000000 valid flag: 0)
MTRRfix64K_00000 (0x250): 0x0606060606060606
MTRRfix16K_80000 (0x258): 0x0606060606060606
MTRRfix16K_A0000 (0x259): 0x0000000000000000
MTRRfix4K_C8000 (0x269): 0x0000000005050505
MTRRfix4K_D0000 0x26a: 0x0000000000000000
MTRRfix4K_D8000 0x26b: 0x0000000000000000
MTRRfix4K_E0000 0x26c: 0x0000000000000000
MTRRfix4K_E8000 0x26d: 0x0000000000000000
MTRRfix4K_F0000 0x26e: 0x0505050505050505
MTRRfix4K_F8000 0x26f: 0x0505050505050505
MTRRdefType (0x2ff): 0x0000000000000c00 (fixed-range flag: 0x1, mtrr flag: 0x1, type field: 0x00 (uncacheable))

APIC registers:
APIC MSR Base(0x1b):                    : 0x00000000fee00900
APIC Local ID                           : 0x00000000
APIC Local Version                      : 0x00050014
APIC Task Priority                      : 0x00000000
APIC Arbitration Priority               : 0x00000000
APIC Processor Priority                 : 0x00000000
APIC EOI                                : 0x00000000
APIC Remote Read                        : 0x00000000
APIC Logical Destination                : 0x01000000
APIC Destination Format                 : 0xffffffff
APIC Spurious Interrupt Vector          : 0x000001ff
APIC In-Service (ISR0)                  : 0x00000000
APIC In-Service (ISR1)                  : 0x00000000
APIC In-Service (ISR2)                  : 0x00000000
APIC In-Service (ISR3)                  : 0x00000000
APIC In-Service (ISR4)                  : 0x00000000
APIC In-Service (ISR5)                  : 0x00000000
APIC In-Service (ISR6)                  : 0x00000000
APIC In-Service (ISR7)                  : 0x00000000
APIC Trigger Mode (TMR0)                : 0x00000000
APIC Trigger Mode (TMR1)                : 0x00000000
APIC Trigger Mode (TMR2)                : 0x00000000
APIC Trigger Mode (TMR3)                : 0x00000000
APIC Trigger Mode (TMR4)                : 0x00000000
APIC Trigger Mode (TMR5)                : 0x00000000
APIC Trigger Mode (TMR6)                : 0x00000008
APIC Trigger Mode (TMR7)                : 0x00000000
APIC Interrupt Request (IRR00)          : 0x00000000
APIC Interrupt Request (IRR01)          : 0x00000000
APIC Interrupt Request (IRR02)          : 0x00000000
APIC Interrupt Request (IRR03)          : 0x00000000
APIC Interrupt Request (IRR04)          : 0x00000000
APIC Interrupt Request (IRR05)          : 0x00000000
APIC Interrupt Request (IRR06)          : 0x00000000
APIC Interrupt Request (IRR07)          : 0x00000000
APIC Error Status                       : 0x00000000
APIC LVT CMCI                           : 0x00010000
APIC Interrupt Command (ICR0)           : 0x000008fd
APIC Interrupt Command (ICR1)           : 0x04000000
APIC LVT Timer                          : 0x000000ef
APIC Thermal Sensor                     : 0x00010000
APIC LVT Performance Monitoring Counters: 0x00000400
APIC LVT LINT0                          : 0x00010700
APIC LVT LINT1                          : 0x00000400
APIC LVT Error                          : 0x000000fe
APIC Initial Count (for Timer)          : 0x00002257
APIC Current Count (for Timer)          : 0x00000e8f
APIC Divide Configuration (for Timer)   : 0x00000003

Address sizes : 40 bits physical, 48 bits virtual
3.10GHz processor (estimate).

Total processor threads: 4
This system has 1 quad-core processor running at an estimated 3.10GHz
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz
stepping        : 2
microcode       : 0x14
cpu MHz         : 3066.775
cache size      : 12288 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat epb dtherm tpr_shadow vnmi ept vpid
bugs            :
bogomips        : 6133.55
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

arch_perfmon and aperfmperf are missed from x86info output. Is it how it should to be?