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.
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 anciens processeurs i486 ne prennent pas en charge l'instruction CPUID ouvrir ce périphérique pour ces processeurs échoue avec l'erreur EIO.
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.
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 à