diff options
author | Andi Kleen <ak@suse.de> | 2006-01-11 16:44:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 22:04:53 -0500 |
commit | bf2fcc6fdfe4f4e92bb74f062c0a1be189f3a561 (patch) | |
tree | 0bcc33f681c7e8ce6596c9323d4a1026ede84994 /include/asm-x86_64 | |
parent | 2966387b481a11a90a7bed6600fc17b4253f6980 (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.h | 5 | ||||
-rw-r--r-- | include/asm-x86_64/thread_info.h | 1 |
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 | ||
205 | static 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 | ||