Browse Source

closer to building. Restore compilers and libmach. Add arch directories.

Ronald G. Minnich 12 years ago
parent
commit
559608b0b6
100 changed files with 1561 additions and 0 deletions
  1. 73 0
      386/include/ape/float.h
  2. 74 0
      386/include/ape/math.h
  3. 16 0
      386/include/ape/stdarg.h
  4. 33 0
      386/include/ape/ureg.h
  5. 65 0
      386/include/u.h
  6. 25 0
      386/include/ureg.h
  7. 0 0
      386/lib/ape/.shutuphg
  8. 7 0
      386/mkfile
  9. 0 0
      68020/bin/ape/.shutuphg
  10. 0 0
      68020/bin/auth/.shutuphg
  11. 0 0
      68020/bin/aux/.shutuphg
  12. 0 0
      68020/bin/bitsy/.shutuphg
  13. 0 0
      68020/bin/dial/.shutuphg
  14. 0 0
      68020/bin/disk/.shutuphg
  15. 0 0
      68020/bin/fossil/.shutuphg
  16. 0 0
      68020/bin/games/.shutuphg
  17. 0 0
      68020/bin/ip/.shutuphg
  18. 0 0
      68020/bin/ndb/.shutuphg
  19. 0 0
      68020/bin/replica/.shutuphg
  20. 0 0
      68020/bin/upas/.shutuphg
  21. 0 0
      68020/bin/venti/.shutuphg
  22. 74 0
      68020/include/ape/float.h
  23. 77 0
      68020/include/ape/math.h
  24. 18 0
      68020/include/ape/stdarg.h
  25. 36 0
      68020/include/ape/ureg.h
  26. 14 0
      68020/include/dac.h
  27. 3 0
      68020/include/lbp.h
  28. 66 0
      68020/include/u.h
  29. 28 0
      68020/include/ureg.h
  30. 0 0
      68020/lib/ape/.shutuphg
  31. 7 0
      68020/mkfile
  32. 0 0
      alpha/bin/ape/.shutuphg
  33. 0 0
      alpha/bin/auth/.shutuphg
  34. 0 0
      alpha/bin/aux/.shutuphg
  35. 0 0
      alpha/bin/bitsy/.shutuphg
  36. 0 0
      alpha/bin/dial/.shutuphg
  37. 0 0
      alpha/bin/disk/.shutuphg
  38. 0 0
      alpha/bin/fossil/.shutuphg
  39. 0 0
      alpha/bin/fs/.shutuphg
  40. 0 0
      alpha/bin/games/.shutuphg
  41. 0 0
      alpha/bin/ip/httpd/.shutuphg
  42. 0 0
      alpha/bin/ndb/.shutuphg
  43. 0 0
      alpha/bin/replica/.shutuphg
  44. 0 0
      alpha/bin/upas/.shutuphg
  45. 0 0
      alpha/bin/usb/.shutuphg
  46. 0 0
      alpha/bin/venti/.shutuphg
  47. 76 0
      alpha/include/ape/float.h
  48. 77 0
      alpha/include/ape/math.h
  49. 20 0
      alpha/include/ape/stdarg.h
  50. 57 0
      alpha/include/ape/ureg.h
  51. 70 0
      alpha/include/u.h
  52. 49 0
      alpha/include/ureg.h
  53. 0 0
      alpha/lib/ape/.shutuphg
  54. 6 0
      alpha/mkfile
  55. 2 0
      arm/bin/ape/psh
  56. 0 0
      arm/bin/auth/.shutuphg
  57. 0 0
      arm/bin/aux/.shutuphg
  58. 0 0
      arm/bin/bitsy/.shutuphg
  59. 0 0
      arm/bin/dial/.shutuphg
  60. 0 0
      arm/bin/disk/.shutuphg
  61. 0 0
      arm/bin/fossil/.shutuphg
  62. 0 0
      arm/bin/fs/.shutuphg
  63. 0 0
      arm/bin/games/.shutuphg
  64. 0 0
      arm/bin/go/.shutuphg
  65. 0 0
      arm/bin/ip/httpd/.shutuphg
  66. 0 0
      arm/bin/ndb/.shutuphg
  67. 0 0
      arm/bin/replica/.shutuphg
  68. 0 0
      arm/bin/upas/.shutuphg
  69. 0 0
      arm/bin/usb/.shutuphg
  70. 0 0
      arm/bin/venti/.shutuphg
  71. 73 0
      arm/include/ape/float.h
  72. 77 0
      arm/include/ape/math.h
  73. 16 0
      arm/include/ape/stdarg.h
  74. 35 0
      arm/include/ape/ureg.h
  75. 66 0
      arm/include/u.h
  76. 26 0
      arm/include/ureg.h
  77. BIN
      arm/inflate
  78. 0 0
      arm/lib/ape/.shutuphg
  79. 7 0
      arm/mkfile
  80. 2 0
      mips/bin/ape/psh
  81. 0 0
      mips/bin/auth/.shutuphg
  82. 0 0
      mips/bin/aux/.shutuphg
  83. 0 0
      mips/bin/bitsy/.shutuphg
  84. 0 0
      mips/bin/dial/.shutuphg
  85. 0 0
      mips/bin/disk/.shutuphg
  86. 0 0
      mips/bin/fossil/.shutuphg
  87. 0 0
      mips/bin/fs/.shutuphg
  88. 0 0
      mips/bin/games/.shutuphg
  89. 0 0
      mips/bin/ip/httpd/.shutuphg
  90. 0 0
      mips/bin/ndb/.shutuphg
  91. 0 0
      mips/bin/replica/.shutuphg
  92. 0 0
      mips/bin/upas/.shutuphg
  93. 0 0
      mips/bin/usb/.shutuphg
  94. 0 0
      mips/bin/venti/.shutuphg
  95. 73 0
      mips/include/ape/float.h
  96. 77 0
      mips/include/ape/math.h
  97. 18 0
      mips/include/ape/stdarg.h
  98. 52 0
      mips/include/ape/ureg.h
  99. 0 0
      mips/include/mips2ureg.h
  100. 66 0
      mips/include/u.h

+ 73 - 0
386/include/ape/float.h

