add tos changes, proto changes, fp tweaks. with this patch, everything compiles properly for the rb. Reference: /n/atom/patch/applied2013/rbcleanup Date: Wed Jul 31 20:45:40 CES 2013 Signed-off-by: quanstro@quanstro.net # rm /sys/src/libmp/mips/mpdigdiv.s --- /sys/src/cmd/9l/compat.c Wed Jul 31 20:44:27 2013 +++ /sys/src/cmd/9l/compat.c Wed Jul 31 20:44:27 2013 @@ -48,3 +48,9 @@ { return sbrk(size); } + +void +setmalloctag(void *v, ulong pc) +{ + USED(v, pc); +} --- /sys/src/ape/cmd/kill.c Wed Jul 31 20:44:28 2013 +++ /sys/src/ape/cmd/kill.c Wed Jul 31 20:44:28 2013 @@ -15,7 +15,7 @@ main(int argc, char **argv) { - int signo, pid, res; + int signo, res; int errlev; errlev = 0; --- /sys/src/mkfile.proto Wed Jul 31 20:44:29 2013 +++ /sys/src/mkfile.proto Wed Jul 31 20:44:29 2013 @@ -3,7 +3,7 @@ # OS=56789qv #12k -CPUS=amd64 arm 386 +CPUS=amd64 arm mips 386 #CPUS=arm alpha 386 amd64 power power64 mips CFLAGS=-FTVw LEX=lex --- /sys/include/tos.h Wed Jul 31 20:44:30 2013 +++ /sys/include/tos.h Wed Jul 31 20:44:30 2013 @@ -19,6 +19,9 @@ ulong pid; /* might as well put the pid here */ ulong clock; uint machno; /* mp->machno */ + /* scratch space for kernel use (e.g., mips fp delay-slot execution) */ + ulong kscr[4]; + /* top of stack is here */ }; --- /mips/include/u.h Wed Jul 31 20:44:31 2013 +++ /mips/include/u.h Wed Jul 31 20:44:31 2013 @@ -20,13 +20,13 @@ typedef unsigned int u32int; typedef unsigned long long u64int; -/* FCR */ -#define FPINEX (1<<7) +/* FCR (FCR31) */ +#define FPINEX (1<<7) /* enables */ #define FPUNFL (1<<8) #define FPOVFL (1<<9) #define FPZDIV (1<<10) #define FPINVAL (1<<11) -#define FPRNR (0<<0) +#define FPRNR (0<<0) /* rounding modes */ #define FPRZ (1<<0) #define FPRPINF (2<<0) #define FPRNINF (3<<0) @@ -35,12 +35,15 @@ #define FPPSGL 0 #define FPPDBL 0 #define FPPMASK 0 -/* FSR */ -#define FPAINEX (1<<2) +#define FPCOND (1<<23) + +/* FSR (also FCR31) */ +#define FPAINEX (1<<2) /* flags */ #define FPAOVFL (1<<4) #define FPAUNFL (1<<3) #define FPAZDIV (1<<5) #define FPAINVAL (1<<6) + union FPdbleword { double x;