zion -  save_flags

Nom

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

Résumé

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

Bugs

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

Traduction

Thierry Vignaud < tvignaud@mandrakesoft.com >, 1999
Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?