|  | /* $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__ */ |