|
|
- #ifndef __KERN_SYNC_SYNC_H__
- #define __KERN_SYNC_SYNC_H__
-
- #include <x86.h>
- #include <intr.h>
- #include <mmu.h>
- #include <assert.h>
- #include <atomic.h>
- #include <sched.h>
-
- static inline bool
- __intr_save(void) {
- if (read_eflags() & FL_IF) {
- intr_disable();
- return 1;
- }
- return 0;
- }
-
- static inline void
- __intr_restore(bool flag) {
- if (flag) {
- intr_enable();
- }
- }
-
- #define local_intr_save(x) do { x = __intr_save(); } while (0)
- #define local_intr_restore(x) __intr_restore(x);
-
- #endif /* !__KERN_SYNC_SYNC_H__ */
-
|