aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-01-11 16:44:06 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-11 22:04:53 -0500
commitbf2fcc6fdfe4f4e92bb74f062c0a1be189f3a561 (patch)
tree0bcc33f681c7e8ce6596c9323d4a1026ede84994 /include/asm-x86_64
parent2966387b481a11a90a7bed6600fc17b4253f6980 (diff)
[PATCH] x86_64: Implement is_compat_task the right way
By setting a flag during a 32bit system call only Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64')
-rw-r--r--include/asm-x86_64/compat.h5
-rw-r--r--include/asm-x86_64/thread_info.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-x86_64/compat.h b/include/asm-x86_64/compat.h
index f0155c38f639..3863a7da372b 100644
--- a/include/asm-x86_64/compat.h
+++ b/include/asm-x86_64/compat.h
@@ -202,4 +202,9 @@ static __inline__ void __user *compat_alloc_user_space(long len)
202 return (void __user *)regs->rsp - len; 202 return (void __user *)regs->rsp - len;
203} 203}
204 204
205static inline int is_compat_task(void)
206{
207 return current_thread_info()->status & TS_COMPAT;
208}
209
205#endif /* _ASM_X86_64_COMPAT_H */ 210#endif /* _ASM_X86_64_COMPAT_H */
diff --git a/include/asm-x86_64/thread_info.h b/include/asm-x86_64/thread_info.h
index 08eb6e4f3737..eb7c5fda1870 100644
--- a/include/asm-x86_64/thread_info.h
+++ b/include/asm-x86_64/thread_info.h
@@ -138,6 +138,7 @@ static inline struct thread_info *stack_thread_info(void)
138 * have to worry about atomic accesses. 138 * have to worry about atomic accesses.
139 */ 139 */
140#define TS_USEDFPU 0x0001 /* FPU was used by this task this quantum (SMP) */ 140#define TS_USEDFPU 0x0001 /* FPU was used by this task this quantum (SMP) */
141#define TS_COMPAT 0x0002 /* 32bit syscall active */
141 142
142#endif /* __KERNEL__ */ 143#endif /* __KERNEL__ */
143 144