@@ -0,0 +1,73 @@
+#ifndef __FLOAT
+#define __FLOAT
+/* IEEE, default rounding */
+
+#define FLT_ROUNDS	1
+#define FLT_RADIX	2
+
+#define FLT_DIG		6
+#define FLT_EPSILON	1.19209290e-07
+#define FLT_MANT_DIG	24
+#define FLT_MAX		3.40282347e+38
+#define FLT_MAX_10_EXP	38
+#define FLT_MAX_EXP	128
+#define FLT_MIN		1.17549435e-38
+#define FLT_MIN_10_EXP	-37
+#define FLT_MIN_EXP	-125
+
+#define DBL_DIG		15
+#define DBL_EPSILON	2.2204460492503131e-16
+#define DBL_MANT_DIG	53
+#define DBL_MAX		1.797693134862315708145e+308
+#define DBL_MAX_10_EXP	308
+#define DBL_MAX_EXP	1024
+#define DBL_MIN		2.225073858507201383090233e-308
+#define DBL_MIN_10_EXP	-307
+#define DBL_MIN_EXP	-1021
+#define LDBL_MANT_DIG	DBL_MANT_DIG
+#define LDBL_EPSILON	DBL_EPSILON
+#define LDBL_DIG	DBL_DIG
+#define LDBL_MIN_EXP	DBL_MIN_EXP
+#define LDBL_MIN	DBL_MIN
+#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP
+#define LDBL_MAX_EXP	DBL_MAX_EXP
+#define LDBL_MAX	DBL_MAX
+#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP
+
+typedef 	union FPdbleword FPdbleword;
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		long lo;
+		long hi;
+	};
+};
+
+#ifdef _RESEARCH_SOURCE
+/* define stuff needed for floating conversion */
+#define IEEE_8087	1
+#define Sudden_Underflow 1
+#endif
+#ifdef _PLAN9_SOURCE
+/* FCR */
+#define	FPINEX	(1<<5)
+#define	FPOVFL	(1<<3)
+#define	FPUNFL	((1<<4)|(1<<1))
+#define	FPZDIV	(1<<2)
+#define	FPRNR	(0<<10)
+#define	FPRZ	(3<<10)
+#define	FPRPINF	(2<<10)
+#define	FPRNINF	(1<<10)
+#define	FPRMASK	(3<<10)
+#define	FPPEXT	(3<<8)
+#define	FPPSGL	(0<<8)
+#define	FPPDBL	(2<<8)
+#define	FPPMASK	(3<<8)
+/* FSR */
+#define	FPAINEX	FPINEX
+#define	FPAOVFL	FPOVFL
+#define	FPAUNFL	FPUNFL
+#define	FPAZDIV	FPZDIV
+#endif
+#endif /* __FLOAT */

+ 74 - 0
386/include/ape/math.h

@@ -0,0 +1,74 @@
+#ifndef __MATH
+#define __MATH
+#pragma lib "/$M/lib/ape/libap.a"
+
+/* a HUGE_VAL appropriate for IEEE double-precision */
+/* the correct value, 1.797693134862316e+308, causes a ken overflow */
+#define HUGE_VAL 1.79769313486231e+308
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+extern double NaN(void);
+extern int isNaN(double);
+extern double Inf(int);
+extern int isInf(double, int);
+
+#ifdef _RESEARCH_SOURCE
+/* does >> treat left operand as unsigned ? */
+#define Unsigned_Shifts 1
+#define	M_E		2.7182818284590452354	/* e */
+#define	M_LOG2E		1.4426950408889634074	/* log 2e */
+#define	M_LOG10E	0.43429448190325182765	/* log 10e */
+#define	M_LN2		0.69314718055994530942	/* log e2 */
+#define	M_LN10		2.30258509299404568402	/* log e10 */
+#define	M_PI		3.14159265358979323846	/* pi */
+#define	M_PI_2		1.57079632679489661923	/* pi/2 */
+#define	M_PI_4		0.78539816339744830962	/* pi/4 */
+#define	M_1_PI		0.31830988618379067154	/* 1/pi */
+#define	M_2_PI		0.63661977236758134308	/* 2/pi */
+#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
+#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
+#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
+
+extern double hypot(double, double);
+extern double erf(double);
+extern double erfc(double);
+extern double j0(double);
+extern double y0(double);
+extern double j1(double);
+extern double y1(double);
+extern double jn(int, double);
+extern double yn(int, double);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MATH */

+ 16 - 0
386/include/ape/stdarg.h

@@ -0,0 +1,16 @@
+#ifndef __STDARG
+#define __STDARG
+
+typedef char *va_list;
+
+#define va_start(list, start) list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \
+(char *)(&(start)+1))
+#define va_end(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+		((list += sizeof(mode)), (mode*)list)[-1])
+
+#endif /* __STDARG */

+ 33 - 0
386/include/ape/ureg.h

@@ -0,0 +1,33 @@
+#ifndef __UREG_H
+#define __UREG_H
+#if !defined(_PLAN9_SOURCE)
+    This header file is an extension to ANSI/POSIX
+#endif
+
+struct Ureg
+{
+	unsigned long	di;		/* general registers */
+	unsigned long	si;		/* ... */
+	unsigned long	bp;		/* ... */
+	unsigned long	nsp;
+	unsigned long	bx;		/* ... */
+	unsigned long	dx;		/* ... */
+	unsigned long	cx;		/* ... */
+	unsigned long	ax;		/* ... */
+	unsigned long	gs;		/* data segments */
+	unsigned long	fs;		/* ... */
+	unsigned long	es;		/* ... */
+	unsigned long	ds;		/* ... */
+	unsigned long	trap;		/* trap type */
+	unsigned long	ecode;		/* error code (or zero) */
+	unsigned long	pc;		/* pc */
+	unsigned long	cs;		/* old context */
+	unsigned long	flags;		/* old flags */
+	union {
+		unsigned long	usp;
+		unsigned long	sp;
+	};
+	unsigned long	ss;		/* old stack segment */
+};
+
+#endif

+ 65 - 0
386/include/u.h

@@ -0,0 +1,65 @@
+#define nil		((void*)0)
+typedef	unsigned short	ushort;
+typedef	unsigned char	uchar;
+typedef unsigned long	ulong;
+typedef unsigned int	uint;
+typedef   signed char	schar;
+typedef	long long	vlong;
+typedef	unsigned long long uvlong;
+typedef unsigned long	uintptr;
+typedef unsigned long	usize;
+typedef	ushort		Rune;
+typedef union FPdbleword FPdbleword;
+typedef long		jmp_buf[2];
+#define	JMPBUFSP	0
+#define	JMPBUFPC	1
+#define	JMPBUFDPC	0
+typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
+typedef unsigned char	u8int;
+typedef unsigned short	u16int;
+typedef unsigned int	u32int;
+typedef unsigned long long u64int;
+
+/* FCR */
+#define	FPINEX	(1<<5)
+#define	FPUNFL	((1<<4)|(1<<1))
+#define	FPOVFL	(1<<3)
+#define	FPZDIV	(1<<2)
+#define	FPINVAL	(1<<0)
+#define	FPRNR	(0<<10)
+#define	FPRZ	(3<<10)
+#define	FPRPINF	(2<<10)
+#define	FPRNINF	(1<<10)
+#define	FPRMASK	(3<<10)
+#define	FPPEXT	(3<<8)
+#define	FPPSGL	(0<<8)
+#define	FPPDBL	(2<<8)
+#define	FPPMASK	(3<<8)
+/* FSR */
+#define	FPAINEX	FPINEX
+#define	FPAOVFL	FPOVFL
+#define	FPAUNFL	FPUNFL
+#define	FPAZDIV	FPZDIV
+#define	FPAINVAL	FPINVAL
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		ulong lo;
+		ulong hi;
+	};
+};
+
+typedef	char*	va_list;
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)\
+	USED(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+		((list += sizeof(mode)), (mode*)list)[-1])

+ 25 - 0
386/include/ureg.h

