.. | .. |
---|
11 | 11 | #ifndef _XTENSA_THREAD_INFO_H |
---|
12 | 12 | #define _XTENSA_THREAD_INFO_H |
---|
13 | 13 | |
---|
| 14 | +#include <linux/stringify.h> |
---|
14 | 15 | #include <asm/kmem_layout.h> |
---|
15 | 16 | |
---|
16 | 17 | #define CURRENT_SHIFT KERNEL_STACK_SHIFT |
---|
.. | .. |
---|
54 | 55 | mm_segment_t addr_limit; /* thread address space */ |
---|
55 | 56 | |
---|
56 | 57 | unsigned long cpenable; |
---|
| 58 | +#if XCHAL_HAVE_EXCLUSIVE |
---|
| 59 | + /* result of the most recent exclusive store */ |
---|
| 60 | + unsigned long atomctl8; |
---|
| 61 | +#endif |
---|
57 | 62 | |
---|
58 | 63 | /* Allocate storage for extra user states and coprocessor states. */ |
---|
59 | 64 | #if XTENSA_HAVE_COPROCESSORS |
---|
.. | .. |
---|
100 | 105 | /* |
---|
101 | 106 | * thread information flags |
---|
102 | 107 | * - these are process state flags that various assembly files may need to access |
---|
103 | | - * - pending work-to-be-done flags are in LSW |
---|
104 | | - * - other flags in MSW |
---|
105 | 108 | */ |
---|
106 | 109 | #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ |
---|
107 | 110 | #define TIF_SIGPENDING 1 /* signal pending */ |
---|
108 | 111 | #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ |
---|
109 | 112 | #define TIF_SINGLESTEP 3 /* restore singlestep on return to user mode */ |
---|
110 | | -#define TIF_MEMDIE 5 /* is terminating due to OOM killer */ |
---|
| 113 | +#define TIF_SYSCALL_TRACEPOINT 4 /* syscall tracepoint instrumentation */ |
---|
| 114 | +#define TIF_NOTIFY_SIGNAL 5 /* signal notifications exist */ |
---|
111 | 115 | #define TIF_RESTORE_SIGMASK 6 /* restore signal mask in do_signal() */ |
---|
112 | 116 | #define TIF_NOTIFY_RESUME 7 /* callback before returning to user */ |
---|
113 | 117 | #define TIF_DB_DISABLED 8 /* debug trap disabled for syscall */ |
---|
| 118 | +#define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */ |
---|
| 119 | +#define TIF_SECCOMP 10 /* secure computing */ |
---|
| 120 | +#define TIF_MEMDIE 11 /* is terminating due to OOM killer */ |
---|
114 | 121 | |
---|
115 | 122 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) |
---|
116 | 123 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) |
---|
117 | 124 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
---|
118 | 125 | #define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP) |
---|
| 126 | +#define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) |
---|
| 127 | +#define _TIF_NOTIFY_SIGNAL (1<<TIF_NOTIFY_SIGNAL) |
---|
| 128 | +#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) |
---|
| 129 | +#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) |
---|
| 130 | +#define _TIF_SECCOMP (1<<TIF_SECCOMP) |
---|
119 | 131 | |
---|
120 | | -#define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ |
---|
121 | | -#define _TIF_ALLWORK_MASK 0x0000FFFF /* work to do on any return to u-space */ |
---|
122 | | - |
---|
123 | | -/* |
---|
124 | | - * Thread-synchronous status. |
---|
125 | | - * |
---|
126 | | - * This is different from the flags in that nobody else |
---|
127 | | - * ever touches our thread-synchronous status, so we don't |
---|
128 | | - * have to worry about atomic accesses. |
---|
129 | | - */ |
---|
130 | | -#define TS_USEDFPU 0x0001 /* FPU was used by this task this quantum (SMP) */ |
---|
| 132 | +#define _TIF_WORK_MASK (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP | \ |
---|
| 133 | + _TIF_SYSCALL_TRACEPOINT | \ |
---|
| 134 | + _TIF_SYSCALL_AUDIT | _TIF_SECCOMP) |
---|
131 | 135 | |
---|
132 | 136 | #define THREAD_SIZE KERNEL_STACK_SIZE |
---|
133 | 137 | #define THREAD_SIZE_ORDER (KERNEL_STACK_SHIFT - PAGE_SHIFT) |
---|