Scroll to navigation

fr::crypto::OPENSSL_ia32cap(3SSL) OpenSSL fr::crypto::OPENSSL_ia32cap(3SSL)
 

NOM

OPENSSL_ia32cap - Trouver les capacités des processeurs IA-32

SYNOPSIS


unsigned long *OPENSSL_ia32cap_loc(void);
#define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc()))

DESCRIPTION

La valeur renvoyée par OPENSSL_ia32cap_loc() est l'adresse d'une variable qui contient les capacité d'un processeur IA-32 sous la forme d'un vecteur de bits comme elles apparaissent dans le registre EDX après avoir exécuté l'instruction CPUID avec la valeur d'entrée EAX=1 (consultez la note applicative d'Intel nº 241618). Naturellement, cela n'a de sens que pour les plates-formes IA-32[E]. La variable est normalement définie automatiquement lors de l'initialisation de la boîte à outils, mais peut être manipulée plus tard pour changer le comportement de la bibliothèque cryptographique. À ce jour, six bits sont significatifs, à savoir :

1. le bit nº 28 qui indique l'Hyperthreading, utilisé pour
distinguer les cœurs Intel P4 ;
2. le bit nº 26 qui indique la gestion SSE2 ;
3. le bit nº 25 qui indique la gestion SSE ;
4. le bit nº 23 qui indique la gestion MMX ;
5. le bit nº 20, réservé par Intel, utilisé pour choisir
parmi les chemins de code RC4 ;
6. le bit nº 4 qui indique la présence d'un compteur d'horodatage.
Par exemple, la suppression du bit nº 26 à l'exécution désactivera l'utilisation du code optimisé pour SSE2 dans la bibliothèque cryptographique. Vous pouvez avoir besoin de faire cela si la cible est un CPU SSE2, mais que le système d'exploitation ne gère pas les extensions SSE2. Même s'il est possible de modifier la valeur par programmation, il sera sûrement plus simple de définir une variable d'environnement du même nom avant d'exécuter l'application, par exemple avec un processeur Intel P4 « env OPENSSL_ia32cap=0x12900010 apps/openssl », pour obtenir le même résultat sans avoir à modifier le code source de l'application. Vous pouvez également reconfigurer la boîte à outils avec l'option no-sse2 et recompiler.

TRADUCTION

La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.
2015-01-30 1.0.1k