1 /* $Id: conv.h,v 1.4 1998/08/15 20:42:51 davem Exp $
2  * conv.h: Utility macros for Solaris emulation
3  *
4  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
5  */
6 
7 /* #define DEBUG_SOLARIS */
8 #define DEBUG_SOLARIS_KMALLOC
9 
10 #ifndef __ASSEMBLY__
11 
12 #include <asm/unistd.h>
13 
14 /* Use this to get at 32-bit user passed pointers. */
15 #define A(__x)				\
16 ({	unsigned long __ret;		\
17 	__asm__ ("srl	%0, 0, %0"	\
18 		 : "=r" (__ret)		\
19 		 : "0" (__x));		\
20 	__ret;				\
21 })
22 
23 extern unsigned sys_call_table[];
24 extern unsigned sys_call_table32[];
25 extern unsigned sunos_sys_table[];
26 
27 #define SYS(name) ((long)sys_call_table[__NR_##name])
28 #define SUNOS(x) ((long)sunos_sys_table[x])
29 
30 #ifdef DEBUG_SOLARIS
31 #define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__FUNCTION__,(s))
32 #define SOLDD(s) printk("solaris: "); printk s
33 #else
34 #define SOLD(s)
35 #define SOLDD(s)
36 #endif
37 
38 #endif /* __ASSEMBLY__ */
39