@@ -0,0 +1,25 @@
+struct Ureg
+{
+	ulong	di;		/* general registers */
+	ulong	si;		/* ... */
+	ulong	bp;		/* ... */
+	ulong	nsp;
+	ulong	bx;		/* ... */
+	ulong	dx;		/* ... */
+	ulong	cx;		/* ... */
+	ulong	ax;		/* ... */
+	ulong	gs;		/* data segments */
+	ulong	fs;		/* ... */
+	ulong	es;		/* ... */
+	ulong	ds;		/* ... */
+	ulong	trap;		/* trap type */
+	ulong	ecode;		/* error code (or zero) */
+	ulong	pc;		/* pc */
+	ulong	cs;		/* old context */
+	ulong	flags;		/* old flags */
+	union {
+		ulong	usp;
+		ulong	sp;
+	};
+	ulong	ss;		/* old stack segment */
+};

+ 0 - 0
386/lib/ape/.shutuphg


+ 7 - 0
386/mkfile

@@ -0,0 +1,7 @@
+</sys/src/mkfile.proto
+
+CC=8c
+GC=8g
+LD=8l
+O=8
+AS=8a

+ 0 - 0
68020/bin/ape/.shutuphg


+ 0 - 0
68020/bin/auth/.shutuphg


+ 0 - 0
68020/bin/aux/.shutuphg


+ 0 - 0
68020/bin/bitsy/.shutuphg


+ 0 - 0
68020/bin/dial/.shutuphg


+ 0 - 0
68020/bin/disk/.shutuphg


+ 0 - 0
68020/bin/fossil/.shutuphg


+ 0 - 0
68020/bin/games/.shutuphg


+ 0 - 0
68020/bin/ip/.shutuphg


+ 0 - 0
68020/bin/ndb/.shutuphg


+ 0 - 0
68020/bin/replica/.shutuphg


+ 0 - 0
68020/bin/upas/.shutuphg


+ 0 - 0
68020/bin/venti/.shutuphg


+ 74 - 0
68020/include/ape/float.h

@@ -0,0 +1,74 @@
+#ifndef __FLOAT
+#define __FLOAT
+/* IEEE, default rounding */
+
+#define FLT_ROUNDS	1
+#define FLT_RADIX	2
+
+#define FLT_DIG		6
+#define FLT_EPSILON	1.19209290e-07
+#define FLT_MANT_DIG	24
+#define FLT_MAX		3.40282347e+38
+#define FLT_MAX_10_EXP	38
+#define FLT_MAX_EXP	128
+#define FLT_MIN		1.17549435e-38
+#define FLT_MIN_10_EXP	-37
+#define FLT_MIN_EXP	-125
+
+#define DBL_DIG		15
+#define DBL_EPSILON	2.2204460492503131e-16
+#define DBL_MANT_DIG	53
+#define DBL_MAX		1.797693134862315708145e+308
+#define DBL_MAX_10_EXP	308
+#define DBL_MAX_EXP	1024
+#define DBL_MIN		2.225073858507201383090233e-308
+#define DBL_MIN_10_EXP	-307
+#define DBL_MIN_EXP	-1021
+#define LDBL_MANT_DIG	DBL_MANT_DIG
+#define LDBL_EPSILON	DBL_EPSILON
+#define LDBL_DIG	DBL_DIG
+#define LDBL_MIN_EXP	DBL_MIN_EXP
+#define LDBL_MIN	DBL_MIN
+#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP
+#define LDBL_MAX_EXP	DBL_MAX_EXP
+#define LDBL_MAX	DBL_MAX
+#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP
+
+
+typedef 	union FPdbleword FPdbleword;
+union FPdbleword
+{
+	double	x;
+	struct {	/* big endian */
+		long hi;
+		long lo;
+	};
+};
+
+#ifdef _RESEARCH_SOURCE
+/* define order of longs in IEEE double: little endian */
+#define IEEE_MC68k	1
+#define Sudden_Underflow 1
+#endif
+#ifdef _PLAN9_SOURCE
+/* FCR */
+#define	FPINEX	(3<<8)
+#define	FPOVFL	(1<<12)
+#define	FPUNFL	(1<<11)
+#define	FPZDIV	(1<<10)
+#define	FPRNR	(0<<4)
+#define	FPRZ	(1<<4)
+#define	FPRPINF	(3<<4)
+#define	FPRNINF	(2<<4)
+#define	FPRMASK	(3<<4)
+#define	FPPEXT	(0<<6)
+#define	FPPSGL	(1<<6)
+#define	FPPDBL	(2<<6)
+#define	FPPMASK	(3<<6)
+/* FSR */
+#define	FPAINEX	FPINEX
+#define	FPAOVFL	FPOVFL
+#define	FPAUNFL	FPUNFL
+#define	FPAZDIV	FPZDIV
+#endif
+#endif /* __FLOAT */

+ 77 - 0
68020/include/ape/math.h

@@ -0,0 +1,77 @@
+#ifndef __MATH
+#define __MATH
+#pragma lib "/$M/lib/ape/libap.a"
+
+/* a HUGE_VAL appropriate for IEEE double-precision */
+/* the correct value, 1.797693134862316e+308, causes a ken overflow */
+#define HUGE_VAL 1.79769313486231e+308
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+extern double NaN(void);
+extern int isNaN(double);
+extern double Inf(int);
+extern int isInf(double, int);
+
+#ifdef _RESEARCH_SOURCE
+/* does >> treat left operand as unsigned ? */
+#define Unsigned_Shifts 1
+#define	M_E		2.7182818284590452354	/* e */
+#define	M_LOG2E		1.4426950408889634074	/* log 2e */
+#define	M_LOG10E	0.43429448190325182765	/* log 10e */
+#define	M_LN2		0.69314718055994530942	/* log e2 */
+#define	M_LN10		2.30258509299404568402	/* log e10 */
+#define	M_PI		3.14159265358979323846	/* pi */
+#define	M_PI_2		1.57079632679489661923	/* pi/2 */
+#define	M_PI_4		0.78539816339744830962	/* pi/4 */
+#define	M_1_PI		0.31830988618379067154	/* 1/pi */
+#define	M_2_PI		0.63661977236758134308	/* 2/pi */
+#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
+#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
+#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
+
+extern double hypot(double, double);
+extern double erf(double);
+extern double erfc(double);
+extern double j0(double);
+extern double y0(double);
+extern double j1(double);
+extern double y1(double);
+extern double jn(int, double);
+extern double yn(int, double);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#define isnan(x) isNaN(x)
+#define isinf(x) isInf(x)
+
+#endif /* __MATH */

+ 18 - 0
68020/include/ape/stdarg.h

@@ -0,0 +1,18 @@
+#ifndef __STDARG
+#define __STDARG
+
+typedef char *va_list;
+
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-1]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])
+
+#endif /* __STDARG */

+ 36 - 0
68020/include/ape/ureg.h

@@ -0,0 +1,36 @@
+#ifndef __UREG_H
+#define __UREG_H
+#if !defined(_PLAN9_SOURCE)
+    This header file is an extension to ANSI/POSIX
+#endif
+
+struct Ureg
+{
+	unsigned long	r0;
+	unsigned long	r1;
+	unsigned long	r2;
+	unsigned long	r3;
+	unsigned long	r4;
+	unsigned long	r5;
+	unsigned long	r6;
+	unsigned long	r7;
+	unsigned long	a0;
+	unsigned long	a1;
+	unsigned long	a2;
+	unsigned long	a3;
+	unsigned long	a4;
+	unsigned long	a5;
+	unsigned long	a6;
+	unsigned long	sp;
+	unsigned long	usp;
+	unsigned long	magic;		/* for db to find bottom of ureg */
+	unsigned short	sr;
+	unsigned long	pc;
+	unsigned short	vo;
+#ifndef	UREGVARSZ
+#define	UREGVARSZ 23		/* for 68040; 15 is enough on 68020 */
+#endif
+	unsigned char	microstate[UREGVARSZ];	/* variable-sized portion */
+};
+
+#endif

