diff options
Diffstat (limited to 'Inferno/spim/include')
| -rw-r--r-- | Inferno/spim/include/lib9.h | 8 | ||||
| -rw-r--r-- | Inferno/spim/include/u.h | 56 |
2 files changed, 64 insertions, 0 deletions
diff --git a/Inferno/spim/include/lib9.h b/Inferno/spim/include/lib9.h new file mode 100644 index 00000000..649829be --- /dev/null +++ b/Inferno/spim/include/lib9.h @@ -0,0 +1,8 @@ +#include <u.h> +#include <kern.h> + +/* + * Extensions for Inferno to basic libc.h + */ + +#define __LITTLE_ENDIAN /* math/dtoa.c; longs in MIPS doubles are little-endian in LE mode */ diff --git a/Inferno/spim/include/u.h b/Inferno/spim/include/u.h new file mode 100644 index 00000000..8a57b3a2 --- /dev/null +++ b/Inferno/spim/include/u.h @@ -0,0 +1,56 @@ +#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 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 int u32int; /* for /sys/include/libsec.h */ +typedef unsigned char u8int; +typedef unsigned short u16int; +typedef unsigned long uintptr; + +/* 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 { /* 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_arg(list, mode) ((mode*)(list += sizeof(mode)))[-1] +#define va_end(list) |
