X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-mips%2Fsystem.h;h=ddae9bae31af1e084979a1c778d22b74c35c42c8;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=261f71d16a074f4dd4b3ab2fc2d42ba2c583d2e9;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 261f71d16..ddae9bae3 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h @@ -155,37 +155,6 @@ extern asmlinkage void *resume(void *last, void *next, void *next_ti); struct task_struct; -#ifdef CONFIG_MIPS_MT_FPAFF - -/* - * Handle the scheduler resume end of FPU affinity management. We do this - * inline to try to keep the overhead down. If we have been forced to run on - * a "CPU" with an FPU because of a previous high level of FP computation, - * but did not actually use the FPU during the most recent time-slice (CU1 - * isn't set), we undo the restriction on cpus_allowed. - * - * We're not calling set_cpus_allowed() here, because we have no need to - * force prompt migration - we're already switching the current CPU to a - * different thread. - */ - -#define switch_to(prev,next,last) \ -do { \ - if (cpu_has_fpu && \ - (prev->thread.mflags & MF_FPUBOUND) && \ - (!(KSTK_STATUS(prev) & ST0_CU1))) { \ - prev->thread.mflags &= ~MF_FPUBOUND; \ - prev->cpus_allowed = prev->thread.user_cpus_allowed; \ - } \ - if (cpu_has_dsp) \ - __save_dsp(prev); \ - next->thread.emulated_fp = 0; \ - (last) = resume(prev, next, next->thread_info); \ - if (cpu_has_dsp) \ - __restore_dsp(current); \ -} while(0) - -#else #define switch_to(prev,next,last) \ do { \ if (cpu_has_dsp) \ @@ -194,7 +163,6 @@ do { \ if (cpu_has_dsp) \ __restore_dsp(current); \ } while(0) -#endif /* * On SMP systems, when the scheduler does migration-cost autodetection, @@ -318,10 +286,10 @@ extern void __xchg_called_with_bad_pointer(void); static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size) { switch (size) { - case 4: - return __xchg_u32(ptr, x); - case 8: - return __xchg_u64(ptr, x); + case 4: + return __xchg_u32(ptr, x); + case 8: + return __xchg_u64(ptr, x); } __xchg_called_with_bad_pointer(); return x; @@ -472,8 +440,8 @@ static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old, extern void set_handler (unsigned long offset, void *addr, unsigned long len); extern void set_uncached_handler (unsigned long offset, void *addr, unsigned long len); extern void *set_vi_handler (int n, void *addr); +extern void *set_vi_srs_handler (int n, void *addr, int regset); extern void *set_except_vector(int n, void *addr); -extern unsigned long ebase; extern void per_cpu_trap_init(void); extern NORET_TYPE void die(const char *, struct pt_regs *);