X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm26%2Fsystem.h;h=702884926a55931254ad69f3aadd968845054596;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=6361b6c71f8c4c46129da71cbe4e2ce13d171822;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/include/asm-arm26/system.h b/include/asm-arm26/system.h index 6361b6c71..702884926 100644 --- a/include/asm-arm26/system.h +++ b/include/asm-arm26/system.h @@ -98,9 +98,8 @@ extern unsigned int user_debug; * spin_unlock_irq() and friends are implemented. This avoids * us needlessly decrementing and incrementing the preempt count. */ -#define prepare_arch_switch(rq,next) local_irq_enable() -#define finish_arch_switch(rq,prev) spin_unlock(&(rq)->lock) -#define task_running(rq,p) ((rq)->curr == (p)) +#define prepare_arch_switch(next) local_irq_enable() +#define finish_arch_switch(prev) spin_unlock(&(rq)->lock) /* * switch_to(prev, next) should switch from task `prev' to `next' @@ -111,9 +110,19 @@ extern struct task_struct *__switch_to(struct task_struct *, struct thread_info #define switch_to(prev,next,last) \ do { \ - last = __switch_to(prev,prev->thread_info,next->thread_info); \ + last = __switch_to(prev,task_thread_info(prev),task_thread_info(next)); \ } while (0) +/* + * On SMP systems, when the scheduler does migration-cost autodetection, + * it needs a way to flush as much of the CPU's caches as possible. + * + * TODO: fill this in! + */ +static inline void sched_cacheflush(void) +{ +} + /* * Save the current interrupt enable state & disable IRQs */ @@ -245,6 +254,8 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size #endif /* __ASSEMBLY__ */ +#define arch_align_stack(x) (x) + #endif /* __KERNEL__ */ #endif