diff options
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
| -rw-r--r-- | arch/powerpc/kernel/traps.c | 13 | 
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 0904492e7032..0e17dcb48720 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -296,7 +296,6 @@ NOKPROBE_SYMBOL(die);  void user_single_step_siginfo(struct task_struct *tsk,  				struct pt_regs *regs, siginfo_t *info)  { -	memset(info, 0, sizeof(*info));  	info->si_signo = SIGTRAP;  	info->si_code = TRAP_TRACE;  	info->si_addr = (void __user *)regs->nip; @@ -334,7 +333,7 @@ void _exception_pkey(int signr, struct pt_regs *regs, int code,  	 */  	thread_pkey_regs_save(¤t->thread); -	memset(&info, 0, sizeof(info)); +	clear_siginfo(&info);  	info.si_signo = signr;  	info.si_code = code;  	info.si_addr = (void __user *) addr; @@ -970,7 +969,7 @@ void unknown_exception(struct pt_regs *regs)  	printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",  	       regs->nip, regs->msr, regs->trap); -	_exception(SIGTRAP, regs, TRAP_FIXME, 0); +	_exception(SIGTRAP, regs, TRAP_UNK, 0);  	exception_exit(prev_state);  } @@ -992,7 +991,7 @@ bail:  void RunModeException(struct pt_regs *regs)  { -	_exception(SIGTRAP, regs, TRAP_FIXME, 0); +	_exception(SIGTRAP, regs, TRAP_UNK, 0);  }  void single_step_exception(struct pt_regs *regs) @@ -1032,7 +1031,7 @@ static void emulate_single_step(struct pt_regs *regs)  static inline int __parse_fpscr(unsigned long fpscr)  { -	int ret = FPE_FIXME; +	int ret = FPE_FLTUNK;  	/* Invalid operation */  	if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX)) @@ -1973,7 +1972,7 @@ void SPEFloatingPointException(struct pt_regs *regs)  	extern int do_spe_mathemu(struct pt_regs *regs);  	unsigned long spefscr;  	int fpexc_mode; -	int code = FPE_FIXME; +	int code = FPE_FLTUNK;  	int err;  	flush_spe_to_thread(current); @@ -2042,7 +2041,7 @@ void SPEFloatingPointRoundException(struct pt_regs *regs)  		printk(KERN_ERR "unrecognized spe instruction "  		       "in %s at %lx\n", current->comm, regs->nip);  	} else { -		_exception(SIGFPE, regs, FPE_FIXME, regs->nip); +		_exception(SIGFPE, regs, FPE_FLTUNK, regs->nip);  		return;  	}  }  |