summaryrefslogtreecommitdiffstats
path: root/man4/cpuid.4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:06 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:06 +0000
commit9a6ff5bc53dedbaa601a1a76cbaf8a76afd60c9f (patch)
tree1c80e4f6b85d6c7980c78af2826bb7beeea0e1de /man4/cpuid.4
parentAdding upstream version 6.05.01. (diff)
downloadmanpages-9a6ff5bc53dedbaa601a1a76cbaf8a76afd60c9f.tar.xz
manpages-9a6ff5bc53dedbaa601a1a76cbaf8a76afd60c9f.zip
Adding upstream version 6.7.upstream/6.7
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man4/cpuid.4')
-rw-r--r--man4/cpuid.428
1 files changed, 15 insertions, 13 deletions
diff --git a/man4/cpuid.4 b/man4/cpuid.4
index 3f7d184..e58e29e 100644
--- a/man4/cpuid.4
+++ b/man4/cpuid.4
@@ -3,19 +3,19 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH cpuid 4 2022-10-30 "Linux man-pages 6.05.01"
+.TH cpuid 4 2024-01-05 "Linux man-pages 6.7"
.SH NAME
cpuid \- x86 CPUID access device
.SH DESCRIPTION
CPUID provides an interface for querying information about the x86 CPU.
-.PP
+.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.
-.PP
+.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
@@ -24,7 +24,7 @@ the latter is intended for "counting"
.I eax
levels like
.IR eax=4 .
-.PP
+.P
This driver uses
.IR /dev/cpu/CPUNUM/cpuid ,
where
@@ -34,7 +34,7 @@ and on an SMP box will direct the access to CPU
.I CPUNUM
as listed in
.IR /proc/cpuinfo .
-.PP
+.P
This file is protected so that it can be read only by the user
.IR root ,
or members of the group
@@ -44,7 +44,7 @@ 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.
-.PP
+.P
Most of the information in
.I cpuid
is reported by the kernel in cooked form either in
@@ -53,29 +53,31 @@ or through subdirectories in
.IR /sys/devices/system/cpu .
Direct CPUID access through this device should only
be used in exceptional cases.
-.PP
+.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:
-.PP
+.P
.in +4n
.EX
$ modprobe cpuid
.EE
.in
-.PP
+.P
There is no support for CPUID functions that require additional
input registers.
-.PP
-Very old x86 CPUs don't support CPUID.
+.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)
-.PP
+.P
Intel Corporation, Intel 64 and IA-32 Architectures
Software Developer's Manual Volume 2A:
Instruction Set Reference, A-M, 3-180 CPUID reference.
-.PP
+.P
Intel Corporation, Intel Processor Identification and
the CPUID Instruction, Application note 485.