00001 00007 #ifndef _INT_H_ 00008 #define _INT_H_ 00009 00010 #include "sys.h" 00011 #include "thread.h" 00012 00018 /* 00019 #define save_and_disable_interrupts (status) \ 00020 ( { if (current_thread->interrupt_counter==0) { \ 00021 current_thread->interrupt_previous_state = read_cp0_status() & 1; \ 00022 current_thread->interrupt_counter++; \ 00023 disable_interrupts(); \ 00024 } ) 00025 00026 */ 00027 void save_and_disable_interrupts(); 00028 00034 /* 00035 #define restore_interrupts (status) \ 00036 ( { if (current_thread->interrupt_counter) { \ 00037 current_thread->interrupt_counter--; \ 00038 if ((current_thread->interrupt_counter == 0) && (current_thread->interrupt_previous_state)) \ 00039 enable_interrupts(); \ 00040 } ) 00041 */ 00042 void restore_interrupts(); 00043 00044 inline void disable_interrupts (void) ; 00045 inline void enable_interrupts (void); 00046 00047 void interrupt (void); 00048 00049 #endif /* _INT_H_ */