diff options
Diffstat (limited to 'man/man4/cpuid.4')
-rw-r--r-- | man/man4/cpuid.4 | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/man/man4/cpuid.4 b/man/man4/cpuid.4 new file mode 100644 index 0000000..a09d87a --- /dev/null +++ b/man/man4/cpuid.4 @@ -0,0 +1,83 @@ +.\" Copyright (c) 2009 Intel Corporation, Author Andi Kleen +.\" Description based on comments in arch/x86/kernel/cpuid.c +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH cpuid 4 2024-05-02 "Linux man-pages (unreleased)" +.SH NAME +cpuid \- x86 CPUID access device +.SH DESCRIPTION +CPUID provides an interface for querying information about the x86 CPU. +.P +This device is accessed by +.BR lseek (2) +or +.BR pread (2) +to the appropriate CPUID level and reading in chunks of 16 bytes. +A larger read size means multiple reads of consecutive levels. +.P +The lower 32 bits of the file position is used as the incoming +.IR %eax , +and the upper 32 bits of the file position as the incoming +.IR %ecx , +the latter is intended for "counting" +.I eax +levels like +.IR eax=4 . +.P +This driver uses +.IR /dev/cpu/CPUNUM/cpuid , +where +.I CPUNUM +is the minor number, +and on an SMP box will direct the access to CPU +.I CPUNUM +as listed in +.IR /proc/cpuinfo . +.P +This file is protected so that it can be read only by the user +.IR root , +or members of the group +.IR root . +.SH NOTES +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. +.P +Most of the information in +.I cpuid +is reported by the kernel in cooked form either in +.I /proc/cpuinfo +or through subdirectories in +.IR /sys/devices/system/cpu . +Direct CPUID access through this device should only +be used in exceptional cases. +.P +The +.I cpuid +driver is not auto-loaded. +On modular kernels you might need to use the following command +to load it explicitly before use: +.P +.in +4n +.EX +$ modprobe cpuid +.EE +.in +.P +There is no support for CPUID functions that require additional +input registers. +.P +Early i486 CPUs do not support the CPUID instruction; +.\" arch/x86/kernel/cpuid.c cpuid_open() +opening this device for those CPUs fails with EIO. +.SH SEE ALSO +.BR cpuid (1) +.P +Intel Corporation, Intel 64 and IA-32 Architectures +Software Developer's Manual Volume 2A: +Instruction Set Reference, A-M, 3-180 CPUID reference. +.P +Intel Corporation, Intel Processor Identification and +the CPUID Instruction, Application note 485. |