mirror of https://gitee.com/openkylin/linux.git
39 lines
901 B
C
39 lines
901 B
C
/* $Id: conv.h,v 1.4 1998/08/15 20:42:51 davem Exp $
|
|
* conv.h: Utility macros for Solaris emulation
|
|
*
|
|
* Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
|
|
*/
|
|
|
|
/* #define DEBUG_SOLARIS */
|
|
#define DEBUG_SOLARIS_KMALLOC
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <asm/unistd.h>
|
|
|
|
/* Use this to get at 32-bit user passed pointers. */
|
|
#define A(__x) \
|
|
({ unsigned long __ret; \
|
|
__asm__ ("srl %0, 0, %0" \
|
|
: "=r" (__ret) \
|
|
: "0" (__x)); \
|
|
(void __user *)__ret; \
|
|
})
|
|
|
|
extern unsigned sys_call_table[];
|
|
extern unsigned sys_call_table32[];
|
|
extern unsigned sunos_sys_table[];
|
|
|
|
#define SYS(name) ((long)sys_call_table[__NR_##name])
|
|
#define SUNOS(x) ((long)sunos_sys_table[x])
|
|
|
|
#ifdef DEBUG_SOLARIS
|
|
#define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__FUNCTION__,(s))
|
|
#define SOLDD(s) printk("solaris: "); printk s
|
|
#else
|
|
#define SOLD(s)
|
|
#define SOLDD(s)
|
|
#endif
|
|
|
|
#endif /* __ASSEMBLY__ */
|