Provided by: cpuid_20200211-1_amd64 bug

NAME

       cpuid - Dump CPUID information for each CPU

SYNOPSIS

       cpuid [options...]

DESCRIPTION

       cpuid  dumps  detailed  information  about  the  CPU(s)  gathered  from  the  CPUID instruction, and also
       determines the exact model of CPU(s) from that information.

       It dumps all information available from the CPUID  instruction.   The  exact  collection  of  information
       available   varies  between  manufacturers  and  processors.   The  following  information  is  available
       consistently on all modern CPUs:

            vendor_id
            version information (1/eax)
            miscellaneous (1/ebx)
            feature information (1/ecx)

       It also produces synthetic fields based on information from multiple  CPUID  functions.   Currently,  the
       synthetic  fields  are  the  exact  model  of  each  CPU  (but  see  LIMITATIONS  below)  as (synth); the
       multiprocessing characteristics including the number of cores per chip (c) and the number of hyperthreads
       per core (t) as (multi-processing synth); and a decoding of the APIC physical ID as (APIC synth).

       The determination of the model is based on the following information:

            version information (1/eax), processor type
            version information (1/eax), family
            version information (1/eax), model
            version information (1/eax), stepping id
            version information (1/eax), extended family
            version information (1/eax), extended model
            feature information (1/ecx), virtual machine extensions
            brand id (1/ebx)
            brand (0x80000004)
            cache and TLB information (2)
            deterministic cache parameters (4/eax), extra processor cores
            AMD extended brand id (0x80000001/ebx)
            AMD extended processor signature (0x80000001/eax)
            Transmeta processor revision ID (0x80860001/ebx & ecx)

       The determination of the multiprocessing characteristics and decoding of APIC physical ID is based on the
       following information:

            feature information (1/edx), hyper-threading / multi-core supported
            miscellaneous (1/ebx), cpu count
            deterministic cache parameters (4/eax), extra processor cores on this die
            x2APIC features / processor topology (0xb)
            AMD feature flags (0x80000001/ecx)
            AMD Logical CPU cores (0x80000008/ecx), number of logical CPU cores - 1

       In addition, a simpler and coarser determination of the CPU  is  performed  using  only  the  information
       listed  above  under  version  information  (1/eax).   It  is  provided  as  (simple synth) under version
       information (1/eax).  However, it tends to be unable to distinguish between various modern CPUs.

OPTIONS

       cpuid accepts the following command line arguments:

       -1, --one-cpu
               Display information only for the first CPU.  This cuts down on the  output  on  a  multiprocessor
               system, and is useful when certain that all CPUs are identical.

       -f FILE, --file=FILE
               Read  raw  hex information from FILE instead of from executions of the cpuid instruction.  If the
               filename is '-', instead read from standard input.

       -l LEAF, --leaf=LEAF
               Display information only for the specified LEAF.

       -s SUBLEAF, --subleaf=SUBLEAF
               Display information only for the specified SUBLEAF.  It requires  the  -l  or  --leaf  option  to
               specify the LEAF.

       -h, -H, --help
               Display help information.

       -i, --inst
               Use  the  CPUID instruction.  The information it provides is reliable.  It is not necessary to be
               root to use this option.  (This option is the default.)

       -k, --kernel
               Use the CPUID kernel module.  The information does not seem to be reliable on all combinations of
               CPU type and kernel version.  Typically, it is necessary to be root to use this option.

       -r, --raw
               Display only raw hex information with no decoding.

       -v, --version
               Display cpuid version.