+ 14 - 0
68020/include/dac.h

@@ -0,0 +1,14 @@
+/*
+ * Inmos G17x d/a converter
+ */
+
+typedef
+struct	G170
+{
+	uchar	waddr;
+	uchar	value;
+	uchar	mask;
+	uchar	raddr;
+} G170;
+
+#define DAC	((G170*)0xc0100000)

+ 3 - 0
68020/include/lbp.h

@@ -0,0 +1,3 @@
+typedef struct Lbpconf {
+	int nhblank, nvblank, xmax, ymax, res;
+} Lbpconf;

+ 66 - 0
68020/include/u.h

@@ -0,0 +1,66 @@
+#define nil		((void*)0)
+typedef	unsigned short	ushort;
+typedef	unsigned char	uchar;
+typedef	unsigned long	ulong;
+typedef	unsigned int	uint;
+typedef	signed char	schar;
+typedef	long long	vlong;
+typedef	unsigned long long uvlong;
+typedef unsigned long	uintptr;
+typedef unsigned long	usize;
+typedef	ushort		Rune;
+typedef 	union FPdbleword FPdbleword;
+typedef long	jmp_buf[2];
+#define	JMPBUFSP	0
+#define	JMPBUFPC	1
+#define	JMPBUFDPC	0
+typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
+typedef unsigned char u8int;
+typedef unsigned short u16int;
+typedef unsigned int	u32int;
+typedef unsigned long long u64int;
+
+
+/* FCR */
+#define	FPINEX	(3<<8)
+#define	FPOVFL	(1<<12)
+#define	FPUNFL	(1<<11)
+#define	FPZDIV	(1<<10)
+#define	FPRNR	(0<<4)
+#define	FPRZ	(1<<4)
+#define	FPINVAL	(3<<13)
+#define	FPRPINF	(3<<4)
+#define	FPRNINF	(2<<4)
+#define	FPRMASK	(3<<4)
+#define	FPPEXT	(0<<6)
+#define	FPPSGL	(1<<6)
+#define	FPPDBL	(2<<6)
+#define	FPPMASK	(3<<6)
+/* FSR */
+#define	FPAINEX	FPINEX
+#define	FPAOVFL	FPOVFL
+#define	FPAUNFL	FPUNFL
+#define	FPAZDIV	FPZDIV
+#define	FPAINVAL	FPINVAL
+union FPdbleword
+{
+	double	x;
+	struct {	/* big endian */
+		ulong hi;
+		ulong lo;
+	};
+};
+
+typedef	char*	va_list;
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)\
+	USED(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-1]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])

+ 28 - 0
68020/include/ureg.h

@@ -0,0 +1,28 @@
+struct Ureg
+{
+	ulong	r0;
+	ulong	r1;
+	ulong	r2;
+	ulong	r3;
+	ulong	r4;
+	ulong	r5;
+	ulong	r6;
+	ulong	r7;
+	ulong	a0;
+	ulong	a1;
+	ulong	a2;
+	ulong	a3;
+	ulong	a4;
+	ulong	a5;
+	ulong	a6;
+	ulong	sp;
+	ulong	usp;
+	ulong	magic;		/* for db to find bottom of ureg */
+	ushort	sr;
+	ulong	pc;
+	ushort	vo;
+#ifndef	UREGVARSZ
+#define	UREGVARSZ 23		/* for 68040; 15 is enough on 68020 */
+#endif
+	uchar	microstate[UREGVARSZ];	/* variable-sized portion */
+};

+ 0 - 0
68020/lib/ape/.shutuphg


+ 7 - 0
68020/mkfile

@@ -0,0 +1,7 @@
+</sys/src/mkfile.proto
+
+CC=2c
+LD=2l
+O=2
+RL=rl
+AS=2a

+ 0 - 0
alpha/bin/ape/.shutuphg


+ 0 - 0
alpha/bin/auth/.shutuphg


+ 0 - 0
alpha/bin/aux/.shutuphg


+ 0 - 0
alpha/bin/bitsy/.shutuphg


+ 0 - 0
alpha/bin/dial/.shutuphg


+ 0 - 0
alpha/bin/disk/.shutuphg


+ 0 - 0
alpha/bin/fossil/.shutuphg


+ 0 - 0
alpha/bin/fs/.shutuphg


+ 0 - 0
alpha/bin/games/.shutuphg


+ 0 - 0
alpha/bin/ip/httpd/.shutuphg


+ 0 - 0
alpha/bin/ndb/.shutuphg


+ 0 - 0
alpha/bin/replica/.shutuphg


+ 0 - 0
alpha/bin/upas/.shutuphg


+ 0 - 0
alpha/bin/usb/.shutuphg


+ 0 - 0
alpha/bin/venti/.shutuphg


+ 76 - 0
alpha/include/ape/float.h

@@ -0,0 +1,76 @@
+#ifndef __FLOAT
+#define __FLOAT
+/* IEEE, default rounding */
+
+#define FLT_ROUNDS	1
+#define FLT_RADIX	2
+
+#define FLT_DIG		6
+#define FLT_EPSILON	1.19209290e-07
+#define FLT_MANT_DIG	24
+#define FLT_MAX		3.40282347e+38
+#define FLT_MAX_10_EXP	38
+#define FLT_MAX_EXP	128
+#define FLT_MIN		1.17549435e-38
+#define FLT_MIN_10_EXP	-37
+#define FLT_MIN_EXP	-125
+
+#define DBL_DIG		15
+#define DBL_EPSILON	2.2204460492503131e-16
+#define DBL_MANT_DIG	53
+#define DBL_MAX		1.797693134862315708145e+308
+#define DBL_MAX_10_EXP	308
+#define DBL_MAX_EXP	1024
+#define DBL_MIN		2.225073858507201383090233e-308
+#define DBL_MIN_10_EXP	-307
+#define DBL_MIN_EXP	-1021
+#define LDBL_MANT_DIG	DBL_MANT_DIG
+#define LDBL_EPSILON	DBL_EPSILON
+#define LDBL_DIG	DBL_DIG
+#define LDBL_MIN_EXP	DBL_MIN_EXP
+#define LDBL_MIN	DBL_MIN
+#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP
+#define LDBL_MAX_EXP	DBL_MAX_EXP
+#define LDBL_MAX	DBL_MAX
+#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP
+
+typedef 	union FPdbleword FPdbleword;
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		long lo;
+		long hi;
+	};
+};
+
+#ifdef _RESEARCH_SOURCE
+/* define stuff needed for floating conversion */
+#define IEEE_8087	1
+#define Sudden_Underflow 1
+#endif
+#ifdef _PLAN9_SOURCE
+#define	FPINEX	(1<<30)
+#define	FPOVFL	(1<<19)
+#define	FPUNFL	((1<<29)|(1<<28))
+#define	FPZDIV	(1<<18)
+#define	FPINVAL	(1<<17)
+
+#define	FPRNR	(2<<26)
+#define	FPRZ		(0<<26)
+#define	FPRPINF	(3<<26)
+#define	FPRNINF	(1<<26)
+#define	FPRMASK	(3<<26)
+
+#define	FPPEXT	0
+#define	FPPSGL	0
+#define	FPPDBL	0
+#define	FPPMASK	0
+/* FSR */
+#define	FPAINEX	(1<<24)
+#define	FPAUNFL	(1<<23)
+#define	FPAOVFL	(1<<22)
+#define	FPAZDIV	(1<<21)
+#define	FPAINVAL	(1<<20)
+#endif
+#endif /* __FLOAT */

