diff options
Diffstat (limited to 'include/asm-avr32/thread_info.h')
-rw-r--r-- | include/asm-avr32/thread_info.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/include/asm-avr32/thread_info.h b/include/asm-avr32/thread_info.h index 17dacf3f36d3..07049f6c0d41 100644 --- a/include/asm-avr32/thread_info.h +++ b/include/asm-avr32/thread_info.h | |||
@@ -25,6 +25,11 @@ struct thread_info { | |||
25 | unsigned long flags; /* low level flags */ | 25 | unsigned long flags; /* low level flags */ |
26 | __u32 cpu; | 26 | __u32 cpu; |
27 | __s32 preempt_count; /* 0 => preemptable, <0 => BUG */ | 27 | __s32 preempt_count; /* 0 => preemptable, <0 => BUG */ |
28 | __u32 rar_saved; /* return address... */ | ||
29 | __u32 rsr_saved; /* ...and status register | ||
30 | saved by debug handler | ||
31 | when setting up | ||
32 | trampoline */ | ||
28 | struct restart_block restart_block; | 33 | struct restart_block restart_block; |
29 | __u8 supervisor_stack[0]; | 34 | __u8 supervisor_stack[0]; |
30 | }; | 35 | }; |
@@ -78,29 +83,36 @@ static inline struct thread_info *current_thread_info(void) | |||
78 | #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ | 83 | #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ |
79 | #define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling | 84 | #define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling |
80 | TIF_NEED_RESCHED */ | 85 | TIF_NEED_RESCHED */ |
81 | #define TIF_BREAKPOINT 4 /* true if we should break after return */ | 86 | #define TIF_BREAKPOINT 4 /* enter monitor mode on return */ |
82 | #define TIF_SINGLE_STEP 5 /* single step after next break */ | 87 | #define TIF_SINGLE_STEP 5 /* single step in progress */ |
83 | #define TIF_MEMDIE 6 | 88 | #define TIF_MEMDIE 6 |
84 | #define TIF_RESTORE_SIGMASK 7 /* restore signal mask in do_signal */ | 89 | #define TIF_RESTORE_SIGMASK 7 /* restore signal mask in do_signal */ |
85 | #define TIF_CPU_GOING_TO_SLEEP 8 /* CPU is entering sleep 0 mode */ | 90 | #define TIF_CPU_GOING_TO_SLEEP 8 /* CPU is entering sleep 0 mode */ |
91 | #define TIF_DEBUG 30 /* debugging enabled */ | ||
86 | #define TIF_USERSPACE 31 /* true if FS sets userspace */ | 92 | #define TIF_USERSPACE 31 /* true if FS sets userspace */ |
87 | 93 | ||
88 | #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) | 94 | #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) |
89 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) | 95 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) |
90 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) | 96 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) |
91 | #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) | 97 | #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) |
92 | #define _TIF_BREAKPOINT (1 << TIF_BREAKPOINT) | ||
93 | #define _TIF_SINGLE_STEP (1 << TIF_SINGLE_STEP) | 98 | #define _TIF_SINGLE_STEP (1 << TIF_SINGLE_STEP) |
94 | #define _TIF_MEMDIE (1 << TIF_MEMDIE) | 99 | #define _TIF_MEMDIE (1 << TIF_MEMDIE) |
95 | #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) | 100 | #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) |
96 | #define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP) | 101 | #define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP) |
97 | 102 | ||
98 | /* XXX: These two masks must never span more than 16 bits! */ | 103 | /* Note: The masks below must never span more than 16 bits! */ |
104 | |||
99 | /* work to do on interrupt/exception return */ | 105 | /* work to do on interrupt/exception return */ |
100 | #define _TIF_WORK_MASK 0x0000013e | 106 | #define _TIF_WORK_MASK \ |
107 | ((1 << TIF_SIGPENDING) \ | ||
108 | | (1 << TIF_NEED_RESCHED) \ | ||
109 | | (1 << TIF_POLLING_NRFLAG) \ | ||
110 | | (1 << TIF_BREAKPOINT) \ | ||
111 | | (1 << TIF_RESTORE_SIGMASK)) | ||
112 | |||
101 | /* work to do on any return to userspace */ | 113 | /* work to do on any return to userspace */ |
102 | #define _TIF_ALLWORK_MASK 0x0000013f | 114 | #define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | (1 << TIF_SYSCALL_TRACE)) |
103 | /* work to do on return from debug mode */ | 115 | /* work to do on return from debug mode */ |
104 | #define _TIF_DBGWORK_MASK 0x0000017e | 116 | #define _TIF_DBGWORK_MASK (_TIF_WORK_MASK & ~(1 << TIF_BREAKPOINT)) |
105 | 117 | ||
106 | #endif /* __ASM_AVR32_THREAD_INFO_H */ | 118 | #endif /* __ASM_AVR32_THREAD_INFO_H */ |