| .. | .. |
|---|
| 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) |
|---|