Scroll to navigation

SAVE_FLAGS(9) Fonctions du noyau Linux SAVE_FLAGS(9)

NOM

save_flags, restore_flags - Sauver/restaurer l'état du processeur et les masques d'interruptions

SYNOPSIS

#include <asm/system.h>

unsigned long drapeaux;
void save_flags(drapeaux)
void restore_flags(drapeaux)

DESCRIPTION

Les macros save_flags et restore_flags coopèrent avec la fonction cli pour fournir une protection contre les interruptions pour les portions de code critique. La fonction save_flags sauve le contexte du processeur (son état courant), en particulier le niveau de priorité des interruptions, dans interrupt priority level, dans les drapeaux (qui doivent être des expressions affectables (l-value)). Ces drapeaux DOIVENT être ensuite passés à la fonction restore_flags afin de restaurer l'état du processeur.

La macro save_flags n'affecte pas l'état du processeur, mais les pilotes peuvent utiliser les fonctions cli(9) et sti pour désactiver et rétablir les interruptions après avoir sauvé les drapeaux courants. Dès la fin de la portion de code critique, la fonction restore_flags replace le processor dans son état initial (quand l'appel correspondant de save_flags fut executé).

Seules les valeurs renvoyées par save_flags peuvent être passées à restore_flags. Toute autre valeur peut provoquer des résultats imprévisibles et est certainement non portable.

VALEUR DE RETOUR

La macro restore_flags sauve l'état du processeur dans le paramètre drapeaux qui doit être une expression affectable non constante (non-const l-value).

DISPONIBILITÉ

Linux 1.0+

VOIR AUSSI

cli(9)

AUTEUR

Stephen Williams (steve@icarus.com)

BOGUES

Comment ces routines réagissent-elles sur une machine SMP (multi-processeurs) ?

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999

19 mars 1999 Linux