1/* 2 * include/asm-sparc/current.h 3 * 4 * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation 5 * Copyright (C) 2002 Pete Zaitcev (zaitcev@yahoo.com) 6 * 7 * Derived from "include/asm-s390/current.h" by 8 * Martin Schwidefsky (schwidefsky@de.ibm.com) 9 * Derived from "include/asm-i386/current.h" 10 */ 11#ifndef _ASM_CURRENT_H 12#define _ASM_CURRENT_H 13 14/* 15 * At the sparc64 DaveM keeps current_thread_info in %g4. 16 * We might want to consider doing the same to shave a few cycles. 17 */ 18 19#include <linux/thread_info.h> 20 21struct task_struct; 22 23/* Two stage process (inline + #define) for type-checking. */ 24/* We also obfuscate get_current() to check if anyone used that by mistake. */ 25static inline struct task_struct *__get_current(void) 26{ 27 return current_thread_info()->task; 28} 29#define current __get_current() 30 31#endif /* !(_ASM_CURRENT_H) */ 32