cpuid(4) Device Drivers Manual cpuid(4)

cpuid - Périphérique d'accès aux identifiants de CPU x86

CPUID fournit une interface pour demander des informations concernant un CPU x86.

On accède à ce périphérique en utilisant lseek(2) ou pread(2) avec le niveau CPUID approprié et en lisant des blocs de 16 octets. Des lectures plus importantes indiquent la lecture de plusieurs niveaux consécutifs.

Les 32 bits de poids faible de la position dans le fichier sont utilisés comme registre d'entrée %eax et les 32 bits de poids fort comme registre d'entrée %ecx, ce dernier étant utilisé pour « compter » les niveaux eax, comme pour eax=4.

Ce pilote utilise /dev/cpu/CPUNUM/cpuid, où CPUNUM est le numéro mineur, et enverra, sur un système multiprocesseur, les accès au CPU numéro CPUNUM d'après la liste dans /proc/cpuinfo.

Ce fichier est protégé de telle sorte que seul l'utilisateur root ou les membres du groupe root puissent y accéder.

L'instruction CPUID peut être exécutée directement par un programme utilisant de l'assembleur en ligne. Cependant ce périphérique fournit une méthode d'accès commode à tous les CPU sans changer l'affinité du processus.

La plupart des informations de cpuid sont renvoyées par le noyau de façon formatées dans /proc/cpuinfo ou dans les sous répertoires de /sys/devices/system/cpu. Un accès direct à CPUID par ce périphérique ne doit être utilisé que dans des cas exceptionnels.

Le pilote cpuid n'est pas chargé automatiquement. Avec les noyaux modulaires vous pouvez avoir besoin d'utiliser la commande suivante pour le charger explicitement avant son utilisation :


$ modprobe cpuid

Il n'y a pas de prise en charge des fonctions CPUID qui nécessitent des registres d'entrée supplémentaires.

Les processeurs x86 très anciens n'ont pas de prise en charge pour CPUID.

cpuid(1)

Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manuel Volume 2A : Instruction Set Reference, A-M, 3-180 CPUID reference.

Intel Corporation, Intel Processor Identification and the CPUID Instruction, Application note 485.

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

30 octobre 2022 Pages du manuel de Linux 6.02