xref: /inferno-os/NetBSD/arm/include/emu.h (revision 98799e61445323e9022b62346ea988fb465452be)
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