Commit ba89f59a authored by David S. Miller's avatar David S. Miller Committed by David S. Miller

[SPARC]: Merge asm-sparc{,64}/current.h

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cec6dc5d
/* /* include/asm-sparc/current.h
* include/asm-sparc/current.h
* *
* Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Copyright (C) 2002 Pete Zaitcev (zaitcev@yahoo.com) * Copyright (C) 2002 Pete Zaitcev (zaitcev@yahoo.com)
* Copyright (C) 2007 David S. Miller (davem@davemloft.net)
* *
* Derived from "include/asm-s390/current.h" by * Derived from "include/asm-s390/current.h" by
* Martin Schwidefsky (schwidefsky@de.ibm.com) * Martin Schwidefsky (schwidefsky@de.ibm.com)
* Derived from "include/asm-i386/current.h" * Derived from "include/asm-i386/current.h"
*/ */
#ifndef _ASM_CURRENT_H #ifndef _SPARC_CURRENT_H
#define _ASM_CURRENT_H #define _SPARC_CURRENT_H
/*
* At the sparc64 DaveM keeps current_thread_info in %g4.
* We might want to consider doing the same to shave a few cycles.
*/
#include <linux/thread_info.h> #include <linux/thread_info.h>
struct task_struct; #ifdef CONFIG_SPARC64
register struct task_struct *current asm("g4");
#endif
/* Two stage process (inline + #define) for type-checking. */ #ifdef CONFIG_SPARC32
/* We also obfuscate get_current() to check if anyone used that by mistake. */ /* We might want to consider using %g4 like sparc64 to shave a few cycles.
*
* Two stage process (inline + #define) for type-checking.
* We also obfuscate get_current() to check if anyone used that by mistake.
*/
struct task_struct;
static inline struct task_struct *__get_current(void) static inline struct task_struct *__get_current(void)
{ {
return current_thread_info()->task; return current_thread_info()->task;
} }
#define current __get_current() #define current __get_current()
#endif
#endif /* !(_ASM_CURRENT_H) */ #endif /* !(_SPARC_CURRENT_H) */
#ifndef _SPARC64_CURRENT_H #include <asm-sparc/current.h>
#define _SPARC64_CURRENT_H
#include <linux/thread_info.h>
register struct task_struct *current asm("g4");
#endif /* !(_SPARC64_CURRENT_H) */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment