1/* $Id: conv.h,v 1.1.1.1 2008/10/15 03:26:19 james26_jang 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 23extern unsigned sys_call_table[]; 24extern unsigned sys_call_table32[]; 25extern 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