Blame view
arch/cris/include/asm/thread_info.h
3.11 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
/* thread_info.h: CRIS low-level thread information * * Copyright (C) 2002 David Howells (dhowells@redhat.com) * - Incorporating suggestions made by Linus Torvalds and Dave Miller * * CRIS port by Axis Communications */ #ifndef _ASM_THREAD_INFO_H #define _ASM_THREAD_INFO_H #ifdef __KERNEL__ #ifndef __ASSEMBLY__ #include <asm/types.h> #include <asm/processor.h> |
556dcee7b [CRIS] Move heade... |
17 |
#include <arch/thread_info.h> |
1da177e4c Linux-2.6.12-rc2 |
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <asm/segment.h> #endif /* * low level task data that entry.S needs immediate access to * - this struct should fit entirely inside of one cache line * - this struct shares the supervisor stack pages * - if the contents of this structure are changed, the assembly constants must also be changed */ #ifndef __ASSEMBLY__ struct thread_info { struct task_struct *task; /* main task structure */ struct exec_domain *exec_domain; /* execution domain */ unsigned long flags; /* low level flags */ __u32 cpu; /* current CPU */ |
dcd497f99 [PATCH] streamlin... |
34 |
int preempt_count; /* 0 => preemptable, <0 => BUG */ |
7b275523a cris build fixes:... |
35 |
__u32 tls; /* TLS for this thread */ |
1da177e4c Linux-2.6.12-rc2 |
36 37 38 39 40 41 42 43 44 45 |
mm_segment_t addr_limit; /* thread address space: 0-0xBFFFFFFF for user-thead 0-0xFFFFFFFF for kernel-thread */ struct restart_block restart_block; __u8 supervisor_stack[0]; }; #endif |
5d01e6ce7 [PATCH] CRIS upda... |
46 |
#define PREEMPT_ACTIVE 0x10000000 |
1da177e4c Linux-2.6.12-rc2 |
47 48 49 |
/* * macros/functions for gaining access to the thread information structure |
1da177e4c Linux-2.6.12-rc2 |
50 51 52 53 54 55 56 57 |
*/ #ifndef __ASSEMBLY__ #define INIT_THREAD_INFO(tsk) \ { \ .task = &tsk, \ .exec_domain = &default_exec_domain, \ .flags = 0, \ .cpu = 0, \ |
c99e6efe1 sched: INIT_PREEM... |
58 |
.preempt_count = INIT_PREEMPT_COUNT, \ |
1da177e4c Linux-2.6.12-rc2 |
59 60 61 62 63 64 65 |
.addr_limit = KERNEL_DS, \ .restart_block = { \ .fn = do_no_restart_syscall, \ }, \ } #define init_thread_info (init_thread_union.thread_info) |
d4969213f cris: fix a build... |
66 |
#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR |
1da177e4c Linux-2.6.12-rc2 |
67 |
/* thread information allocation */ |
d4969213f cris: fix a build... |
68 69 |
#define alloc_thread_info_node(tsk, node) \ ((struct thread_info *) __get_free_pages(GFP_KERNEL, 1)) |
1da177e4c Linux-2.6.12-rc2 |
70 |
#define free_thread_info(ti) free_pages((unsigned long) (ti), 1) |
1da177e4c Linux-2.6.12-rc2 |
71 72 73 74 75 76 77 78 79 80 |
#endif /* !__ASSEMBLY__ */ /* * thread information flags * - these are process state flags that various assembly files may need to access * - pending work-to-be-done flags are in LSW * - other flags in MSW */ #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ |
7b275523a cris build fixes:... |
81 82 83 84 |
#define TIF_NOTIFY_RESUME 1 /* resumption notification requested */ #define TIF_SIGPENDING 2 /* signal pending */ #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */ |
1da177e4c Linux-2.6.12-rc2 |
85 |
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ |
0ddc9324b add descriptive c... |
86 |
#define TIF_MEMDIE 17 /* is terminating due to OOM killer */ |
1da177e4c Linux-2.6.12-rc2 |
87 88 |
#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) |
7b275523a cris build fixes:... |
89 |
#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) |
1da177e4c Linux-2.6.12-rc2 |
90 91 |
#define _TIF_SIGPENDING (1<<TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
7b275523a cris build fixes:... |
92 |
#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) |
1da177e4c Linux-2.6.12-rc2 |
93 94 95 96 97 98 99 100 |
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) #define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ #define _TIF_ALLWORK_MASK 0x0000FFFF /* work to do on any return to u-space */ #endif /* __KERNEL__ */ #endif /* _ASM_THREAD_INFO_H */ |