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