+ 77 - 0
alpha/include/ape/math.h

@@ -0,0 +1,77 @@
+#ifndef __MATH
+#define __MATH
+#pragma lib "/$M/lib/ape/libap.a"
+
+/* a HUGE_VAL appropriate for IEEE double-precision */
+/* the correct value, 1.797693134862316e+308, causes a ken overflow */
+#define HUGE_VAL 1.79769313486231e+308
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+extern double NaN(void);
+extern int isNaN(double);
+extern double Inf(int);
+extern int isInf(double, int);
+
+#ifdef _RESEARCH_SOURCE
+/* does >> treat left operand as unsigned ? */
+#define Unsigned_Shifts 1
+#define	M_E		2.7182818284590452354	/* e */
+#define	M_LOG2E		1.4426950408889634074	/* log 2e */
+#define	M_LOG10E	0.43429448190325182765	/* log 10e */
+#define	M_LN2		0.69314718055994530942	/* log e2 */
+#define	M_LN10		2.30258509299404568402	/* log e10 */
+#define	M_PI		3.14159265358979323846	/* pi */
+#define	M_PI_2		1.57079632679489661923	/* pi/2 */
+#define	M_PI_4		0.78539816339744830962	/* pi/4 */
+#define	M_1_PI		0.31830988618379067154	/* 1/pi */
+#define	M_2_PI		0.63661977236758134308	/* 2/pi */
+#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
+#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
+#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
+
+extern double hypot(double, double);
+extern double erf(double);
+extern double erfc(double);
+extern double j0(double);
+extern double y0(double);
+extern double j1(double);
+extern double y1(double);
+extern double jn(int, double);
+extern double yn(int, double);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#define isnan(x) isNaN(x)
+#define isinf(x) isInf(x)
+
+#endif /* __MATH */

+ 20 - 0
alpha/include/ape/stdarg.h

@@ -0,0 +1,20 @@
+#ifndef __STDARG
+#define __STDARG
+
+typedef char *va_list;
+
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+	sizeof(mode)>4?\
+		((mode*)(list = (char*)((long)(list+7) & ~7) + sizeof(mode)))[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])
+
+#endif /* __STDARG */

+ 57 - 0
alpha/include/ape/ureg.h

@@ -0,0 +1,57 @@
+#ifndef __UREG_H
+#define __UREG_H
+#if !defined(_PLAN9_SOURCE)
+    This header file is an extension to ANSI/POSIX
+#endif
+
+struct Ureg
+{
+	/* l.s saves 31 64-bit values: */
+	unsigned long long	type;
+	unsigned long long	a0;
+	unsigned long long	a1;
+	unsigned long long	a2;
+
+	unsigned long long	r0;
+	unsigned long long	r1;
+	unsigned long long	r2;
+	unsigned long long	r3;
+	unsigned long long	r4;
+	unsigned long long	r5;
+	unsigned long long	r6;
+	unsigned long long	r7;
+	unsigned long long	r8;
+	unsigned long long	r9;
+	unsigned long long	r10;
+	unsigned long long	r11;
+	unsigned long long	r12;
+	unsigned long long	r13;
+	unsigned long long	r14;
+	unsigned long long	r15;
+
+	unsigned long long	r19;
+	unsigned long long	r20;
+	unsigned long long	r21;
+	unsigned long long	r22;
+	unsigned long long	r23;
+	unsigned long long	r24;
+	unsigned long long	r25;
+	unsigned long long	r26;
+	unsigned long long	r27;
+	unsigned long long	r28;
+	union {
+		unsigned long long	r30;
+		unsigned long long	usp;
+		unsigned long long	sp;
+	};
+
+	/* OSF/1 PALcode frame: */
+	unsigned long long	status;	/* PS */
+	unsigned long long	pc;
+	unsigned long long	r29;		/* GP */
+	unsigned long long	r16;		/* a0 */
+	unsigned long long	r17;		/* a1 */
+	unsigned long long	r18;		/* a2 */
+};
+
+#endif

+ 70 - 0
alpha/include/u.h

@@ -0,0 +1,70 @@
+#define nil		((void*)0)
+typedef	unsigned short	ushort;
+typedef	unsigned char	uchar;
+typedef unsigned long	ulong;
+typedef unsigned int	uint;
+typedef   signed char	schar;
+typedef	long long	vlong;
+typedef	unsigned long long uvlong;
+typedef unsigned long	uintptr;
+typedef unsigned long	usize;
+typedef	ushort		Rune;
+typedef 	union FPdbleword FPdbleword;
+typedef long	jmp_buf[2];
+#define	JMPBUFSP	0
+#define	JMPBUFPC	1
+#define	JMPBUFDPC	0
+typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
+typedef unsigned char u8int;
+typedef unsigned short u16int;
+typedef unsigned int	u32int;
+typedef unsigned long long u64int;
+
+/* FCR */
+#define	FPINEX	(1<<30)
+#define	FPOVFL	(1<<19)
+#define	FPUNFL	((1<<29)|(1<<28))
+#define	FPZDIV	(1<<18)
+#define	FPINVAL	(1<<17)
+
+#define	FPRNR	(2<<26)
+#define	FPRZ		(0<<26)
+#define	FPRPINF	(3<<26)
+#define	FPRNINF	(1<<26)
+#define	FPRMASK	(3<<26)
+
+#define	FPPEXT	0
+#define	FPPSGL	0
+#define	FPPDBL	0
+#define	FPPMASK	0
+/* FSR */
+#define	FPAINEX	(1<<24)
+#define	FPAUNFL	(1<<23)
+#define	FPAOVFL	(1<<22)
+#define	FPAZDIV	(1<<21)
+#define	FPAINVAL	(1<<20)
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		ulong lo;
+		ulong hi;
+	};
+};
+
+/* stdarg */
+typedef	char*	va_list;
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)\
+	USED(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+	sizeof(mode)>4?\
+		((mode*)(list = (char*)((uintptr)(list+7) & ~7) + sizeof(mode)))[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])

+ 49 - 0
alpha/include/ureg.h

