---
name: "cpuid"
section: "4"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/cpuid/4"
---

# cpuid(4)

x86 CPUID access device

## NAME

cpuid - x86 CPUID access device

## DESCRIPTION

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

This device is accessed by [**lseek**(2)](/lseek/2.md) or [**pread**(2)](/pread/2.md) 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

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

[**cpuid**(1)](/cpuid/1.md)

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.
