save_flags,  restore_flags  - save/restore processor state
       and irq mask


SYNOPSIS

       #include <asm/system.h>

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


DESCRIPTION

       The save_flags and restore_flags macros cooperate with the
       cli  function  to provide interrupt protection to critical
       sections of code. The save_flags function saves  the  cur­
       rent processor state, most specifically the interrupt pri­
       ority level, in the flags  value  (which  must  be  an  l-
       value).  The  flags must be passed to a subsequent call to
       restore_flags to restore the processor state.

       The save_flags macro does not affect the processor  state,
       but  drivers  may use the cli(9) and sti functions to dis­
       able and enable interrupts after saving the current flags.
       When   the   critical  section  of  code  is  passed,  the
       restore_flags returns the processor to its  state  at  the
       point where the matching save_flags was called.

       Only  values  returned  by  save_flags  can  be  passed to
       restore_flags.  Any other values may  cause  unpredictable
       results, and are certainly not portable.


RETURN VALUE

       The  restore_flags  macro saves the processor state in the
       flags parameter, which must be a non-const l-value.


AVAILABILITY

       Linux 1.0+


SEE ALSO

       cli(9)


AUTHOR

       Stephen Williams (steve@icarus.com)


BUGS

       How does all  this  react  with  symmetric  multiprocessor
       machines?







Man(1) output converted with man2html