cpuid(4) Device Drivers Manual cpuid(4)

cpuid - Gerät für den Zugriff auf die x86-CPUID

CPUID ist eine Schnittstelle zur Abfrage von Informationen über die x86-CPU.

Auf dieses Gerät greifen lseek(2) oder pread(2) auf die geeignete CPUID-Ebene zu und lesen 16-Byte-Blöcke ein. Werden mehr als 16 Byte gelesen, bedeutet das das Lesen mehrerer aufeinander folgender Ebenen.

Die unteren 32 Bit der Dateiposition werden als das eingehende %eax-Register verwendet und die oberen 32 Bit der Dateiposition für das eingehende %ecx, wobei Letzteres für das »Zählen« der eax-Ebenen (wie z. B. eax=4) vorgesehen ist.

Dieser Treiber verwendet /dev/cpu/CPUNUM/cpuid, wobei CPUNUM die Minor-Gerätenummer ist. Auf einem SMP-Rechner greift der Treiber direkt auf die in /proc/cpuinfo angegebene CPU CPUNUM zu.

Diese Datei ist geschützt. Sie kann nur vom Benutzer root oder Mitgliedern der Gruppe root gelesen werden.

Die CPUID-Anweisung kann direkt durch ein Programm mittels Inline-Assembler ausgeführt werden. Doch dieses Gerät ermöglicht bequemen Zugriff auf alle CPUs ohne die Affinität des Prozesses zu ändern.

Die meisten Informationen in cpuid stellt der Kernel in aufbereiteter Form entweder in /proc/cpuinfo oder durch Unterverzeichnisse in /sys/devices/system/cpu bereit. Direkter Zugriff auf die CPUID durch dieses Gerät sollte nur in Ausnahmefällen erfolgen.

Der cpuid-Treiber wird nicht automatisch geladen. Im Fall modularer Kernel müssen Sie ihn vielleicht mit dem folgenden Befehl explizit laden:


$ modprobe cpuid

bevor Sie ihn verwenden können. CPUID-Funktionen, die weitere Eingabe-Register erfordern, werden nicht unterstützt.

Frühe i486-CPUs unterstützten die CPUID-Anweisung nicht; das Öffnen dieses Gerätes auf solche CPUs schlägt mit EIO fehl.

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.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

5. Januar 2024 Linux man-pages 6.06