s390_sthyi(2)

NOM
s390_sthyi – Émuler une instruction STHYI

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

SYNOPSIS
#include <asm/sthyi.h>        /* Définition des constantes STHYI_* */
#include <sys/syscall.h>      /* Définition des constantes SYS_* */
#include <unistd.h>

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

Note : la glibc ne fournit pas d'enveloppe pour s390_sthyi(), il est nécessaire d'utiliser 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).

L'argument resp_buffer indique l'adresse d'un tampon de réponse. Quand function_code vaut STHYI_FC_CP_IFL_CAP, le tampon doit être de la taille d'une page (4K). Si l'appel système renvoie 0, le tampon de réponse sera rempli avec les informations de capacité du processeur. Sinon, son contenu n'est pas modifié.

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 de futures extensions et doit être positionné actuellement sur 0.

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.

STANDARDS
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)

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.