Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 21509
b: refs/heads/master
c: 4e74ae8
h: refs/heads/master
i:
  21507: 10198fe
v: v3
  • Loading branch information
David S. Miller committed Mar 20, 2006
1 parent 719870a commit 88eb847
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f5deb807b8cd5c8fe48cbb4f7f5dd70cfbdb1178
refs/heads/master: 4e74ae800bafe79d4aaa529bc5d52425757c0115
25 changes: 23 additions & 2 deletions trunk/arch/sparc64/math-emu/math.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,30 @@ int do_mathemu(struct pt_regs *regs, struct fpustate *f)
case FSTOQ: TYPE(3,3,1,1,1,0,0); break;
case FDTOQ: TYPE(3,3,1,2,1,0,0); break;
case FQTOI: TYPE(3,1,0,3,1,0,0); break;

/* We can get either unimplemented or unfinished
* for these cases. Pre-Niagara systems generate
* unfinished fpop for SUBNORMAL cases, and Niagara
* always gives unimplemented fpop for fsqrt{s,d}.
*/
case FSQRTS: {
unsigned long x = current_thread_info()->xfsr[0];

x = (x >> 14) & 0xf;
TYPE(x,1,1,1,1,0,0);
printk("math-emu: type is %08x\n", type);
break;
}

case FSQRTD: {
unsigned long x = current_thread_info()->xfsr[0];

x = (x >> 14) & 0xf;
TYPE(x,2,1,2,1,0,0);
break;
}

/* SUBNORMAL - ftt == 2 */
case FSQRTS: TYPE(2,1,1,1,1,0,0); break;
case FSQRTD: TYPE(2,2,1,2,1,0,0); break;
case FADDD:
case FSUBD:
case FMULD:
Expand Down

0 comments on commit 88eb847

Please sign in to comment.