S390_STHYI(2)

NOM
s390_sthyi – Émuler une instruction STHYI

SYNOPSIS
#include <asm/sthyi.h>        /* Definition of STHYI_* constants */
#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>

int syscall(SYS_s390_sthyi, unsigned long function_code,
            void *resp_buffer, uint64_t *return_code,
            unsigned long flags);

Note: glibc provides no wrapper for s390_sthyi(), necessitating the use of syscall(2).

DESCRIPTION
L'appel système s390_sthyi() émule l'instruction STHYI (Store Hypervisor Information). Il donne des informations sur les ressources matérielles de la machine et ses niveaux de virtualisation. Elles comprennent le type de processeur et sa capacité, ainsi que le modèle de la machine et d'autres métriques.

L'argument function_code indique la fonction à effectuer. Le/les code(s) suivant(s) sont pris en charge :

STHYI_FC_CP_IFL_CAP
    Renvoyer les informations de capacité CP (Central Processor) et IFL (Integrated Facility for Linux).

The resp_buffer argument specifies the address of a response buffer. When the function_code is STHYI_FC_CP_IFL_CAP, the buffer must be one page (4K) in size. If the system call returns 0, the response buffer will be filled with CPU capacity information. Otherwise, the response buffer's content is unchanged.

L'argument return_code stocke le code de retour de l'instruction STHYI en utilisant une des valeurs suivantes :

0   Succès.

4   Code de fonction non pris en charge.

Pour plus de détails sur return_code, function_code et resp_buffer, voir la référence donnée dans les NOTES.

L'argument flags est fourni pour permettre de futures extensions et doit être configuré à 0 pour l'instant.

VALEUR RENVOYÉE
En cas de succès (c'est-à-dire si l'émulation a eu lieu), le code de retour de s390_sthyi() correspond au code de condition des instructions STHYI qui est une valeur dans l'intervalle [0..3]. Un code de retour de 0 indique que les informations de capacité du processeur sont stockées dans *resp_buffer. Un code de retour de 3 indique « code de fonction non pris en charge » et le contenu de *resp_buffer n'est pas modifié. Les codes de retour 1 et 2 sont réservés.

En cas d'erreur, la valeur de retour est -1 et errno est définie pour préciser l'erreur.

ERREURS

EFAULT
    La valeur indiquée dans resp_buffer ou return_code n'est pas une adresse valable.

EINVAL
    La valeur indiquée dans flags n'est pas nulle.

ENOMEM
    L'allocation de mémoire pour la gestion des informations de capacité du processeur a échoué.

EOPNOTSUPP
    La valeur indiquée dans function_code n'est pas valable.

VERSIONS
Cet appel système est disponible depuis Linux 4.15.

CONFORMITÉ
Cet appel système spécifique à Linux n'est disponible que sur l'architecture s390.

NOTES
Pour des détails sur l'instruction STHYI, voir la page de documentation (https://www.ibm.com/support/knowledgecenter/SSB27U_6.3.0/com.ibm.zvm.v630.hcpb4/hcpb4sth.htm).

Quand l'interface de l'appel système est utilisée, le tampon de réponse n'a pas d'obligations d'alignement parfait décrit dans la définition de l'instruction STHYI.

Le noyau met en cache la réponse (jusqu'à une seconde à partir de Linux 4.16). Il se peut que les recours ultérieurs à l'appel système renvoient la réponse en cache.

VOIR AUSSI
syscall(2)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
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> et Jean-Philippe MENGUAL <jpmengual@debian.org> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.