aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/thread_info.h
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2008-04-28 21:52:38 -0400
committerIngo Molnar <mingo@elte.hu>2008-05-12 15:28:03 -0400
commite57549b017552f7a493b366f5ccd4781801083e4 (patch)
tree04803e156c5bef2309b673983523536d9a2b1fe3 /include/asm-x86/thread_info.h
parent24e2de6e28a453cd114b06215df2f9931cd0c342 (diff)
x86: thread_info: merge TIF_ flags.
Both TIF lists are essentially the same. x86_32 also has TIF_SYSCALL_EMU which must be undefined for the 64 bit case. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/thread_info.h')
-rw-r--r--include/asm-x86/thread_info.h162
1 files changed, 61 insertions, 101 deletions
diff --git a/include/asm-x86/thread_info.h b/include/asm-x86/thread_info.h
index f8d5cf516ac4..983743a14b99 100644
--- a/include/asm-x86/thread_info.h
+++ b/include/asm-x86/thread_info.h
@@ -62,6 +62,67 @@ struct thread_info {
62 62
63#endif 63#endif
64 64
65/*
66 * thread information flags
67 * - these are process state flags that various assembly files
68 * may need to access
69 * - pending work-to-be-done flags are in LSW
70 * - other flags in MSW
71 * Warning: layout of LSW is hardcoded in entry.S
72 */
73#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
74#define TIF_SIGPENDING 2 /* signal pending */
75#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
76#define TIF_SINGLESTEP 4 /* reenable singlestep on user return*/
77#define TIF_IRET 5 /* force IRET */
78#ifdef CONFIG_X86_32
79#define TIF_SYSCALL_EMU 6 /* syscall emulation active */
80#endif
81#define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */
82#define TIF_SECCOMP 8 /* secure computing */
83#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal */
84#define TIF_MCE_NOTIFY 10 /* notify userspace of an MCE */
85#define TIF_HRTICK_RESCHED 11 /* reprogram hrtick timer */
86#define TIF_NOTSC 16 /* TSC is not accessible in userland */
87#define TIF_IA32 17 /* 32bit process */
88#define TIF_FORK 18 /* ret_from_fork */
89#define TIF_ABI_PENDING 19
90#define TIF_MEMDIE 20
91#define TIF_DEBUG 21 /* uses debug registers */
92#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
93#define TIF_FREEZE 23 /* is freezing for suspend */
94#define TIF_FORCED_TF 24 /* true if TF in eflags artificially */
95#define TIF_DEBUGCTLMSR 25 /* uses thread_struct.debugctlmsr */
96#define TIF_DS_AREA_MSR 26 /* uses thread_struct.ds_area_msr */
97#define TIF_BTS_TRACE_TS 27 /* record scheduling event timestamps */
98
99#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
100#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
101#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
102#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
103#define _TIF_IRET (1 << TIF_IRET)
104#ifdef CONFIG_X86_32
105#define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU)
106#else
107#define _TIF_SYSCALL_EMU 0
108#endif
109#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
110#define _TIF_SECCOMP (1 << TIF_SECCOMP)
111#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
112#define _TIF_MCE_NOTIFY (1 << TIF_MCE_NOTIFY)
113#define _TIF_HRTICK_RESCHED (1 << TIF_HRTICK_RESCHED)
114#define _TIF_NOTSC (1 << TIF_NOTSC)
115#define _TIF_IA32 (1 << TIF_IA32)
116#define _TIF_FORK (1 << TIF_FORK)
117#define _TIF_ABI_PENDING (1 << TIF_ABI_PENDING)
118#define _TIF_DEBUG (1 << TIF_DEBUG)
119#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
120#define _TIF_FREEZE (1 << TIF_FREEZE)
121#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
122#define _TIF_DEBUGCTLMSR (1 << TIF_DEBUGCTLMSR)
123#define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR)
124#define _TIF_BTS_TRACE_TS (1 << TIF_BTS_TRACE_TS)
125
65#define PREEMPT_ACTIVE 0x10000000 126#define PREEMPT_ACTIVE 0x10000000
66 127
67#ifdef CONFIG_X86_32 128#ifdef CONFIG_X86_32
@@ -113,53 +174,6 @@ static inline struct thread_info *current_thread_info(void)
113 174
114#endif 175#endif
115 176
116/*
117 * thread information flags
118 * - these are process state flags that various
119 * assembly files may need to access
120 * - pending work-to-be-done flags are in LSW
121 * - other flags in MSW
122 */
123#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
124#define TIF_SIGPENDING 1 /* signal pending */
125#define TIF_NEED_RESCHED 2 /* rescheduling necessary */
126#define TIF_SINGLESTEP 3 /* restore singlestep on return to
127 user mode */
128#define TIF_IRET 4 /* return with iret */
129#define TIF_SYSCALL_EMU 5 /* syscall emulation active */
130#define TIF_SYSCALL_AUDIT 6 /* syscall auditing active */
131#define TIF_SECCOMP 7 /* secure computing */
132#define TIF_RESTORE_SIGMASK 8 /* restore signal mask in do_signal() */
133#define TIF_HRTICK_RESCHED 9 /* reprogram hrtick timer */
134#define TIF_MEMDIE 16
135#define TIF_DEBUG 17 /* uses debug registers */
136#define TIF_IO_BITMAP 18 /* uses I/O bitmap */
137#define TIF_FREEZE 19 /* is freezing for suspend */
138#define TIF_NOTSC 20 /* TSC is not accessible in userland */
139#define TIF_FORCED_TF 21 /* true if TF in eflags artificially */
140#define TIF_DEBUGCTLMSR 22 /* uses thread_struct.debugctlmsr */
141#define TIF_DS_AREA_MSR 23 /* uses thread_struct.ds_area_msr */
142#define TIF_BTS_TRACE_TS 24 /* record scheduling event timestamps */
143
144#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
145#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
146#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
147#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
148#define _TIF_IRET (1 << TIF_IRET)
149#define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU)
150#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
151#define _TIF_SECCOMP (1 << TIF_SECCOMP)
152#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
153#define _TIF_HRTICK_RESCHED (1 << TIF_HRTICK_RESCHED)
154#define _TIF_DEBUG (1 << TIF_DEBUG)
155#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
156#define _TIF_FREEZE (1 << TIF_FREEZE)
157#define _TIF_NOTSC (1 << TIF_NOTSC)
158#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
159#define _TIF_DEBUGCTLMSR (1 << TIF_DEBUGCTLMSR)
160#define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR)
161#define _TIF_BTS_TRACE_TS (1 << TIF_BTS_TRACE_TS)
162
163/* work to do on interrupt/exception return */ 177/* work to do on interrupt/exception return */
164#define _TIF_WORK_MASK \ 178#define _TIF_WORK_MASK \
165 (0x0000FFFF & ~(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ 179 (0x0000FFFF & ~(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
@@ -217,60 +231,6 @@ static inline struct thread_info *stack_thread_info(void)
217 231
218#endif 232#endif
219 233
220/*
221 * thread information flags
222 * - these are process state flags that various assembly files
223 * may need to access
224 * - pending work-to-be-done flags are in LSW
225 * - other flags in MSW
226 * Warning: layout of LSW is hardcoded in entry.S
227 */
228#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
229#define TIF_SIGPENDING 2 /* signal pending */
230#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
231#define TIF_SINGLESTEP 4 /* reenable singlestep on user return*/
232#define TIF_IRET 5 /* force IRET */
233#define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */
234#define TIF_SECCOMP 8 /* secure computing */
235#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal */
236#define TIF_MCE_NOTIFY 10 /* notify userspace of an MCE */
237#define TIF_HRTICK_RESCHED 11 /* reprogram hrtick timer */
238/* 16 free */
239#define TIF_IA32 17 /* 32bit process */
240#define TIF_FORK 18 /* ret_from_fork */
241#define TIF_ABI_PENDING 19
242#define TIF_MEMDIE 20
243#define TIF_DEBUG 21 /* uses debug registers */
244#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
245#define TIF_FREEZE 23 /* is freezing for suspend */
246#define TIF_FORCED_TF 24 /* true if TF in eflags artificially */
247#define TIF_DEBUGCTLMSR 25 /* uses thread_struct.debugctlmsr */
248#define TIF_DS_AREA_MSR 26 /* uses thread_struct.ds_area_msr */
249#define TIF_BTS_TRACE_TS 27 /* record scheduling event timestamps */
250#define TIF_NOTSC 28 /* TSC is not accessible in userland */
251
252#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
253#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
254#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
255#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
256#define _TIF_IRET (1 << TIF_IRET)
257#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
258#define _TIF_SECCOMP (1 << TIF_SECCOMP)
259#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
260#define _TIF_MCE_NOTIFY (1 << TIF_MCE_NOTIFY)
261#define _TIF_HRTICK_RESCHED (1 << TIF_HRTICK_RESCHED)
262#define _TIF_IA32 (1 << TIF_IA32)
263#define _TIF_FORK (1 << TIF_FORK)
264#define _TIF_ABI_PENDING (1 << TIF_ABI_PENDING)
265#define _TIF_DEBUG (1 << TIF_DEBUG)
266#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
267#define _TIF_FREEZE (1 << TIF_FREEZE)
268#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
269#define _TIF_DEBUGCTLMSR (1 << TIF_DEBUGCTLMSR)
270#define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR)
271#define _TIF_BTS_TRACE_TS (1 << TIF_BTS_TRACE_TS)
272#define _TIF_NOTSC (1 << TIF_NOTSC)
273
274/* work to do on interrupt/exception return */ 234/* work to do on interrupt/exception return */
275#define _TIF_WORK_MASK \ 235#define _TIF_WORK_MASK \
276 (0x0000FFFF & \ 236 (0x0000FFFF & \