Skip to content

Commit e07901b

Browse files
committed
Iniitial import from sources.
0 parents  commit e07901b

File tree

8,730 files changed

+2314374
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

8,730 files changed

+2314374
-0
lines changed

386/include/ape/float.h

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#ifndef __FLOAT
2+
#define __FLOAT
3+
/* IEEE, default rounding */
4+
5+
#define FLT_ROUNDS 1
6+
#define FLT_RADIX 2
7+
8+
#define FLT_DIG 6
9+
#define FLT_EPSILON 1.19209290e-07
10+
#define FLT_MANT_DIG 24
11+
#define FLT_MAX 3.40282347e+38
12+
#define FLT_MAX_10_EXP 38
13+
#define FLT_MAX_EXP 128
14+
#define FLT_MIN 1.17549435e-38
15+
#define FLT_MIN_10_EXP -37
16+
#define FLT_MIN_EXP -125
17+
18+
#define DBL_DIG 15
19+
#define DBL_EPSILON 2.2204460492503131e-16
20+
#define DBL_MANT_DIG 53
21+
#define DBL_MAX 1.797693134862315708145e+308
22+
#define DBL_MAX_10_EXP 308
23+
#define DBL_MAX_EXP 1024
24+
#define DBL_MIN 2.225073858507201383090233e-308
25+
#define DBL_MIN_10_EXP -307
26+
#define DBL_MIN_EXP -1021
27+
#define LDBL_MANT_DIG DBL_MANT_DIG
28+
#define LDBL_EPSILON DBL_EPSILON
29+
#define LDBL_DIG DBL_DIG
30+
#define LDBL_MIN_EXP DBL_MIN_EXP
31+
#define LDBL_MIN DBL_MIN
32+
#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
33+
#define LDBL_MAX_EXP DBL_MAX_EXP
34+
#define LDBL_MAX DBL_MAX
35+
#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
36+
37+
typedef union FPdbleword FPdbleword;
38+
union FPdbleword
39+
{
40+
double x;
41+
struct { /* little endian */
42+
long lo;
43+
long hi;
44+
};
45+
};
46+
47+
#ifdef _RESEARCH_SOURCE
48+
/* define stuff needed for floating conversion */
49+
#define IEEE_8087 1
50+
#define Sudden_Underflow 1
51+
#endif
52+
#ifdef _PLAN9_SOURCE
53+
/* FCR */
54+
#define FPINEX (1<<5)
55+
#define FPOVFL (1<<3)
56+
#define FPUNFL ((1<<4)|(1<<1))
57+
#define FPZDIV (1<<2)
58+
#define FPRNR (0<<10)
59+
#define FPRZ (3<<10)
60+
#define FPRPINF (2<<10)
61+
#define FPRNINF (1<<10)
62+
#define FPRMASK (3<<10)
63+
#define FPPEXT (3<<8)
64+
#define FPPSGL (0<<8)
65+
#define FPPDBL (2<<8)
66+
#define FPPMASK (3<<8)
67+
/* FSR */
68+
#define FPAINEX FPINEX
69+
#define FPAOVFL FPOVFL
70+
#define FPAUNFL FPUNFL
71+
#define FPAZDIV FPZDIV
72+
#endif
73+
#endif /* __FLOAT */

386/include/ape/math.h

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#ifndef __MATH
2+
#define __MATH
3+
#pragma lib "/$M/lib/ape/libap.a"
4+
5+
/* a HUGE_VAL appropriate for IEEE double-precision */
6+
/* the correct value, 1.797693134862316e+308, causes a ken overflow */
7+
#define HUGE_VAL 1.79769313486231e+308
8+
9+
#ifdef __cplusplus
10+
extern "C" {
11+
#endif
12+
13+
extern double acos(double);
14+
extern double asin(double);
15+
extern double atan(double);
16+
extern double atan2(double, double);
17+
extern double cos(double);
18+
extern double sin(double);
19+
extern double tan(double);
20+
extern double cosh(double);
21+
extern double sinh(double);
22+
extern double tanh(double);
23+
extern double exp(double);
24+
extern double frexp(double, int *);
25+
extern double ldexp(double, int);
26+
extern double log(double);
27+
extern double log10(double);
28+
extern double modf(double, double *);
29+
extern double pow(double, double);
30+
extern double sqrt(double);
31+
extern double ceil(double);
32+
extern double fabs(double);
33+
extern double floor(double);
34+
extern double fmod(double, double);
35+
extern double NaN(void);
36+
extern int isNaN(double);
37+
extern double Inf(int);
38+
extern int isInf(double, int);
39+
40+
#ifdef _RESEARCH_SOURCE
41+
/* does >> treat left operand as unsigned ? */
42+
#define Unsigned_Shifts 1
43+
#define M_E 2.7182818284590452354 /* e */
44+
#define M_LOG2E 1.4426950408889634074 /* log 2e */
45+
#define M_LOG10E 0.43429448190325182765 /* log 10e */
46+
#define M_LN2 0.69314718055994530942 /* log e2 */
47+
#define M_LN10 2.30258509299404568402 /* log e10 */
48+
#define M_PI 3.14159265358979323846 /* pi */
49+
#define M_PI_2 1.57079632679489661923 /* pi/2 */
50+
#define M_PI_4 0.78539816339744830962 /* pi/4 */
51+
#define M_1_PI 0.31830988618379067154 /* 1/pi */
52+
#define M_2_PI 0.63661977236758134308 /* 2/pi */
53+
#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
54+
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
55+
#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
56+
57+
extern double hypot(double, double);
58+
extern double erf(double);
59+
extern double erfc(double);
60+
extern double j0(double);
61+
extern double y0(double);
62+
extern double j1(double);
63+
extern double y1(double);
64+
extern double jn(int, double);
65+
extern double yn(int, double);
66+
67+
#endif
68+
69+
70+
#ifdef __cplusplus
71+
}
72+
#endif
73+
74+
#endif /* __MATH */

