|
@@ -1395,77 +1395,6 @@ void *set_vi_handler(int n, vi_handler_t addr)
|
|
|
return set_vi_srs_handler(n, addr, 0);
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * This is used by native signal handling
|
|
|
- */
|
|
|
-asmlinkage int (*save_fp_context)(struct sigcontext __user *sc);
|
|
|
-asmlinkage int (*restore_fp_context)(struct sigcontext __user *sc);
|
|
|
-
|
|
|
-extern asmlinkage int _save_fp_context(struct sigcontext __user *sc);
|
|
|
-extern asmlinkage int _restore_fp_context(struct sigcontext __user *sc);
|
|
|
-
|
|
|
-extern asmlinkage int fpu_emulator_save_context(struct sigcontext __user *sc);
|
|
|
-extern asmlinkage int fpu_emulator_restore_context(struct sigcontext __user *sc);
|
|
|
-
|
|
|
-#ifdef CONFIG_SMP
|
|
|
-static int smp_save_fp_context(struct sigcontext __user *sc)
|
|
|
-{
|
|
|
- return raw_cpu_has_fpu
|
|
|
- ? _save_fp_context(sc)
|
|
|
- : fpu_emulator_save_context(sc);
|
|
|
-}
|
|
|
-
|
|
|
-static int smp_restore_fp_context(struct sigcontext __user *sc)
|
|
|
-{
|
|
|
- return raw_cpu_has_fpu
|
|
|
- ? _restore_fp_context(sc)
|
|
|
- : fpu_emulator_restore_context(sc);
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
-static inline void signal_init(void)
|
|
|
-{
|
|
|
-#ifdef CONFIG_SMP
|
|
|
- /* For now just do the cpu_has_fpu check when the functions are invoked */
|
|
|
- save_fp_context = smp_save_fp_context;
|
|
|
- restore_fp_context = smp_restore_fp_context;
|
|
|
-#else
|
|
|
- if (cpu_has_fpu) {
|
|
|
- save_fp_context = _save_fp_context;
|
|
|
- restore_fp_context = _restore_fp_context;
|
|
|
- } else {
|
|
|
- save_fp_context = fpu_emulator_save_context;
|
|
|
- restore_fp_context = fpu_emulator_restore_context;
|
|
|
- }
|
|
|
-#endif
|
|
|
-}
|
|
|
-
|
|
|
-#ifdef CONFIG_MIPS32_COMPAT
|
|
|
-
|
|
|
-/*
|
|
|
- * This is used by 32-bit signal stuff on the 64-bit kernel
|
|
|
- */
|
|
|
-asmlinkage int (*save_fp_context32)(struct sigcontext32 __user *sc);
|
|
|
-asmlinkage int (*restore_fp_context32)(struct sigcontext32 __user *sc);
|
|
|
-
|
|
|
-extern asmlinkage int _save_fp_context32(struct sigcontext32 __user *sc);
|
|
|
-extern asmlinkage int _restore_fp_context32(struct sigcontext32 __user *sc);
|
|
|
-
|
|
|
-extern asmlinkage int fpu_emulator_save_context32(struct sigcontext32 __user *sc);
|
|
|
-extern asmlinkage int fpu_emulator_restore_context32(struct sigcontext32 __user *sc);
|
|
|
-
|
|
|
-static inline void signal32_init(void)
|
|
|
-{
|
|
|
- if (cpu_has_fpu) {
|
|
|
- save_fp_context32 = _save_fp_context32;
|
|
|
- restore_fp_context32 = _restore_fp_context32;
|
|
|
- } else {
|
|
|
- save_fp_context32 = fpu_emulator_save_context32;
|
|
|
- restore_fp_context32 = fpu_emulator_restore_context32;
|
|
|
- }
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
extern void cpu_cache_init(void);
|
|
|
extern void tlb_init(void);
|
|
|
extern void flush_tlb_handlers(void);
|
|
@@ -1779,11 +1708,6 @@ void __init trap_init(void)
|
|
|
else
|
|
|
memcpy((void *)(ebase + 0x080), &except_vec3_generic, 0x80);
|
|
|
|
|
|
- signal_init();
|
|
|
-#ifdef CONFIG_MIPS32_COMPAT
|
|
|
- signal32_init();
|
|
|
-#endif
|
|
|
-
|
|
|
local_flush_icache_range(ebase, ebase + 0x400);
|
|
|
flush_tlb_handlers();
|
|
|
|