Commit 3f80b96b authored by Keith M. Wesolowski's avatar Keith M. Wesolowski

[sparc]: Attempt mul/div emulation handling on all cpus.

parent 296d26ab
...@@ -153,6 +153,7 @@ void do_hw_interrupt(unsigned long type, unsigned long psr, unsigned long pc) ...@@ -153,6 +153,7 @@ void do_hw_interrupt(unsigned long type, unsigned long psr, unsigned long pc)
void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc, void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc,
unsigned long psr) unsigned long psr)
{ {
extern int do_user_muldiv (struct pt_regs *, unsigned long);
siginfo_t info; siginfo_t info;
if(psr & PSR_PS) if(psr & PSR_PS)
...@@ -161,11 +162,9 @@ void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned lon ...@@ -161,11 +162,9 @@ void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned lon
printk("Ill instr. at pc=%08lx instruction is %08lx\n", printk("Ill instr. at pc=%08lx instruction is %08lx\n",
regs->pc, *(unsigned long *)regs->pc); regs->pc, *(unsigned long *)regs->pc);
#endif #endif
if (sparc_cpu_model == sun4c || sparc_cpu_model == sun4) {
extern int do_user_muldiv (struct pt_regs *, unsigned long);
if (!do_user_muldiv (regs, pc)) if (!do_user_muldiv (regs, pc))
return; return;
}
info.si_signo = SIGILL; info.si_signo = SIGILL;
info.si_errno = 0; info.si_errno = 0;
info.si_code = ILL_ILLOPC; info.si_code = ILL_ILLOPC;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment