Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
03 février 2016

Linux           Types de fichiers spéciaux


cpuid

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 blocks de 16 octets. Des lectures plus importantes indiquent la lecture de plusieurs niveaux consécutifs.

   Les 32 bits LSB dans le fichier sont utilisés comme registre d'entrée %eax, et les 32 bits MSB 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, ou CPUNUM est le numéro mineur, et sur un système multiprocesseur enverra 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 root ou membres du groupe root puissent y accéder.

Notes

   L'instruction CPUID peut être exéucuté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és par le noyau de façon formatée 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 les cas exceptionnels.

   Le pilote cpuid n'est pas chargé automatiquement. Avec les noyaux modulaires il est possible de le charger avec modprobe cpuid. Il n'y a pas de prise en charge des fonctions CPUID qui nécessitent des registres d'entrée supplémentaires.