History

20080524-1941

Charles.Forsyth committed 18 years ago

Commit fa1302a1 parent 1e478ad7 files · +140 −1Browse files

Unified · Split

7 files
  1. CHANGES +2 −0
  2. include/version.h +1 −1
  3. lib9/getcallerpc-NetBSD-386.S +7 −0
  4. libmath/FPcontrol-NetBSD.c +78 −0
  5. libmemdraw/mkfile-NetBSD +4 −0
  6. mkfiles/mkfile-NetBSD-386 +29 −0
  7. mkfiles/mkhost-NetBSD +19 −0
CHANGES+2−0
@@ -1,3 +1,5 @@
1+20080524
2+ add missing NetBSD files
13 20080522
24 dis/lib/msgio.dis appl/lib/msgio.b - fix incorrect check for 16rFF
35 add OpenBSD changes from tim@nop.cx (more changes to follow shortly that cause changes elsewhere)
include/version.h+1−1
@@ -1 +1 @@
1−#define VERSION "Fourth Edition (20080522)"
1+#define VERSION "Fourth Edition (20080524)"
lib9/getcallerpc-NetBSD-386.S+7−0
@@ -0,0 +1,7 @@
1+ .file "getcallerpc-NetBSD-386.S"
2+
3+ .type getcallerpc,@function
4+ .global getcallerpc
5+getcallerpc:
6+ movl 4(%ebp), %eax
7+ ret
libmath/FPcontrol-NetBSD.c+78−0
@@ -0,0 +1,78 @@
1+#include "lib9.h"
2+#include "fpuctl.h"
3+#include "mathi.h"
4+
5+void
6+FPinit(void)
7+{
8+ setfsr(0); /* Clear pending exceptions */
9+ setfcr(FPPDBL|FPRNR|FPINVAL|FPZDIV|FPUNFL|FPOVFL);
10+}
11+
12+ulong
13+getFPstatus(void)
14+{
15+ ulong fsr = 0, fsr9 = getfsr();
16+ /* on specific machines, could be table lookup */
17+ if(fsr9&FPAINEX) fsr |= INEX;
18+ if(fsr9&FPAOVFL) fsr |= OVFL;
19+ if(fsr9&FPAUNFL) fsr |= UNFL;
20+ if(fsr9&FPAZDIV) fsr |= ZDIV;
21+ if(fsr9&FPAINVAL) fsr |= INVAL;
22+ return fsr;
23+}
24+
25+ulong
26+FPstatus(ulong fsr, ulong mask)
27+{
28+ ulong fsr9 = 0;
29+ ulong old = getFPstatus();
30+ fsr = (fsr&mask) | (old&~mask);
31+ if(fsr&INEX) fsr9 |= FPAINEX;
32+ if(fsr&OVFL) fsr9 |= FPAOVFL;
33+ if(fsr&UNFL) fsr9 |= FPAUNFL;
34+ if(fsr&ZDIV) fsr9 |= FPAZDIV;
35+ if(fsr&INVAL) fsr9 |= FPAINVAL;
36+ setfsr(fsr9);
37+ return(old&mask);
38+}
39+
40+ulong
41+getFPcontrol(void)
42+{
43+ ulong fcr = 0, fcr9 = getfcr();
44+ switch(fcr9&FPRMASK){
45+ case FPRNR: fcr = RND_NR; break;
46+ case FPRNINF: fcr = RND_NINF; break;
47+ case FPRPINF: fcr = RND_PINF; break;
48+ case FPRZ: fcr = RND_Z; break;
49+ }
50+ if(fcr9&FPINEX) fcr |= INEX;
51+ if(fcr9&FPOVFL) fcr |= OVFL;
52+ if(fcr9&FPUNFL) fcr |= UNFL;
53+ if(fcr9&FPZDIV) fcr |= ZDIV;
54+ if(fcr9&FPINVAL) fcr |= INVAL;
55+ return fcr;
56+}
57+
58+ulong
59+FPcontrol(ulong fcr, ulong mask)
60+{
61+ ulong fcr9 = FPPDBL;
62+ ulong old = getFPcontrol();
63+ fcr = (fcr&mask) | (old&~mask);
64+ if(fcr&INEX) fcr9 |= FPINEX;
65+ if(fcr&OVFL) fcr9 |= FPOVFL;
66+ if(fcr&UNFL) fcr9 |= FPUNFL;
67+ if(fcr&ZDIV) fcr9 |= FPZDIV;
68+ if(fcr&INVAL) fcr9 |= FPINVAL;
69+ switch(fcr&RND_MASK){
70+ case RND_NR: fcr9 |= FPRNR; break;
71+ case RND_NINF: fcr9 |= FPRNINF; break;
72+ case RND_PINF: fcr9 |= FPRPINF; break;
73+ case RND_Z: fcr9 |= FPRZ; break;
74+ }
75+ setfcr(fcr9);
76+ return(old&mask);
77+}
78+
libmemdraw/mkfile-NetBSD+4−0
@@ -0,0 +1,4 @@
1+#
2+# Object files specific for Nt
3+#
4+<mkfile-Inferno
mkfiles/mkfile-NetBSD-386+29−0
@@ -0,0 +1,29 @@
1+TARGMODEL= Posix
2+TARGSHTYPE= sh
3+CPUS= 386
4+
5+O= o
6+OS= o
7+
8+AR= ar
9+ARFLAGS= ruvs
10+
11+AS= cc -c
12+ASFLAGS=
13+
14+CC= cc -c
15+CFLAGS= -g\
16+ -O\
17+ -Wno-deprecated-declarations -Wuninitialized -Wunused -Wreturn-type -Wimplicit\
18+ -I$ROOT/NetBSD/386/include\
19+ -I$ROOT/include\
20+ -I/usr/X11R6/include
21+
22+ANSICPP=
23+LD= cc
24+LDFLAGS= -L/usr/X11R6/lib -R/usr/X11R6/lib
25+
26+SYSLIBS=
27+
28+YACC= yacc
29+YFLAGS= -d
mkfiles/mkhost-NetBSD+19−0
@@ -0,0 +1,19 @@
1+
2+# Variables for host system type = NetBSD
3+
4+SHELLTYPE= sh
5+SHELLNAME= /bin/sh
6+HOSTMODEL= Posix
7+OSTARG= os
8+
9+DATA2S= data2s
10+NDATE= date +'%s'
11+KSIZE= ksize
12+AWK= awk
13+CP= cp
14+ECHO= echo
15+FALSE= false
16+MKDIR= mkdir -p
17+RM= rm -f
18+RMDIR= rmdir
19+TRUE= true