Man Linux: Main Page and Category List


       cpuid - x86 CPUID access device


       CPUID provides an interface for querying information about the x86 CPU.

       This device is accessed by lseek (2) or pread (2)  to  the  appropriate
       CPUID  level  and  reading  in  chunks of 16 bytes.  A larger read size
       means multiple reads of consecutive levels.

       The lower 32 bits of the file position is used as  the  incoming  %eax,
       and  the  upper  32 bits of the file position as the incoming %ecx, the
       latter intended for "counting" eax levels like eax=4.

       This driver uses  /dev/cpu/CPUNUM/cpuid,  where  CPUNUM  is  the  minor
       number,  and  on  an  SMP  box  will direct the access to CPU CPUNUM as
       listed in /proc/cpuinfo.

       This file is protected so that it can only be read by the user root, or
       members of the group root.


       The  CPUID  instruction  can  be  directly  executed by a program using
       inline assembler.  However this device allows convenient access to  all
       CPUs without changing process affinity.

       Most  of  the  information in cpuid is reported by the kernel in cooked
       form   either   in   /proc/cpuinfo   or   through   subdirectories   in
       /sys/devices/system/cpu.   Direct  CPUID  access  through  this  device
       should only be used in exceptional cases.

       The cpuid driver is not auto-loaded.  On modular kernels you might need
       to use the following command to load it explicitly before use:

            $ modprobe cpuid

       There  is  no support for CPUID functions that require additional input

       Very old x86 CPUs don’t support CPUID.


       Intel  Corporation,  Intel  64   and   IA-32   Architectures   Software
       Developer’s  Manual  Volume  2A:  Instruction Set Reference, A-M, 3-180
       CPUID reference.

       Intel  Corporation,  Intel  Processor  Identification  and  the   CPUID
       Instruction, Application note 485.


       This  page  is  part of release 3.24 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at