| .. | .. |
|---|
| 14 | 14 | |
|---|
| 15 | 15 | struct task_struct; |
|---|
| 16 | 16 | |
|---|
| 17 | +#include <dovetail/thread_info.h> |
|---|
| 17 | 18 | #include <asm/memory.h> |
|---|
| 18 | 19 | #include <asm/stack_pointer.h> |
|---|
| 19 | 20 | #include <asm/types.h> |
|---|
| .. | .. |
|---|
| 25 | 26 | */ |
|---|
| 26 | 27 | struct thread_info { |
|---|
| 27 | 28 | unsigned long flags; /* low level flags */ |
|---|
| 29 | + unsigned long local_flags; /* local (synchronous) flags */ |
|---|
| 28 | 30 | mm_segment_t addr_limit; /* address limit */ |
|---|
| 29 | 31 | #ifdef CONFIG_ARM64_SW_TTBR0_PAN |
|---|
| 30 | 32 | u64 ttbr0; /* saved TTBR0_EL1 */ |
|---|
| .. | .. |
|---|
| 45 | 47 | void *scs_base; |
|---|
| 46 | 48 | void *scs_sp; |
|---|
| 47 | 49 | #endif |
|---|
| 50 | + struct oob_thread_state oob_state; |
|---|
| 48 | 51 | }; |
|---|
| 49 | 52 | |
|---|
| 50 | 53 | #define thread_saved_pc(tsk) \ |
|---|
| .. | .. |
|---|
| 59 | 62 | |
|---|
| 60 | 63 | void arch_release_task_struct(struct task_struct *tsk); |
|---|
| 61 | 64 | |
|---|
| 65 | +#define ti_local_flags(__ti) ((__ti)->local_flags) |
|---|
| 66 | + |
|---|
| 62 | 67 | #endif |
|---|
| 63 | 68 | |
|---|
| 64 | 69 | #define TIF_SIGPENDING 0 /* signal pending */ |
|---|
| .. | .. |
|---|
| 69 | 74 | #define TIF_FSCHECK 5 /* Check FS is USER_DS on return */ |
|---|
| 70 | 75 | #define TIF_MTE_ASYNC_FAULT 6 /* MTE Asynchronous Tag Check Fault */ |
|---|
| 71 | 76 | #define TIF_NOTIFY_SIGNAL 7 /* signal notifications exist */ |
|---|
| 72 | | -#define TIF_SYSCALL_TRACE 8 /* syscall trace active */ |
|---|
| 77 | +#define TIF_SYSCALL_TRACE 13 /* syscall trace active */ |
|---|
| 73 | 78 | #define TIF_SYSCALL_AUDIT 9 /* syscall auditing */ |
|---|
| 74 | 79 | #define TIF_SYSCALL_TRACEPOINT 10 /* syscall tracepoint for ftrace */ |
|---|
| 75 | 80 | #define TIF_SECCOMP 11 /* syscall secure computing */ |
|---|
| 76 | 81 | #define TIF_SYSCALL_EMU 12 /* syscall emulation active */ |
|---|
| 82 | +#define TIF_RETUSER 8 /* INBAND_TASK_RETUSER is pending */ |
|---|
| 77 | 83 | #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ |
|---|
| 78 | 84 | #define TIF_FREEZE 19 |
|---|
| 79 | 85 | #define TIF_RESTORE_SIGMASK 20 |
|---|
| .. | .. |
|---|
| 83 | 89 | #define TIF_SVE_VL_INHERIT 24 /* Inherit sve_vl_onexec across exec */ |
|---|
| 84 | 90 | #define TIF_SSBD 25 /* Wants SSB mitigation */ |
|---|
| 85 | 91 | #define TIF_TAGGED_ADDR 26 /* Allow tagged user addresses */ |
|---|
| 92 | +#define TIF_MAYDAY 27 /* Emergency trap pending */ |
|---|
| 86 | 93 | |
|---|
| 87 | 94 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) |
|---|
| 88 | 95 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) |
|---|
| .. | .. |
|---|
| 100 | 107 | #define _TIF_SVE (1 << TIF_SVE) |
|---|
| 101 | 108 | #define _TIF_MTE_ASYNC_FAULT (1 << TIF_MTE_ASYNC_FAULT) |
|---|
| 102 | 109 | #define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL) |
|---|
| 110 | +#define _TIF_MAYDAY (1 << TIF_MAYDAY) |
|---|
| 111 | +#define _TIF_RETUSER (1 << TIF_RETUSER) |
|---|
| 103 | 112 | |
|---|
| 104 | 113 | #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ |
|---|
| 105 | 114 | _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE | \ |
|---|
| 106 | 115 | _TIF_UPROBE | _TIF_FSCHECK | _TIF_MTE_ASYNC_FAULT | \ |
|---|
| 107 | | - _TIF_NOTIFY_SIGNAL) |
|---|
| 116 | + _TIF_NOTIFY_SIGNAL | _TIF_RETUSER) |
|---|
| 108 | 117 | |
|---|
| 109 | 118 | #define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ |
|---|
| 110 | 119 | _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP | \ |
|---|
| .. | .. |
|---|
| 126 | 135 | INIT_SCS \ |
|---|
| 127 | 136 | } |
|---|
| 128 | 137 | |
|---|
| 138 | +/* |
|---|
| 139 | + * Local (synchronous) thread flags. |
|---|
| 140 | + */ |
|---|
| 141 | +#define _TLF_OOB 0x0001 |
|---|
| 142 | +#define _TLF_DOVETAIL 0x0002 |
|---|
| 143 | +#define _TLF_OFFSTAGE 0x0004 |
|---|
| 144 | +#define _TLF_OOBTRAP 0x0008 |
|---|
| 145 | + |
|---|
| 129 | 146 | #endif /* __ASM_THREAD_INFO_H */ |
|---|