xref: /plan9-contrib/sys/src/9/vt4/softfpu.c (revision d6dfd9ef91cf0fa8514a249d5f2a550978c19369)
1*d6dfd9efSDavid du Colombier #include "u.h"
2*d6dfd9efSDavid du Colombier #include "../port/lib.h"
3*d6dfd9efSDavid du Colombier #include "mem.h"
4*d6dfd9efSDavid du Colombier #include "dat.h"
5*d6dfd9efSDavid du Colombier #include "fns.h"
6*d6dfd9efSDavid du Colombier 
7*d6dfd9efSDavid du Colombier /*
8*d6dfd9efSDavid du Colombier  * Find a way to finesse this away if not needed.
9*d6dfd9efSDavid du Colombier  */
10*d6dfd9efSDavid du Colombier int
fpudevprocio(Proc * proc,void * a,long n,uintptr offset,int write)11*d6dfd9efSDavid du Colombier fpudevprocio(Proc* proc, void* a, long n, uintptr offset, int write)
12*d6dfd9efSDavid du Colombier {
13*d6dfd9efSDavid du Colombier 	USED(proc, a, n, offset, write);
14*d6dfd9efSDavid du Colombier 	return 0;
15*d6dfd9efSDavid du Colombier }
16*d6dfd9efSDavid du Colombier 
17*d6dfd9efSDavid du Colombier void
fpusysrfork(Ureg *)18*d6dfd9efSDavid du Colombier fpusysrfork(Ureg*)
19*d6dfd9efSDavid du Colombier {
20*d6dfd9efSDavid du Colombier }
21*d6dfd9efSDavid du Colombier 
22*d6dfd9efSDavid du Colombier void
fpusysrforkchild(Proc *,Ureg *,Proc *)23*d6dfd9efSDavid du Colombier fpusysrforkchild(Proc*, Ureg*, Proc*)
24*d6dfd9efSDavid du Colombier {
25*d6dfd9efSDavid du Colombier }
26*d6dfd9efSDavid du Colombier 
27*d6dfd9efSDavid du Colombier void
fputrap(Ureg *,int)28*d6dfd9efSDavid du Colombier fputrap(Ureg*, int)
29*d6dfd9efSDavid du Colombier {
30*d6dfd9efSDavid du Colombier }
31*d6dfd9efSDavid du Colombier 
32*d6dfd9efSDavid du Colombier int
fpuemu(Ureg * ur)33*d6dfd9efSDavid du Colombier fpuemu(Ureg *ur)
34*d6dfd9efSDavid du Colombier {
35*d6dfd9efSDavid du Colombier 	int nfp;
36*d6dfd9efSDavid du Colombier 
37*d6dfd9efSDavid du Colombier 	if(waserror()){
38*d6dfd9efSDavid du Colombier 		postnote(up, 1, up->errstr, NDebug);
39*d6dfd9efSDavid du Colombier 		return 1;
40*d6dfd9efSDavid du Colombier 	}
41*d6dfd9efSDavid du Colombier 	spllo();
42*d6dfd9efSDavid du Colombier 	nfp = fpipower(ur);
43*d6dfd9efSDavid du Colombier 	splhi();
44*d6dfd9efSDavid du Colombier 	poperror();
45*d6dfd9efSDavid du Colombier 	return nfp;
46*d6dfd9efSDavid du Colombier }
47*d6dfd9efSDavid du Colombier 
48*d6dfd9efSDavid du Colombier void
fpuinit(void)49*d6dfd9efSDavid du Colombier fpuinit(void)
50*d6dfd9efSDavid du Colombier {
51*d6dfd9efSDavid du Colombier }
52*d6dfd9efSDavid du Colombier 
53*d6dfd9efSDavid du Colombier int
fpuavail(Ureg *)54*d6dfd9efSDavid du Colombier fpuavail(Ureg*)
55*d6dfd9efSDavid du Colombier {
56*d6dfd9efSDavid du Colombier 	return 0;
57*d6dfd9efSDavid du Colombier }
58*d6dfd9efSDavid du Colombier 
59*d6dfd9efSDavid du Colombier void
fpunotify(Ureg *)60*d6dfd9efSDavid du Colombier fpunotify(Ureg*)
61*d6dfd9efSDavid du Colombier {
62*d6dfd9efSDavid du Colombier }
63*d6dfd9efSDavid du Colombier 
64*d6dfd9efSDavid du Colombier void
fpunoted(void)65*d6dfd9efSDavid du Colombier fpunoted(void)
66*d6dfd9efSDavid du Colombier {
67*d6dfd9efSDavid du Colombier }
68*d6dfd9efSDavid du Colombier 
69*d6dfd9efSDavid du Colombier void
fpusysprocsetup(Proc * p)70*d6dfd9efSDavid du Colombier fpusysprocsetup(Proc *p)
71*d6dfd9efSDavid du Colombier {
72*d6dfd9efSDavid du Colombier 	p->fpstate = FPinit;
73*d6dfd9efSDavid du Colombier //	fpoff();		/* add to l.s */
74*d6dfd9efSDavid du Colombier }
75