thread_info_mm.h 1.6 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8
#ifndef _ASM_M68K_THREAD_INFO_H
#define _ASM_M68K_THREAD_INFO_H

#include <asm/types.h>
#include <asm/page.h>

struct thread_info {
	struct task_struct	*task;		/* main task structure */
9
	unsigned long		flags;
L
Linus Torvalds 已提交
10
	struct exec_domain	*exec_domain;	/* execution domain */
11
	int			preempt_count;	/* 0 => preemptable, <0 => BUG */
L
Linus Torvalds 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
	__u32 cpu; /* should always be 0 on m68k */
	struct restart_block    restart_block;
};

#define PREEMPT_ACTIVE		0x4000000

#define INIT_THREAD_INFO(tsk)			\
{						\
	.task		= &tsk,			\
	.exec_domain	= &default_exec_domain,	\
	.restart_block = {			\
		.fn = do_no_restart_syscall,	\
	},					\
}

/* THREAD_SIZE should be 8k, so handle differently for 4k and 8k machines */
28
#define THREAD_SIZE_ORDER (13 - PAGE_SHIFT)
L
Linus Torvalds 已提交
29

30
#define init_thread_info	(init_task.thread.info)
L
Linus Torvalds 已提交
31 32
#define init_stack		(init_thread_union.stack)

33
#define task_thread_info(tsk)	(&(tsk)->thread.info)
R
Roman Zippel 已提交
34
#define task_stack_page(tsk)	((tsk)->stack)
35
#define current_thread_info()	task_thread_info(current)
L
Linus Torvalds 已提交
36 37 38

#define __HAVE_THREAD_FUNCTIONS

39
#define setup_thread_stack(p, org) ({			\
R
Roman Zippel 已提交
40
	*(struct task_struct **)(p)->stack = (p);	\
41 42 43
	task_thread_info(p)->task = (p);		\
})

R
Roman Zippel 已提交
44
#define end_of_stack(p) ((unsigned long *)(p)->stack + 1)
45

46 47 48
/* entry.S relies on these definitions!
 * bits 0-7 are tested at every exception exit
 * bits 8-15 are also tested at syscall exit
L
Linus Torvalds 已提交
49
 */
50 51 52 53 54
#define TIF_SIGPENDING		6	/* signal pending */
#define TIF_NEED_RESCHED	7	/* rescheduling necessary */
#define TIF_DELAYED_TRACE	14	/* single step a syscall */
#define TIF_SYSCALL_TRACE	15	/* syscall trace active */
#define TIF_MEMDIE		16
55
#define TIF_FREEZE		17	/* thread is freezing for suspend */
L
Linus Torvalds 已提交
56 57

#endif	/* _ASM_M68K_THREAD_INFO_H */