|
@@ -917,7 +917,7 @@ void unknown_exception(struct pt_regs *regs)
|
|
printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
|
|
printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n",
|
|
regs->nip, regs->msr, regs->trap);
|
|
regs->nip, regs->msr, regs->trap);
|
|
|
|
|
|
- _exception(SIGTRAP, regs, 0, 0);
|
|
|
|
|
|
+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
|
|
|
|
|
|
exception_exit(prev_state);
|
|
exception_exit(prev_state);
|
|
}
|
|
}
|
|
@@ -939,7 +939,7 @@ bail:
|
|
|
|
|
|
void RunModeException(struct pt_regs *regs)
|
|
void RunModeException(struct pt_regs *regs)
|
|
{
|
|
{
|
|
- _exception(SIGTRAP, regs, 0, 0);
|
|
|
|
|
|
+ _exception(SIGTRAP, regs, TRAP_FIXME, 0);
|
|
}
|
|
}
|
|
|
|
|
|
void single_step_exception(struct pt_regs *regs)
|
|
void single_step_exception(struct pt_regs *regs)
|
|
@@ -978,7 +978,7 @@ static void emulate_single_step(struct pt_regs *regs)
|
|
|
|
|
|
static inline int __parse_fpscr(unsigned long fpscr)
|
|
static inline int __parse_fpscr(unsigned long fpscr)
|
|
{
|
|
{
|
|
- int ret = 0;
|
|
|
|
|
|
+ int ret = FPE_FIXME;
|
|
|
|
|
|
/* Invalid operation */
|
|
/* Invalid operation */
|
|
if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
|
|
if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX))
|
|
@@ -1929,7 +1929,7 @@ void SPEFloatingPointException(struct pt_regs *regs)
|
|
extern int do_spe_mathemu(struct pt_regs *regs);
|
|
extern int do_spe_mathemu(struct pt_regs *regs);
|
|
unsigned long spefscr;
|
|
unsigned long spefscr;
|
|
int fpexc_mode;
|
|
int fpexc_mode;
|
|
- int code = 0;
|
|
|
|
|
|
+ int code = FPE_FIXME;
|
|
int err;
|
|
int err;
|
|
|
|
|
|
flush_spe_to_thread(current);
|
|
flush_spe_to_thread(current);
|
|
@@ -1998,7 +1998,7 @@ void SPEFloatingPointRoundException(struct pt_regs *regs)
|
|
printk(KERN_ERR "unrecognized spe instruction "
|
|
printk(KERN_ERR "unrecognized spe instruction "
|
|
"in %s at %lx\n", current->comm, regs->nip);
|
|
"in %s at %lx\n", current->comm, regs->nip);
|
|
} else {
|
|
} else {
|
|
- _exception(SIGFPE, regs, 0, regs->nip);
|
|
|
|
|
|
+ _exception(SIGFPE, regs, FPE_FIXME, regs->nip);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|