add /spim
This commit is contained in:
parent
1f8e6c916a
commit
ff6e15ec3a
3 changed files with 116 additions and 0 deletions
66
spim/include/u.h
Normal file
66
spim/include/u.h
Normal file
|
@ -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 uint 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])
|
44
spim/include/ureg.h
Normal file
44
spim/include/ureg.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
struct Ureg
|
||||
{
|
||||
ulong status;
|
||||
ulong pc;
|
||||
union{
|
||||
ulong sp; /* r29 */
|
||||
ulong usp; /* r29 */
|
||||
};
|
||||
ulong cause;
|
||||
ulong badvaddr;
|
||||
ulong tlbvirt;
|
||||
ulong hi;
|
||||
ulong lo;
|
||||
ulong r31;
|
||||
ulong r30;
|
||||
ulong r28;
|
||||
ulong r27; /* unused */
|
||||
ulong r26; /* unused */
|
||||
ulong r25;
|
||||
ulong r24;
|
||||
ulong r23;
|
||||
ulong r22;
|
||||
ulong r21;
|
||||
ulong r20;
|
||||
ulong r19;
|
||||
ulong r18;
|
||||
ulong r17;
|
||||
ulong r16;
|
||||
ulong r15;
|
||||
ulong r14;
|
||||
ulong r13;
|
||||
ulong r12;
|
||||
ulong r11;
|
||||
ulong r10;
|
||||
ulong r9;
|
||||
ulong r8;
|
||||
ulong r7;
|
||||
ulong r6;
|
||||
ulong r5;
|
||||
ulong r4;
|
||||
ulong r3;
|
||||
ulong r2;
|
||||
ulong r1;
|
||||
};
|
6
spim/mkfile
Normal file
6
spim/mkfile
Normal file
|
@ -0,0 +1,6 @@
|
|||
</sys/src/mkfile.proto
|
||||
|
||||
CC=0c
|
||||
LD=0l
|
||||
O=0
|
||||
AS=0a
|
Loading…
Reference in a new issue