386/include/ape/stdarg.h

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#ifndef __STDARG
2+
#define __STDARG
3+
4+
typedef char *va_list;
5+
6+
#define va_start(list, start) list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \
7+
(char *)(&(start)+1))
8+
#define va_end(list)
9+
#define va_arg(list, mode) ((mode*)(list += sizeof(mode)))[-1]
10+
11+
#endif /* __STDARG */

386/include/ape/ureg.h

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#ifndef __UREG_H
2+
#define __UREG_H
3+
#if !defined(_PLAN9_SOURCE)
4+
This header file is an extension to ANSI/POSIX
5+
#endif
6+
7+
struct Ureg
8+
{
9+
unsigned long di; /* general registers */
10+
unsigned long si; /* ... */
11+
unsigned long bp; /* ... */
12+
unsigned long nsp;
13+
unsigned long bx; /* ... */
14+
unsigned long dx; /* ... */
15+
unsigned long cx; /* ... */
16+
unsigned long ax; /* ... */
17+
unsigned long gs; /* data segments */
18+
unsigned long fs; /* ... */
19+
unsigned long es; /* ... */
20+
unsigned long ds; /* ... */
21+
unsigned long trap; /* trap type */
22+
unsigned long ecode; /* error code (or zero) */
23+
unsigned long pc; /* pc */
24+
unsigned long cs; /* old context */
25+
unsigned long flags; /* old flags */
26+
union {
27+
unsigned long usp;
28+
unsigned long sp;
29+
};
30+
unsigned long ss; /* old stack segment */
31+
};
32+
33+
#endif

386/include/u.h

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#define nil ((void*)0)
2+
typedef unsigned short ushort;
3+
typedef unsigned char uchar;
4+
typedef unsigned long ulong;
5+
typedef unsigned int uint;
6+
typedef signed char schar;
7+
typedef long long vlong;
8+
typedef unsigned long long uvlong;
9+
typedef unsigned long uintptr;
10+
typedef unsigned long usize;
11+
typedef ushort Rune;
12+
typedef union FPdbleword FPdbleword;
13+
typedef long jmp_buf[2];
14+
#define JMPBUFSP 0
15+
#define JMPBUFPC 1
16+
#define JMPBUFDPC 0
17+
typedef unsigned int mpdigit; /* for /sys/include/mp.h */
18+
typedef unsigned char u8int;
19+
typedef unsigned short u16int;
20+
typedef unsigned int u32int;
21+
typedef unsigned long long u64int;
22+
23+
/* FCR */
24+
#define FPINEX (1<<5)
25+
#define FPUNFL ((1<<4)|(1<<1))
26+
#define FPOVFL (1<<3)
27+
#define FPZDIV (1<<2)
28+
#define FPINVAL (1<<0)
29+
#define FPRNR (0<<10)
30+
#define FPRZ (3<<10)
31+
#define FPRPINF (2<<10)
32+
#define FPRNINF (1<<10)
33+
#define FPRMASK (3<<10)
34+
#define FPPEXT (3<<8)
35+
#define FPPSGL (0<<8)
36+
#define FPPDBL (2<<8)
37+
#define FPPMASK (3<<8)
38+
/* FSR */
39+
#define FPAINEX FPINEX
40+
#define FPAOVFL FPOVFL
41+
#define FPAUNFL FPUNFL
42+
#define FPAZDIV FPZDIV
43+
#define FPAINVAL FPINVAL
44+
union FPdbleword
45+
{
46+
double x;
47+
struct { /* little endian */
48+
ulong lo;
49+
ulong hi;
50+
};
51+
};
52+
53+
typedef char* va_list;
54+
#define va_start(list, start) list =\
55+
(sizeof(start) < 4?\
56+
(char*)((int*)&(start)+1):\
57+
(char*)(&(start)+1))
58+
#define va_end(list)\
59+
USED(list)
60+
#define va_arg(list, mode)\
61+
((sizeof(mode) == 1)?\
62+
((list += 4), (mode*)list)[-4]:\
63+
(sizeof(mode) == 2)?\
64+
((list += 4), (mode*)list)[-2]:\
65+
((list += sizeof(mode)), (mode*)list)[-1])