LIMITATIONS

       There  are  numerous  cases  where  there  is  no  way to distinguish between various CPUs in the (synth)
       information.  In some cases, the sizes of caches, number of cores, brand strings, etc., can  be  used  to
       distinguish  multiple CPUs with the same family and model.  But there are cases where that information is
       insufficient.  Whenever cpuid is unable to distinguish between multiple CPUs,  it  will  list  all  known
       possibilities.

       If  you  believe  that  a  certain  processor should be distinguishable from another and it isn't, please
       inform the author of this tool.

       The (multi-processing synth) information is unreliable on many processors.   It  faithfully  reports  the
       information  provided  by  the  CPUID  instruction  and  decodes  it  as  recommended  by  the  processor
       manufacturers, but  often  that  information  is  incorrect.   The  information  seems  to  indicate  the
       architecture's capabilities, rather than what the particular chip actually does.  In particular, it seems
       commonplace to claim the presence of multiple hyperthreads when there is only one.

INFORMATION SOURCES

       Information on the CPUID instruction and on specific CPUs is available from the following documents  from
       Intel   Corporation  <http://www.intel.com/support/processors/index.htm>,  with  the  specified  Document
       Numbers:

              241618: Intel Processor Identification and the CPUID Instruction, Application Note 485
              242480: Pentium Processor Specification Update
              242689: Pentium Pro Processor Specification Update
              243326: 60- and 66-MHz Pentium Processor Specification Update
              243337: Intel Pentium II Processor Specification Update
              243748: Intel Celeron Processor Specification Update
              243776: Intel Pentium II Xeon Processor Specification Update
              243887: Mobile Intel Pentium II Processor Specification Update
              244444: Mobile Intel Celeron Processor at 466 MHz, 433 MHz, 400 MHz, 366 MHz, 333  MHz,  300  MHz,
              and 266 MHz Specification Update
              244453: Intel Pentium III Processor Specification Update
              244460: Intel Pentium III Xeon Processor Specification Update
              245306:  Mobile Intel Pentium III Processor and Mobile Intel Pentium III Processor-M Specification
              Update
              245421: Mobile Intel Celeron Processor (0.18u and 0.13u) Specification Update
              249199: Intel Pentium 4 Processor Specification Update
              249678: Intel Xeon Processor Specification Update
              250721: Mobile Intel Pentium 4 Processor-M Specification Update
              251309: Mobile Intel Celeron Processor on .13 Micron Process in Micro-FCPGA Package  Specification
              Update
              252665: Intel Pentium M Processor Specification Update
              253176: Mobile Intel Pentium 4 Processor with 533 MHz System Bus Specification Update
              253666:  64  and  IA-32  Architectures  Software  Developer's  Manual  Volume  2A: Instruction Set
              Reference, A-M.
              276613: Detecting Multi-Core Processor Topology in an IA-32 Platform by Khang Nguyen and  Shihjong
              Kuo
              290741: Intel Xeon Processor MP Specification Update
              290749: Intel Celeron Processor in the 478-Pin Package Specification Update
              300303: Intel Celeron M Processor Specification Update
              302209: Intel Pentium M Processor on 90nm Process with 2-MB L2 Cache Specification Update
              302352: Intel Pentium 4 Processor on 90 nm Process Specification Update
              302354: Intel Celeron D Processor 3xx Sequence Specification Update
              302402: Intel Xeon Processor with 800 MHz System Bus
              302441:  Mobile  Intel  Pentium 4 Processor supporting Hyper-Threading Technology on 90-nm process
              technology Specification Update
              306752: 64-bit Intel Xeon Processor MP with 1 MB L2 Cache Specification Update
              306757: 64-bit Intel Xeon Processor MP with up to 8 MB L3 Cache Specification Update
              306832: Intel Pentium Processor Extreme Edition and Intel Pentium D Processor Specification Update
              309159: Dual-Core Intel Xeon Processor 2.80 GHz Specification Update
              309222: Intel Core Duo Processor and Intel Core Solo Processor  on  65  nm  Process  Specification
              Update
              309627: Dual-Core Intel Xeon Processor 7000 Sequence Specification Update
              310307:  Intel  Pentium  D Processor 900 Sequence and Intel Pentium Processor Extreme Edition 955,
              965 Specification Update
              310309: Intel Pentium 4 Processor 6x1 Sequence Specification Update
              311392: Dual-Core Intel Xeon Processor LV and ULV Specification Update  311827:  Intel  Celeron  D
              Processor 300 Sequence Specification Update
              313065: Dual-Core Intel Xeon Processor 5000 Series Specification Update
              313279: Intel Core 2 Extreme Processor X6800 and Intel Core 2 Duo Desktop Processor E6000 Sequence
              Specification Update
              313356: Dual-Core Intel Xeon Processor 5100 Series Specification Update
              313515: Intel Pentium Dual-Core Processor Specification Update
              314079: Intel Core 2 Duo and Intel  Core  2  Solo  Processor  for  Intel  Centrino  Duo  Processor
              Technology  Intel  Celeron  Processor 500 Series Specification Update 314554: Dual-Core Intel Xeon
              Processor 7100 Series Specification Update
              314916: Dual-Core Intel Xeon Processor 3000 Series Specification Update
              315593: Intel Core 2 Extreme Quad-Core Processor QX6000 Sequence and Intel Core 2  Quad  Processor
              Q6000 Sequence Specification Update
              316134: Quad-Core Intel Xeon Processor 3200 Series Specification Update
              316515: Intel Pentium Dual-Core Processor Specification Update
              316964: Intel Celeron Processor 400 Series Specification Update
              316982: Intel Pentium Dual-Core Desktop Processor E2000 Series Specification Update
              317667: Intel Celeron Processor 500 Series Specification Update
              318081: Intel Xeon Processor 7200 and 7300 Series Specification Update
              318547: Intel Celeron Processor 200 Sequence Specification Update
              318585: Intel Xeon Processor 5400 Series Specification Update
              318586: Intel Xeon Processor 5200 Series Specification Update
              318727:  Intel  Core  2  Extreme  Processor  QX9000  Series and Intel Core 2 Quad Processor Q9000,
              Q9000S, Q8000, Q8000S Series Specification Update
              318733: Intel Core 2 Duo Processor E8000 and E7000 Series Specification Update
              318915: Intel Core  2  Duo  Processor  and  Intel  Core  2  Extreme  Processor  on  45-nm  Process
              Specification Update
              318925: Intel Celeron Dual-Core Processor E1000 Series Specification Update
              319006: Dual-Core Intel Xeon Processor 3100 Series Specification Update
              319007: Quad-Core Intel Xeon Processor 3300 Series Specification Update
              319129: Intel Core 2 Extreme Processor QX9775 Specification Update
              319433: Intel Architecture Instruction Set Extensions Programming Reference
              319536: Intel Atom Processor Z5xx Series Specification Update
              319735: Intel Celeron Dual-Core Processor T1x00 Series Specification Update
              319978: Intel Atom Processor 200 Series Specification Update
              320047: Intel Atom Processor N270 Series Specification Update
              320121: Intel Core 2 Extreme Quad-Core Mobile Processor, Intel Core 2 Quad Mobile Processor, Intel
              Core 2 Extreme Mobile Processor, Intel Core 2 Duo Mobile  Processor,  Intel  Core  2  Solo  Mobile
              Processor and Intel Celeron Processor on 45-nm Process Specification Update
              320257: Intel EP80579 Integrated Processor Product Line Specification Update
              320336: Intel Xeon Processor 7400 Series Specification Update
              320468: Intel Pentium Dual-Core E6000 and E5000 Series Specification Update
              320529: Intel Atom Processor 300 Series Specification Update
              320767:  Intel  Core  i7-900 Mobile Processor Extreme Edition Series, Intel Core i7-800 and i7-700
              Mobile Processor Series Specification Update
              320836: Intel Core i7-900 Desktop Processor Extreme Edition Series and Intel Core  i7-900  Desktop
              Processor Series Specification Update
              321324: Intel Xeon Processor 5500 Series Specification Update
              321333: Intel Xeon Processor 3500 Series Specification Update
              322166: Intel Core i7-800 and i5-700 Desktop Processor Series Specification Update
              322373: Intel Xeon Processor 3400 Series Specification Update
              322568: Intel Celeron Processor E3x00 Series Specification Update
              322849: Intel Atom Processor N400 Series Specification Update
              322861: Intel Atom Processor D400 Series (Single Core) Specification Update
              322862: Intel Atom Processor D500 Series (Dual Core) Specification Update
              322814: Intel Core i7-600, i5-500, i5-400 and i3-300 Mobile Processor Series Specification Update
              322911:  Intel  Core  i5-600,  i3-500  Desktop  Processor Series and Intel Pentium Processor G6950
              Specification Update
              323056: Intel Xeon Processor L3406 Specification Update
              323179: Intel Core i7-660UE, i7-620LE/UE, i7-610E, i5-520E, i3-330E and  Intel  Celeron  Processor
              P4505, U3405 Series Datasheet Addendum Specification Update
              323105: Intel Xeon Processor C5500/C3500 Series Specification Update
              323254:  Intel  Core i7-900 Desktop Processor Extreme Edition Series and Intel Core i7-900 Desktop
              Processor Series on 32-nm Process Specification Update
              323338: Intel Xeon Processor 3600 Series Specification Update
              323344: Intel Xeon Processor 7500 Series Specification Update
              323372: Intel Xeon Processor 5600 Series Specification Update
              323874: Intel Pentium P6000 and U5000 Mobile Processor Series Specification Update
              324209: Intel Atom Processor E6xx Series Specification Update
              324341: Intel Atom Processor N500 Series Specification Update
              Intel 64 Architecture Processor Topology Enumeration (Whitepaper) by Shih Kuo
              324456: Intel Celeron Mobile Processor P4000 and U3000 Series Specification Update
              324643: 2nd Generation Intel Core Processor Family Desktop Specification Update
              324827: 2nd Generation Intel Core Processor Family Mobile Specification Update
              324972: Intel Xeon Processor E3-1200 Product Family Specification Update
              325122: Intel Xeon Processor E7-8800 / 4800 / 2800 Product Families Specification Update
              325307: Intel Atom Processor Z600 Series Specification Update
              325309: Intel Atom Processor Z6000 Series Specification Update
              325462: Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A,  2B,
              2C, 2D, 3A, 3B, 3C, 3D, and 4
              325630: Intel Atom Processor Z6xx Series Specification Update
              326140: Intel Atom Processor N2000 and D2000 Series Specification Update
              326198: Intel Core i7 Processor Family for the LGA-2011 Socket Specification Update
              326510: Intel Xeon Processor E5 Family Specification Update
              326766: Desktop 3rd Generation Intel Core Processor Family Specification Update
              326770: Mobile 3rd Generation Intel Core Processor Family Specification Update
              326774: Intel Xeon Processor E3-1200 v2 Product Family Specification Update
              327335:  Intel  Xeon  and  Intel  Core  Processors For Communications Infrastructure Specification
              Update
              328105: Intel Atom Processor Z2760 Specification Update
              328198: Intel Atom Processor S1200 Product Family for Microserver Specification Update
              328205: Intel Xeon Phi Coprocessor x100 Product Family Specification Update
              328899: Desktop 4th Generation Intel Core Processor Family Specification Update
              328903: Mobile 4th Generation Intel Core Processor Family Specification Update
              328908: Intel Xeon Processor E3-1200 v3 Product Family Specification Update
              329189: Intel Xeon Processor E5 v2 Product Family Specification Update
              329376: Intel Xeon E3-1125C v2, E3-1105C v2, Intel Core 3115C and Intel  Pentium  Processor  B925C
              Specification Update
              329460: Intel Atom Processor C2000 Product Family Specification Update
              329475: Intel Atom Processor Z3600 and Z3700 Series Specification Update
              329597: Intel Xeon Processor E7 v2 Product Family Specification Update
              329671/600827:  Intel  Pentium  Processor  N3500-series,  J2850, J2900 and Intel Celeron Processor
              N2900-series, N2800-series, J1800-series, J1900, J1750 Specification Update
              329676: Intel Quark SoC X1000 Datasheet
              329901/600834: Intel Atom Processor E3800 Specification Update
              330785: Intel Xeon Processor E5 v3 Product Family Specification Update
              330836: 5th Generation Intel Core Processor Family, Intel Core M Processor  Family,  Mobile  Intel
              Pentium Processor Family, and Mobile Intel Celeron Processor Family Specification Update
              330841: Intel Core i7 Processor Family for LGA2011-v3 Socket Specification Update
              332054: Intel Xeon Processor D-1500 Product Family Specification Update
              332067: Intel Atom Z8000 Processor Series Specification Update
              332095: Intel N-Series Intel Pentium Processors and Intel Celeron Processors Specification Update
              332317: Intel Xeon Processor E7 v3 Product Family Specification Update
              332381: Mobile/Desktop 5th Generation Intel Core Processor Family Specification Update
              332689: 6th Generation Intel Core Processor Family Specification Update
              333133: Intel Xeon Processor E3-1200 v5 Product Family Specification Update
              333811: Intel Xeon Processor E5-2600 v4 Product Family Specification Update
              334165: Intel Xeon Processor E7-8800/4800 v4 Product Family Specification Update
              334208: Intel Core i7 Processor Family for LGA2011-v3 Socket Specification Update
              334525: Control-flow Enforcement Technology Preview
              334646: Intel Xeon Phi Processor x200 Product Family Preliminary Specification Update
              334663: 7th Generation Intel Processor Family Specification Update Supporting 7th Generation Intel
              Core Processor Families based on U/Y-Processor Line
              334820: Intel Pentium and Celeron Processor N- and J- Series Specification Update
              335252: 5-Level Paging and 5-Level EPT White Paper
              335718: Intel Xeon Processor E3-1200 v6 Product Family Specification Update
              335901: Intel Core X-Series Processor Family Specification Update
              336345: Intel Atom Processor C3000 Product Family Specification Update
              336466: 8th Generation Intel Processor Family for S-Processor Platforms Specification Update
              336505: Intel Xeon Processor Scalable Family Specification Update
              336562: Intel Pentium Silver and Intel Celeron Processors Specification Update
              337346: 8th and 9th Generation Intel Core Processor Family Specification Update
              336907: Intel Architecture Memory Encryption Technologies Specification
              338014: Intel Xeon E-2100 and E-2200 Processor Family Specification Update
              338025: 8th Generation Intel Core Processor Families Specification Update
              338848: Second Generation Intel Xeon Scalable Processors Specification Update
              338854: Intel Xeon D-2100 Processor Product Family Specification Update
              341079: 10th Generation Intel Core Processor Families Specification Update
              615213: 10th Generation Intel Core Processor Specification Update
              Intel Microcode Update Guidance

       Information on the CPUID instruction and on specific CPUs is available from the following documents  from
       Advanced   Micro   Devices,   Inc.   <http://www.amd.com/us-en/Processors/TechnicalResources>,  with  the
       specified Publication Numbers:

              20734: AMD Processor Recognition Application Note
              21266: AMD-K6 Processor Revision Guide Model 6
              21641: AMD-K6-2 Processor Revision Guide Model 8
              21846: AMD-K6 Processor Revision Guide Model 7
              22473: AMD-K6-III Processor Revision Guide Model 9
              23614: AMD Athlon Processor Model 4 Revision Guide
              23865: AMD Duron Processor Model 3 Revision Guide
              24332: AMD Athlon Processor Model 6 Revision Guide
              24806: AMD Duron Processor Model 7 Revision Guide
              25481: CPUID Specification
              25703: AMD Athlon Processor Model 8 Revision Guide
              25759: Revision Guide for AMD Athlon 64 and AMD Opteron Processors
              26094: BIOS and Kernel Developer's Guide for AMD Athlon 64 and AMD Opteron Processors
              27532: AMD Athlon Processor Model 10 Revision Guide
              31177H: AMD Geode NX Processors Data Book
              31610: Revision Guide for AMD NPT Family 0Fh Processors
              33234F: AMD Geode LX Processors Data Book
              41322: Revision Guide for AMD Family 10h Processors
              41788: Revision Guide for AMD Family 11h Processors
              44739: Revision Guide for AMD Family 12h Processors
              47534: Revision Guide for AMD Family 14h Models 00h-0Fh Processors
              48063: Revision Guide for AMD Family 15h Models 00h-0Fh Processors
              48931: Revision Guide for AMD Family 15h Models 10h-1Fh Processors
              51603: Revision Guide for AMD Family 15h Models 30h-3Fh Processors
              51810: Revision Guide for AMD Family 16h Models 00h-0Fh Processors
              53072: Revision Guide for AMD Family 16h Models 30h-3Fh Processors
              54945: Processor Programming Reference (PPR)  for  AMD  Family  17h  Models  01h,0h,  Revision  B2
              Processors
              54945:  Processor  Programming  Reference  (PPR)  for  AMD  Family  17h Models 01h,08h Revision B2
              Processors
              55370: Revision Guide for AMD Family 15h Models 70h-7Fh Processors
              55449: Revision Guide for AMD Family 17h Models 00h-0Fh processors
              55570-B1: Processor Programming Reference  (PPR)  for  AMD  Family  17h  Model  18h,  Revision  B1
              Processors
              55766: Secure Encrypted Virtualization API Version 0.16 Technical Preview
              55803: Preliminary Processor Programming Reference (PPR) for AMD Family 17h Model 31h, Revision B0
              Processors
              56176: Processor Programming Reference (PPR) for AMD Family 17h Model 71h, Revision B0 Processors
              AMD64 Technology Indirect Branch Control Extension (White Paper), Revision 4.10.18
              AMD64 Technology Speculative Store Bypass Disable (White Paper), Revision 5.21.18

       Information on the CPUID instruction and on specific CPUs is available from the following documents  from
       Transmeta Corporation <http://www.transmeta.com/crusoe_docs/Crusoe_CPUID_5-7-02.pdf>:

              Processor Recognition, 2002/05/07

       The  linux  kernel  can  be  a  source  of information on CPUID flags, using X86_FEATURE_* definitions in
       arch/x86/include/asm/cpufeatures.h.  Also, it can be used to  learn  about  Intel  microarchitectures  in
       arch/x86/include/asm/intel-family.h.

       Information    on    generic    hypervisor    CPUID    leaves    is   available   from   this   proposal:
       <http://lwn.net/Articles/301888/>.

       Information  on  KVM   hypervisor   CPUID   leaves   is   available   from   the   Linux   kernel   under
       Documentation/virtual/kvm/cpuid.txt.

       Information  on  XEN  hypervisor  CPUID  leaves  is  deduced  from  source  inspection, mainly from xen's
       include/public/arch-x86/cpuid.h and arch/x86/traps.c.

       Information on Microsoft  hypervisor  CPUID  leaves  is  available  from  the  following  documents  from
       Microsoft:     <https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs>    and
       <http://msdn.microsoft.com/en-us/library/windows/hardware/ff542428%28v=vs.85%29.aspx>.

       Also, information is available from the following web sites:

              <http://www.sandpile.org/x86/cpuid.htm>
              <http://instlatx64.atw.hu/>
              <http://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures>
              <http://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures>
              <http://en.wikipedia.org/wiki/List_of_Intel_microprocessors>
              <http://en.wikipedia.org/wiki/List_of_AMD_microprocessors>
              <http://en.wikipedia.org/wiki/Category:X86_microprocessors>

AUTHOR

       Todd Allen <cpuid@etallen.com>