Go to the documentation of this file.
10 #ifndef __ASM_ARM_THREAD_INFO_H
11 #define __ASM_ARM_THREAD_INFO_H
15 #include <linux/compiler.h>
16 #include <asm/fpstate.h>
18 #define THREAD_SIZE_ORDER 1
19 #define THREAD_SIZE 8192
20 #define THREAD_START_SP (THREAD_SIZE - 8)
27 #include <asm/types.h>
32 struct cpu_context_save {
67 #ifdef CONFIG_ARM_THUMBEE
68 unsigned long thumbee_state;
73 #define INIT_THREAD_INFO(tsk) \
76 .exec_domain = &default_exec_domain, \
78 .preempt_count = INIT_PREEMPT_COUNT, \
79 .addr_limit = KERNEL_DS, \
80 .cpu_domain = domain_val(DOMAIN_USER, DOMAIN_MANAGER) | \
81 domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
82 domain_val(DOMAIN_IO, DOMAIN_CLIENT), \
84 .fn = do_no_restart_syscall, \
88 #define init_thread_info (init_thread_union.thread_info)
89 #define init_stack (init_thread_union.stack)
98 register unsigned long sp asm (
"sp");
102 #define thread_saved_pc(tsk) \
103 ((unsigned long)(task_thread_info(tsk)->cpu_context.pc))
104 #define thread_saved_sp(tsk) \
105 ((unsigned long)(task_thread_info(tsk)->cpu_context.sp))
106 #define thread_saved_fp(tsk) \
107 ((unsigned long)(task_thread_info(tsk)->cpu_context.fp))
109 extern void crunch_task_disable(
struct thread_info *);
110 extern void crunch_task_copy(
struct thread_info *,
void *);
111 extern void crunch_task_restore(
struct thread_info *,
void *);
114 extern void iwmmxt_task_disable(
struct thread_info *);
115 extern void iwmmxt_task_copy(
struct thread_info *,
void *);
116 extern void iwmmxt_task_restore(
struct thread_info *,
void *);
117 extern void iwmmxt_task_release(
struct thread_info *);
118 extern void iwmmxt_task_switch(
struct thread_info *);
136 #define PREEMPT_ACTIVE 0x40000000
148 #define TIF_SIGPENDING 0
149 #define TIF_NEED_RESCHED 1
150 #define TIF_NOTIFY_RESUME 2
151 #define TIF_SYSCALL_TRACE 8
152 #define TIF_SYSCALL_AUDIT 9
153 #define TIF_SYSCALL_TRACEPOINT 10
154 #define TIF_USING_IWMMXT 17
155 #define TIF_MEMDIE 18
156 #define TIF_RESTORE_SIGMASK 20
157 #define TIF_SECCOMP 21
158 #define TIF_SWITCH_MM 22
160 #define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
161 #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
162 #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
163 #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
164 #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
165 #define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT)
166 #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT)
167 #define _TIF_SECCOMP (1 << TIF_SECCOMP)
170 #define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SYSCALL_TRACEPOINT)
175 #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | _TIF_NOTIFY_RESUME)