diff -urNp linux-2.5.45-ia64/include/asm-ia64/system.h linux-2.5.45-ia64-o1fix/include/asm-ia64/system.h --- linux-2.5.45-ia64/include/asm-ia64/system.h Mon Nov 4 19:31:52 2002 +++ linux-2.5.45-ia64-o1fix/include/asm-ia64/system.h Mon Nov 4 19:46:35 2002 @@ -432,6 +432,18 @@ extern void ia64_load_extra (struct task } while (0) #endif +#define prepare_arch_switch(rq, next) \ +do { spin_lock(&(next)->switch_lock); \ + spin_unlock(&(rq)->lock); \ +} while (0) + +#define finish_arch_switch(rq, prev) \ +do { spin_unlock_irq(&(prev)->switch_lock); \ +} while (0) + +#define task_running(rq, p) \ + ((rq)->curr == (p) || spin_is_locked(&(p)->switch_lock)) + #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */