Go to the documentation of this file.
12 #ifndef _ASM_THREAD_INFO_H
13 #define _ASM_THREAD_INFO_H
19 #define PREEMPT_ACTIVE 0x10000000
21 #ifdef CONFIG_4KSTACKS
22 #define THREAD_SIZE (4096)
23 #define THREAD_SIZE_ORDER (0)
25 #define THREAD_SIZE (8192)
26 #define THREAD_SIZE_ORDER (1)
29 #define STACK_WARN (THREAD_SIZE / 8)
60 #define thread_info_to_uregs(ti) \
62 ((unsigned long)ti + THREAD_SIZE - sizeof(struct pt_regs)))
66 #ifndef __ASM_OFFSETS_H__
67 #include <asm/asm-offsets.h>
77 #define INIT_THREAD_INFO(tsk) \
80 .exec_domain = &default_exec_domain, \
83 .preempt_count = INIT_PREEMPT_COUNT, \
84 .addr_limit = KERNEL_DS, \
86 .fn = do_no_restart_syscall, \
90 #define init_thread_info (init_thread_union.thread_info)
91 #define init_stack (init_thread_union.stack)
94 ((unsigned long) init_stack + THREAD_SIZE - sizeof(struct pt_regs)))
118 static inline unsigned long current_stack_pointer(
void)
121 asm(
"mov sp,%0; ":
"=r" (
sp));
128 #define get_thread_info(ti) get_task_struct((ti)->task)
129 #define put_thread_info(ti) put_task_struct((ti)->task)
133 #ifndef __VMLINUX_LDS__
135 .macro GET_THREAD_INFO
reg
149 #define TIF_SYSCALL_TRACE 0
150 #define TIF_NOTIFY_RESUME 1
151 #define TIF_SIGPENDING 2
152 #define TIF_NEED_RESCHED 3
153 #define TIF_SINGLESTEP 4
154 #define TIF_RESTORE_SIGMASK 5
155 #define TIF_POLLING_NRFLAG 16
156 #define TIF_MEMDIE 17
158 #define _TIF_SYSCALL_TRACE +(1 << TIF_SYSCALL_TRACE)
159 #define _TIF_NOTIFY_RESUME +(1 << TIF_NOTIFY_RESUME)
160 #define _TIF_SIGPENDING +(1 << TIF_SIGPENDING)
161 #define _TIF_NEED_RESCHED +(1 << TIF_NEED_RESCHED)
162 #define _TIF_SINGLESTEP +(1 << TIF_SINGLESTEP)
163 #define _TIF_POLLING_NRFLAG +(1 << TIF_POLLING_NRFLAG)
165 #define _TIF_WORK_MASK 0x0000FFFE
166 #define _TIF_ALLWORK_MASK 0x0000FFFF
168 #define tsk_is_polling(t) test_tsk_thread_flag(t, TIF_POLLING_NRFLAG)