| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | (void __user *)__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__ */ |