1*e89e8a15SValery Ushakov /* 2*e89e8a15SValery Ushakov * system- and machine-specific declarations for emu: 3*e89e8a15SValery Ushakov * floating-point save and restore, signal handling primitive, and 4*e89e8a15SValery Ushakov * implementation of the current-process variable `up'. 5*e89e8a15SValery Ushakov */ 6*e89e8a15SValery Ushakov 7*e89e8a15SValery Ushakov /* 8*e89e8a15SValery Ushakov * This structure must agree with FPsave and FPrestore asm routines 9*e89e8a15SValery Ushakov */ 10*e89e8a15SValery Ushakov typedef struct FPU FPU; 11*e89e8a15SValery Ushakov struct FPU 12*e89e8a15SValery Ushakov { 13*e89e8a15SValery Ushakov uchar env[28]; 14*e89e8a15SValery Ushakov }; 15*e89e8a15SValery Ushakov 16*e89e8a15SValery Ushakov #define KSTACK (32 * 1024) 17*e89e8a15SValery Ushakov 18*e89e8a15SValery Ushakov extern Proc* getup(void); 19*e89e8a15SValery Ushakov #define up (getup()) 20*e89e8a15SValery Ushakov 21*e89e8a15SValery Ushakov typedef sigjmp_buf osjmpbuf; 22*e89e8a15SValery Ushakov #define ossetjmp(buf) sigsetjmp(buf, 1) 23