@@ -0,0 +1,49 @@
+struct Ureg
+{
+	/* l.s saves 31 64-bit values: */
+	uvlong	type;
+	uvlong	a0;
+	uvlong	a1;
+	uvlong	a2;
+
+	uvlong	r0;
+	uvlong	r1;
+	uvlong	r2;
+	uvlong	r3;
+	uvlong	r4;
+	uvlong	r5;
+	uvlong	r6;
+	uvlong	r7;
+	uvlong	r8;
+	uvlong	r9;
+	uvlong	r10;
+	uvlong	r11;
+	uvlong	r12;
+	uvlong	r13;
+	uvlong	r14;
+	uvlong	r15;
+
+	uvlong	r19;
+	uvlong	r20;
+	uvlong	r21;
+	uvlong	r22;
+	uvlong	r23;
+	uvlong	r24;
+	uvlong	r25;
+	uvlong	r26;
+	uvlong	r27;
+	uvlong	r28;
+	union {
+		uvlong	r30;
+		uvlong	usp;
+		uvlong	sp;
+	};
+
+	/* OSF/1 PALcode frame: */
+	uvlong	status;	/* PS */
+	uvlong	pc;
+	uvlong	r29;		/* GP */
+	uvlong	r16;		/* a0 */
+	uvlong	r17;		/* a1 */
+	uvlong	r18;		/* a2 */
+};

+ 0 - 0
alpha/lib/ape/.shutuphg


+ 6 - 0
alpha/mkfile

@@ -0,0 +1,6 @@
+</sys/src/mkfile.proto
+
+CC=7c
+LD=7l
+O=7
+AS=7a

+ 2 - 0
arm/bin/ape/psh

@@ -0,0 +1,2 @@
+#!/bin/rc
+exec /rc/bin/ape/psh $*

+ 0 - 0
arm/bin/auth/.shutuphg


+ 0 - 0
arm/bin/aux/.shutuphg


+ 0 - 0
arm/bin/bitsy/.shutuphg


+ 0 - 0
arm/bin/dial/.shutuphg


+ 0 - 0
arm/bin/disk/.shutuphg


+ 0 - 0
arm/bin/fossil/.shutuphg


+ 0 - 0
arm/bin/fs/.shutuphg


+ 0 - 0
arm/bin/games/.shutuphg


+ 0 - 0
arm/bin/go/.shutuphg


+ 0 - 0
arm/bin/ip/httpd/.shutuphg


+ 0 - 0
arm/bin/ndb/.shutuphg


+ 0 - 0
arm/bin/replica/.shutuphg


+ 0 - 0
arm/bin/upas/.shutuphg


+ 0 - 0
arm/bin/usb/.shutuphg


+ 0 - 0
arm/bin/venti/.shutuphg


+ 73 - 0
arm/include/ape/float.h

@@ -0,0 +1,73 @@
+#ifndef __FLOAT
+#define __FLOAT
+/* IEEE, default rounding */
+
+#define FLT_ROUNDS	1
+#define FLT_RADIX	2
+
+#define FLT_DIG		6
+#define FLT_EPSILON	1.19209290e-07
+#define FLT_MANT_DIG	24
+#define FLT_MAX		3.40282347e+38
+#define FLT_MAX_10_EXP	38
+#define FLT_MAX_EXP	128
+#define FLT_MIN		1.17549435e-38
+#define FLT_MIN_10_EXP	-37
+#define FLT_MIN_EXP	-125
+
+#define DBL_DIG		15
+#define DBL_EPSILON	2.2204460492503131e-16
+#define DBL_MANT_DIG	53
+#define DBL_MAX		1.797693134862315708145e+308
+#define DBL_MAX_10_EXP	308
+#define DBL_MAX_EXP	1024
+#define DBL_MIN		2.225073858507201383090233e-308
+#define DBL_MIN_10_EXP	-307
+#define DBL_MIN_EXP	-1021
+#define LDBL_MANT_DIG	DBL_MANT_DIG
+#define LDBL_EPSILON	DBL_EPSILON
+#define LDBL_DIG	DBL_DIG
+#define LDBL_MIN_EXP	DBL_MIN_EXP
+#define LDBL_MIN	DBL_MIN
+#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP
+#define LDBL_MAX_EXP	DBL_MAX_EXP
+#define LDBL_MAX	DBL_MAX
+#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP
+
+typedef 	union FPdbleword FPdbleword;
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		long lo;
+		long hi;
+	};
+};
+
+#ifdef _RESEARCH_SOURCE
+/* define stuff needed for floating conversion */
+#define IEEE_8087	1
+#define Sudden_Underflow 1
+#endif
+#ifdef _PLAN9_SOURCE
+/* FCR */
+#define	FPINEX	(1<<5)
+#define	FPOVFL	(1<<3)
+#define	FPUNFL	((1<<4)|(1<<1))
+#define	FPZDIV	(1<<2)
+#define	FPRNR	(0<<10)
+#define	FPRZ	(3<<10)
+#define	FPRPINF	(2<<10)
+#define	FPRNINF	(1<<10)
+#define	FPRMASK	(3<<10)
+#define	FPPEXT	(3<<8)
+#define	FPPSGL	(0<<8)
+#define	FPPDBL	(2<<8)
+#define	FPPMASK	(3<<8)
+/* FSR */
+#define	FPAINEX	FPINEX
+#define	FPAOVFL	FPOVFL
+#define	FPAUNFL	FPUNFL
+#define	FPAZDIV	FPZDIV
+#endif
+#endif /* __FLOAT */

+ 77 - 0
arm/include/ape/math.h

@@ -0,0 +1,77 @@
+#ifndef __MATH
+#define __MATH
+#pragma lib "/$M/lib/ape/libap.a"
+
+/* a HUGE_VAL appropriate for IEEE double-precision */
+/* the correct value, 1.797693134862316e+308, causes a ken overflow */
+#define HUGE_VAL 1.79769313486231e+308
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+extern double NaN(void);
+extern int isNaN(double);
+extern double Inf(int);
+extern int isInf(double, int);
+
+#ifdef _RESEARCH_SOURCE
+/* does >> treat left operand as unsigned ? */
+#define Unsigned_Shifts 1
+#define	M_E		2.7182818284590452354	/* e */
+#define	M_LOG2E		1.4426950408889634074	/* log 2e */
+#define	M_LOG10E	0.43429448190325182765	/* log 10e */
+#define	M_LN2		0.69314718055994530942	/* log e2 */
+#define	M_LN10		2.30258509299404568402	/* log e10 */
+#define	M_PI		3.14159265358979323846	/* pi */
+#define	M_PI_2		1.57079632679489661923	/* pi/2 */
+#define	M_PI_4		0.78539816339744830962	/* pi/4 */
+#define	M_1_PI		0.31830988618379067154	/* 1/pi */
+#define	M_2_PI		0.63661977236758134308	/* 2/pi */
+#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
+#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
+#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
+
+extern double hypot(double, double);
+extern double erf(double);
+extern double erfc(double);
+extern double j0(double);
+extern double y0(double);
+extern double j1(double);
+extern double y1(double);
+extern double jn(int, double);
+extern double yn(int, double);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#define isnan(x) isNaN(x)
+#define isinf(x) isInf(x)
+
+#endif /* __MATH */

+ 16 - 0
arm/include/ape/stdarg.h