386/include/ureg.h

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
struct Ureg
2+
{
3+
ulong di; /* general registers */
4+
ulong si; /* ... */
5+
ulong bp; /* ... */
6+
ulong nsp;
7+
ulong bx; /* ... */
8+
ulong dx; /* ... */
9+
ulong cx; /* ... */
10+
ulong ax; /* ... */
11+
ulong gs; /* data segments */
12+
ulong fs; /* ... */
13+
ulong es; /* ... */
14+
ulong ds; /* ... */
15+
ulong trap; /* trap type */
16+
ulong ecode; /* error code (or zero) */
17+
ulong pc; /* pc */
18+
ulong cs; /* old context */
19+
ulong flags; /* old flags */
20+
union {
21+
ulong usp;
22+
ulong sp;
23+
};
24+
ulong ss; /* old stack segment */
25+
};

386/mkfile

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
</sys/src/mkfile.proto
2+
3+
CC=8c
4+
LD=8l
5+
O=8
6+
AS=8a

68000/include/u.h

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#define nil ((void*)0)
2+
typedef unsigned short ushort;
3+
typedef unsigned char uchar;
4+
typedef unsigned long ulong;
5+
typedef unsigned int uint;
6+
typedef signed char schar;
7+
typedef long long vlong;
8+
typedef unsigned long long uvlong;
9+
typedef unsigned long uintptr;
10+
typedef unsigned long usize;
11+
typedef ushort Rune;
12+
typedef union FPdbleword FPdbleword;
13+
typedef long jmp_buf[2];
14+
#define JMPBUFSP 0
15+
#define JMPBUFPC 1
16+
#define JMPBUFDPC 0
17+
typedef unsigned int mpdigit; /* for /sys/include/mp.h */
18+
typedef unsigned char u8int;
19+
typedef unsigned short u16int;
20+
typedef unsigned int u32int;
21+
typedef unsigned long long u64int;
22+
23+
/* FCR */
24+
#define FPINEX (3<<8)
25+
#define FPOVFL (1<<12)
26+
#define FPUNFL (1<<11)
27+
#define FPZDIV (1<<10)
28+
#define FPRNR (0<<4)
29+
#define FPRZ (1<<4)
30+
#define FPINVAL (3<<13)
31+
#define FPRPINF (3<<4)
32+
#define FPRNINF (2<<4)
33+
#define FPRMASK (3<<4)
34+
#define FPPEXT (0<<6)
35+
#define FPPSGL (1<<6)
36+
#define FPPDBL (2<<6)
37+
#define FPPMASK (3<<6)
38+
/* FSR */
39+
#define FPAINEX FPINEX
40+
#define FPAOVFL FPOVFL
41+
#define FPAUNFL FPUNFL
42+
#define FPAZDIV FPZDIV
43+
#define FPAINVAL FPINVAL
44+
union FPdbleword
45+
{
46+
double x;
47+
struct { /* big endian */
48+
ulong hi;
49+
ulong lo;
50+
};
51+
};
52+
53+
typedef char* va_list;
54+
#define va_start(list, start) list =\
55+
(sizeof(start) < 4?\
56+
(char*)((int*)&(start)+1):\
57+
(char*)(&(start)+1))
58+
#define va_end(list)\
59+
USED(list)
60+
#define va_arg(list, mode)\
61+
((sizeof(mode) == 1)?\
62+
((list += 4), (mode*)list)[-1]:\
63+
(sizeof(mode) == 2)?\
64+
((list += 4), (mode*)list)[-1]:\
65+
((list += sizeof(mode)), (mode*)list)[-1])

68000/include/ureg.h

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
struct Ureg
2+
{
3+
ulong r0;
4+
ulong r1;
5+
ulong r2;
6+
ulong r3;
7+
ulong r4;
8+
ulong r5;
9+
ulong r6;
10+
ulong r7;
11+
ulong a0;
12+
ulong a1;
13+
ulong a2;
14+
ulong a3;
15+
ulong a4;
16+
ulong a5;
17+
ulong a6;
18+
ulong sp;
19+
ulong usp;
20+
ulong magic; /* for db to find bottom of ureg */
21+
ushort sr;
22+
ulong pc;
23+
ushort vo;
24+
#ifndef UREGVARSZ
25+
#define UREGVARSZ 23 /* for 68040; 15 is enough on 68020 */
26+
#endif
27+
uchar microstate[UREGVARSZ]; /* variable-sized portion */
28+
};

68000/mkfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
</sys/src/mkfile.proto
2+
3+
CC=1c
4+
LD=1l
5+
O=1
6+
RL=rl
7+
AS=1a

0 commit comments

Comments
 (0)