diff options
Diffstat (limited to 'include/asm-x86/thread_info.h')
-rw-r--r-- | include/asm-x86/thread_info.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/include/asm-x86/thread_info.h b/include/asm-x86/thread_info.h index 895339d2bc0b..da0a675adf94 100644 --- a/include/asm-x86/thread_info.h +++ b/include/asm-x86/thread_info.h | |||
@@ -75,13 +75,10 @@ struct thread_info { | |||
75 | #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ | 75 | #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ |
76 | #define TIF_SINGLESTEP 4 /* reenable singlestep on user return*/ | 76 | #define TIF_SINGLESTEP 4 /* reenable singlestep on user return*/ |
77 | #define TIF_IRET 5 /* force IRET */ | 77 | #define TIF_IRET 5 /* force IRET */ |
78 | #ifdef CONFIG_X86_32 | ||
79 | #define TIF_SYSCALL_EMU 6 /* syscall emulation active */ | 78 | #define TIF_SYSCALL_EMU 6 /* syscall emulation active */ |
80 | #endif | ||
81 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ | 79 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ |
82 | #define TIF_SECCOMP 8 /* secure computing */ | 80 | #define TIF_SECCOMP 8 /* secure computing */ |
83 | #define TIF_MCE_NOTIFY 10 /* notify userspace of an MCE */ | 81 | #define TIF_MCE_NOTIFY 10 /* notify userspace of an MCE */ |
84 | #define TIF_HRTICK_RESCHED 11 /* reprogram hrtick timer */ | ||
85 | #define TIF_NOTSC 16 /* TSC is not accessible in userland */ | 82 | #define TIF_NOTSC 16 /* TSC is not accessible in userland */ |
86 | #define TIF_IA32 17 /* 32bit process */ | 83 | #define TIF_IA32 17 /* 32bit process */ |
87 | #define TIF_FORK 18 /* ret_from_fork */ | 84 | #define TIF_FORK 18 /* ret_from_fork */ |
@@ -100,15 +97,10 @@ struct thread_info { | |||
100 | #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) | 97 | #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) |
101 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) | 98 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) |
102 | #define _TIF_IRET (1 << TIF_IRET) | 99 | #define _TIF_IRET (1 << TIF_IRET) |
103 | #ifdef CONFIG_X86_32 | ||
104 | #define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU) | 100 | #define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU) |
105 | #else | ||
106 | #define _TIF_SYSCALL_EMU 0 | ||
107 | #endif | ||
108 | #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) | 101 | #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) |
109 | #define _TIF_SECCOMP (1 << TIF_SECCOMP) | 102 | #define _TIF_SECCOMP (1 << TIF_SECCOMP) |
110 | #define _TIF_MCE_NOTIFY (1 << TIF_MCE_NOTIFY) | 103 | #define _TIF_MCE_NOTIFY (1 << TIF_MCE_NOTIFY) |
111 | #define _TIF_HRTICK_RESCHED (1 << TIF_HRTICK_RESCHED) | ||
112 | #define _TIF_NOTSC (1 << TIF_NOTSC) | 104 | #define _TIF_NOTSC (1 << TIF_NOTSC) |
113 | #define _TIF_IA32 (1 << TIF_IA32) | 105 | #define _TIF_IA32 (1 << TIF_IA32) |
114 | #define _TIF_FORK (1 << TIF_FORK) | 106 | #define _TIF_FORK (1 << TIF_FORK) |
@@ -121,18 +113,27 @@ struct thread_info { | |||
121 | #define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR) | 113 | #define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR) |
122 | #define _TIF_BTS_TRACE_TS (1 << TIF_BTS_TRACE_TS) | 114 | #define _TIF_BTS_TRACE_TS (1 << TIF_BTS_TRACE_TS) |
123 | 115 | ||
116 | /* work to do in syscall_trace_enter() */ | ||
117 | #define _TIF_WORK_SYSCALL_ENTRY \ | ||
118 | (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_EMU | \ | ||
119 | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | _TIF_SINGLESTEP) | ||
120 | |||
121 | /* work to do in syscall_trace_leave() */ | ||
122 | #define _TIF_WORK_SYSCALL_EXIT \ | ||
123 | (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SINGLESTEP) | ||
124 | |||
124 | /* work to do on interrupt/exception return */ | 125 | /* work to do on interrupt/exception return */ |
125 | #define _TIF_WORK_MASK \ | 126 | #define _TIF_WORK_MASK \ |
126 | (0x0000FFFF & \ | 127 | (0x0000FFFF & \ |
127 | ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP| \ | 128 | ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT| \ |
128 | _TIF_SECCOMP|_TIF_SYSCALL_EMU)) | 129 | _TIF_SINGLESTEP|_TIF_SECCOMP|_TIF_SYSCALL_EMU)) |
129 | 130 | ||
130 | /* work to do on any return to user space */ | 131 | /* work to do on any return to user space */ |
131 | #define _TIF_ALLWORK_MASK (0x0000FFFF & ~_TIF_SECCOMP) | 132 | #define _TIF_ALLWORK_MASK (0x0000FFFF & ~_TIF_SECCOMP) |
132 | 133 | ||
133 | /* Only used for 64 bit */ | 134 | /* Only used for 64 bit */ |
134 | #define _TIF_DO_NOTIFY_MASK \ | 135 | #define _TIF_DO_NOTIFY_MASK \ |
135 | (_TIF_SIGPENDING|_TIF_SINGLESTEP|_TIF_MCE_NOTIFY|_TIF_HRTICK_RESCHED) | 136 | (_TIF_SIGPENDING|_TIF_MCE_NOTIFY) |
136 | 137 | ||
137 | /* flags to check in __switch_to() */ | 138 | /* flags to check in __switch_to() */ |
138 | #define _TIF_WORK_CTXSW \ | 139 | #define _TIF_WORK_CTXSW \ |
@@ -151,6 +152,8 @@ struct thread_info { | |||
151 | #define THREAD_FLAGS GFP_KERNEL | 152 | #define THREAD_FLAGS GFP_KERNEL |
152 | #endif | 153 | #endif |
153 | 154 | ||
155 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR | ||
156 | |||
154 | #define alloc_thread_info(tsk) \ | 157 | #define alloc_thread_info(tsk) \ |
155 | ((struct thread_info *)__get_free_pages(THREAD_FLAGS, THREAD_ORDER)) | 158 | ((struct thread_info *)__get_free_pages(THREAD_FLAGS, THREAD_ORDER)) |
156 | 159 | ||