@@ -0,0 +1,16 @@
+#ifndef __STDARG
+#define __STDARG
+
+typedef char *va_list;
+
+#define va_start(list, start) list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \
+(char *)(&(start)+1))
+#define va_end(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+		((list += sizeof(mode)), (mode*)list)[-1])
+
+#endif /* __STDARG */

+ 35 - 0
arm/include/ape/ureg.h

@@ -0,0 +1,35 @@
+#ifndef __UREG_H
+#define __UREG_H
+#if !defined(_PLAN9_SOURCE)
+    This header file is an extension to ANSI/POSIX
+#endif
+
+struct Ureg
+{
+	unsigned long	r0;
+	unsigned long	r1;
+	unsigned long	r2;
+	unsigned long	r3;
+	unsigned long	r4;
+	unsigned long	r5;
+	unsigned long	r6;
+	unsigned long	r7;
+	unsigned long	r8;
+	unsigned long	r9;
+	unsigned long	r10;
+	unsigned long	r11;
+	unsigned long	r12;	/* sb */
+	union {
+		unsigned long	r13;
+		unsigned long	sp;
+	};
+	union {
+		unsigned long	r14;
+		unsigned long	link;
+	};
+	unsigned long	type;	/* of exception */
+	unsigned long	psr;
+	unsigned long	pc;	/* interrupted addr */
+};
+
+#endif

+ 66 - 0
arm/include/u.h

@@ -0,0 +1,66 @@
+#define nil		((void*)0)
+
+typedef	unsigned short	ushort;
+typedef	unsigned char	uchar;
+typedef	unsigned long	ulong;
+typedef	unsigned int	uint;
+typedef	signed char	schar;
+typedef	long long	vlong;
+typedef	unsigned long long uvlong;
+typedef unsigned long	uintptr;
+typedef unsigned long	usize;
+typedef	ushort		Rune;
+typedef 	union FPdbleword FPdbleword;
+typedef long	jmp_buf[2];
+#define	JMPBUFSP	0
+#define	JMPBUFPC	1
+#define	JMPBUFDPC	0
+typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
+typedef unsigned char u8int;
+typedef unsigned short u16int;
+typedef unsigned int	u32int;
+typedef unsigned long long u64int;
+
+/* VFP FCR */
+#define	FPINEX	(1<<12)			/* trap enables for exceptions */
+#define	FPUNFL	(1<<11)
+#define	FPOVFL	(1<<10)
+#define	FPZDIV	(1<<9)
+#define	FPINVAL	(1<<8)
+#define	FPRNR	(0<<22)
+#define	FPRZ	(1<<22)
+#define	FPRPINF	(2<<22)
+#define	FPRNINF	(3<<22)
+#define	FPRMASK	(3<<22)
+#define	FPPEXT	0
+#define	FPPSGL	0
+#define	FPPDBL	0
+#define	FPPMASK	0
+/* FSR */
+#define	FPAINEX	(1<<4)			/* accrued exceptions */
+#define	FPAUNFL	(1<<3)
+#define	FPAOVFL	(1<<2)
+#define	FPAZDIV	(1<<1)
+#define	FPAINVAL	(1<<0)
+union FPdbleword
+{
+	double	x;
+	struct {	/* little endian */
+		ulong lo;
+		ulong hi;
+	};
+};
+
+typedef	char*	va_list;
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)\
+	USED(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-4]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-2]:\
+		((list += sizeof(mode)), (mode*)list)[-1])

+ 26 - 0
arm/include/ureg.h

@@ -0,0 +1,26 @@
+typedef struct Ureg {
+	ulong	r0;
+	ulong	r1;
+	ulong	r2;
+	ulong	r3;
+	ulong	r4;
+	ulong	r5;
+	ulong	r6;
+	ulong	r7;
+	ulong	r8;
+	ulong	r9;
+	ulong	r10;
+	ulong	r11;
+	ulong	r12;	/* sb */
+	union {
+		ulong	r13;
+		ulong	sp;
+	};
+	union {
+		ulong	r14;
+		ulong	link;
+	};
+	ulong	type;	/* of exception */
+	ulong	psr;
+	ulong	pc;	/* interrupted addr */
+} Ureg;

BIN
arm/inflate


+ 0 - 0
arm/lib/ape/.shutuphg


+ 7 - 0
arm/mkfile

@@ -0,0 +1,7 @@
+</sys/src/mkfile.proto
+
+CC=5c
+GC=5g
+LD=5l
+O=5
+AS=5a

+ 2 - 0
mips/bin/ape/psh

@@ -0,0 +1,2 @@
+#!/bin/rc
+exec /rc/bin/ape/psh $*

+ 0 - 0
mips/bin/auth/.shutuphg


+ 0 - 0
mips/bin/aux/.shutuphg


+ 0 - 0
mips/bin/bitsy/.shutuphg


+ 0 - 0
mips/bin/dial/.shutuphg


+ 0 - 0
mips/bin/disk/.shutuphg


+ 0 - 0
mips/bin/fossil/.shutuphg


+ 0 - 0
mips/bin/fs/.shutuphg


+ 0 - 0
mips/bin/games/.shutuphg


+ 0 - 0
mips/bin/ip/httpd/.shutuphg


+ 0 - 0
mips/bin/ndb/.shutuphg


+ 0 - 0
mips/bin/replica/.shutuphg


+ 0 - 0
mips/bin/upas/.shutuphg


+ 0 - 0
mips/bin/usb/.shutuphg


+ 0 - 0
mips/bin/venti/.shutuphg


+ 73 - 0
mips/include/ape/float.h

@@ -0,0 +1,73 @@
+#ifndef __FLOAT
+#define __FLOAT
+/* IEEE, default rounding */
+
+#define FLT_ROUNDS	1
+#define FLT_RADIX	2
+
+#define FLT_DIG		6
+#define FLT_EPSILON	1.19209290e-07
+#define FLT_MANT_DIG	24
+#define FLT_MAX		3.40282347e+38
+#define FLT_MAX_10_EXP	38
+#define FLT_MAX_EXP	128
+#define FLT_MIN		1.17549435e-38
+#define FLT_MIN_10_EXP	-37
+#define FLT_MIN_EXP	-125
+
+#define DBL_DIG		15
+#define DBL_EPSILON	2.2204460492503131e-16
+#define DBL_MANT_DIG	53
+#define DBL_MAX		1.797693134862315708145e+308
+#define DBL_MAX_10_EXP	308
+#define DBL_MAX_EXP	1024
+#define DBL_MIN		2.225073858507201383090233e-308
+#define DBL_MIN_10_EXP	-307
+#define DBL_MIN_EXP	-1021
+#define LDBL_MANT_DIG	DBL_MANT_DIG
+#define LDBL_EPSILON	DBL_EPSILON
+#define LDBL_DIG	DBL_DIG
+#define LDBL_MIN_EXP	DBL_MIN_EXP
+#define LDBL_MIN	DBL_MIN
+#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP
+#define LDBL_MAX_EXP	DBL_MAX_EXP
+#define LDBL_MAX	DBL_MAX
+#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP
+
+typedef 	union FPdbleword FPdbleword;
+union FPdbleword
+{
+	double	x;
+	struct {	/* big endian */
+		long hi;
+		long lo;
+	};
+};
+
+#ifdef _RESEARCH_SOURCE
+/* define stuff needed for floating conversion */
+#define IEEE_MC68k	1
+#define Sudden_Underflow 1
+#endif
+#ifdef _PLAN9_SOURCE
+/* FCR */
+#define	FPINEX	(1<<7)
+#define	FPOVFL	(1<<9)
+#define	FPUNFL	(1<<8)
+#define	FPZDIV	(1<<10)
+#define	FPRNR	(0<<0)
+#define	FPRZ	(1<<0)
+#define	FPRPINF	(2<<0)
+#define	FPRNINF	(3<<0)
+#define	FPRMASK	(3<<0)
+#define	FPPEXT	0
+#define	FPPSGL	0
+#define	FPPDBL	0
+#define	FPPMASK	0
+/* FSR */
+#define	FPAINEX	(1<<2)
+#define	FPAOVFL	(1<<4)
+#define	FPAUNFL	(1<<3)
+#define	FPAZDIV	(1<<5)
+#endif
+#endif /* __FLOAT */

