cpuid(4) — Linux manual page

NAME | DESCRIPTION | NOTES | SEE ALSO | COLOPHON

cpuid(4)                Kernel Interfaces Manual                cpuid(4)

NAME         top

       cpuid - x86 CPUID access device

DESCRIPTION         top

       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 is 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 be read only by the user
       root, or members of the group root.

NOTES         top

       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 registers.

       Early i486 CPUs do not support the CPUID instruction; opening
       this device for those CPUs fails with EIO.

SEE ALSO         top

       cpuid(1)

       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.

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2024-06-26.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       man-pages@man7.org

Linux man-pages 6.9.1          2024-05-02                       cpuid(4)