+ 77 - 0
mips/include/ape/math.h

@@ -0,0 +1,77 @@
+#ifndef __MATH
+#define __MATH
+#pragma lib "/$M/lib/ape/libap.a"
+
+/* a HUGE_VAL appropriate for IEEE double-precision */
+/* the correct value, 1.797693134862316e+308, causes a ken overflow */
+#define HUGE_VAL 1.79769313486231e+308
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+extern double NaN(void);
+extern int isNaN(double);
+extern double Inf(int);
+extern int isInf(double, int);
+
+#ifdef _RESEARCH_SOURCE
+/* does >> treat left operand as unsigned ? */
+#define Unsigned_Shifts 1
+#define	M_E		2.7182818284590452354	/* e */
+#define	M_LOG2E		1.4426950408889634074	/* log 2e */
+#define	M_LOG10E	0.43429448190325182765	/* log 10e */
+#define	M_LN2		0.69314718055994530942	/* log e2 */
+#define	M_LN10		2.30258509299404568402	/* log e10 */
+#define	M_PI		3.14159265358979323846	/* pi */
+#define	M_PI_2		1.57079632679489661923	/* pi/2 */
+#define	M_PI_4		0.78539816339744830962	/* pi/4 */
+#define	M_1_PI		0.31830988618379067154	/* 1/pi */
+#define	M_2_PI		0.63661977236758134308	/* 2/pi */
+#define	M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
+#define	M_SQRT2		1.41421356237309504880	/* sqrt(2) */
+#define	M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
+
+extern double hypot(double, double);
+extern double erf(double);
+extern double erfc(double);
+extern double j0(double);
+extern double y0(double);
+extern double j1(double);
+extern double y1(double);
+extern double jn(int, double);
+extern double yn(int, double);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#define isnan(x) isNaN(x)
+#define isinf(x) isInf(x)
+
+#endif /* __MATH */

+ 18 - 0
mips/include/ape/stdarg.h

@@ -0,0 +1,18 @@
+#ifndef __STDARG
+#define __STDARG
+
+typedef char *va_list;
+
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-1]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])
+
+#endif /* __STDARG */

+ 52 - 0
mips/include/ape/ureg.h

@@ -0,0 +1,52 @@
+#ifndef __UREG_H
+#define __UREG_H
+#if !defined(_PLAN9_SOURCE)
+    This header file is an extension to ANSI/POSIX
+#endif
+
+struct Ureg
+{
+	unsigned long	status;
+	unsigned long	pc;
+	union{
+		unsigned long	sp;		/* r29 */
+		unsigned long	usp;		/* r29 */
+	};
+	unsigned long	cause;
+	unsigned long	badvaddr;
+	unsigned long	tlbvirt;
+	unsigned long	hi;
+	unsigned long	lo;
+	unsigned long	r31;
+	unsigned long	r30;
+	unsigned long	r28;
+	unsigned long	r27;		/* unused */
+	unsigned long	r26;		/* unused */
+	unsigned long	r25;
+	unsigned long	r24;
+	unsigned long	r23;
+	unsigned long	r22;
+	unsigned long	r21;
+	unsigned long	r20;
+	unsigned long	r19;
+	unsigned long	r18;
+	unsigned long	r17;
+	unsigned long	r16;
+	unsigned long	r15;
+	unsigned long	r14;
+	unsigned long	r13;
+	unsigned long	r12;
+	unsigned long	r11;
+	unsigned long	r10;
+	unsigned long	r9;
+	unsigned long	r8;
+	unsigned long	r7;
+	unsigned long	r6;
+	unsigned long	r5;
+	unsigned long	r4;
+	unsigned long	r3;
+	unsigned long	r2;
+	unsigned long	r1;
+};
+
+#endif

+ 0 - 0
sys/src/libmach/mips2ureg.h → mips/include/mips2ureg.h


+ 66 - 0
mips/include/u.h

@@ -0,0 +1,66 @@
+#define nil		((void*)0)
+typedef	unsigned short	ushort;
+typedef	unsigned char	uchar;
+typedef	unsigned long	ulong;
+typedef	unsigned int	uint;
+typedef	signed char	schar;
+typedef	long long	vlong;
+typedef	unsigned long long uvlong;
+typedef unsigned long	uintptr;
+typedef unsigned long	usize;
+typedef	ushort		Rune;
+typedef 	union FPdbleword FPdbleword;
+typedef long	jmp_buf[2];
+#define	JMPBUFSP	0
+#define	JMPBUFPC	1
+#define	JMPBUFDPC	0
+typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
+typedef unsigned char u8int;
+typedef unsigned short u16int;
+typedef unsigned int	u32int;
+typedef unsigned long long u64int;
+
+/* FCR */
+#define	FPINEX	(1<<7)
+#define	FPUNFL	(1<<8)
+#define	FPOVFL	(1<<9)
+#define	FPZDIV	(1<<10)
+#define	FPINVAL	(1<<11)
+#define	FPRNR	(0<<0)
+#define	FPRZ	(1<<0)
+#define	FPRPINF	(2<<0)
+#define	FPRNINF	(3<<0)
+#define	FPRMASK	(3<<0)
+#define	FPPEXT	0
+#define	FPPSGL	0
+#define	FPPDBL	0
+#define	FPPMASK	0
+/* FSR */
+#define	FPAINEX	(1<<2)
+#define	FPAOVFL	(1<<4)
+#define	FPAUNFL	(1<<3)
+#define	FPAZDIV	(1<<5)
+#define	FPAINVAL	(1<<6)
+union FPdbleword
+{
+	double	x;
+	struct {	/* big endian */
+		ulong hi;
+		ulong lo;
+	};
+};
+
+/* stdarg */
+typedef	char*	va_list;
+#define va_start(list, start) list =\
+	(sizeof(start) < 4?\
+		(char*)((int*)&(start)+1):\
+		(char*)(&(start)+1))
+#define va_end(list)\
+	USED(list)
+#define va_arg(list, mode)\
+	((sizeof(mode) == 1)?\
+		((list += 4), (mode*)list)[-1]:\
+	(sizeof(mode) == 2)?\
+		((list += 4), (mode*)list)[-1]:\
+		((list += sizeof(mode)), (mode*)list)[-1])

Some files were not shown because too many files changed in this diff