aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-avr32
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-11-27 08:10:58 -0500
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-12-07 08:52:32 -0500
commit702f22b306c8357b3ef5012b5a8ce062e1d11b4e (patch)
tree48e488428753698ba003e9ff95f5bf835dbe473e /include/asm-avr32
parentf194d132e4971111f85c18c96067acffb13cee6d (diff)
[AVR32] Add TIF_RESTORE_SIGMASK to the work masks
We really need to check TIF_RESTORE_SIGMASK before returning to userspace. The existing code does not necessarily do this. Define the work masks as a bitwise OR of the respective flags instead of a hardcoded hex value to make it easier to spot errors like this in the future. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'include/asm-avr32')
-rw-r--r--include/asm-avr32/thread_info.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/include/asm-avr32/thread_info.h b/include/asm-avr32/thread_info.h
index 17dacf3f36d3..67e7aae89e1f 100644
--- a/include/asm-avr32/thread_info.h
+++ b/include/asm-avr32/thread_info.h
@@ -95,12 +95,19 @@ static inline struct thread_info *current_thread_info(void)
95#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) 95#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
96#define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP) 96#define _TIF_CPU_GOING_TO_SLEEP (1 << TIF_CPU_GOING_TO_SLEEP)
97 97
98/* XXX: These two masks must never span more than 16 bits! */ 98/* Note: The masks below must never span more than 16 bits! */
99
99/* work to do on interrupt/exception return */ 100/* work to do on interrupt/exception return */
100#define _TIF_WORK_MASK 0x0000013e 101#define _TIF_WORK_MASK \
102 ((1 << TIF_SIGPENDING) \
103 | (1 << TIF_NEED_RESCHED) \
104 | (1 << TIF_POLLING_NRFLAG) \
105 | (1 << TIF_BREAKPOINT) \
106 | (1 << TIF_RESTORE_SIGMASK))
107
101/* work to do on any return to userspace */ 108/* work to do on any return to userspace */
102#define _TIF_ALLWORK_MASK 0x0000013f 109#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | (1 << TIF_SYSCALL_TRACE))
103/* work to do on return from debug mode */ 110/* work to do on return from debug mode */
104#define _TIF_DBGWORK_MASK 0x0000017e 111#define _TIF_DBGWORK_MASK (_TIF_WORK_MASK | (1 << TIF_SINGLE_STEP))
105 112
106#endif /* __ASM_AVR32_THREAD_INFO_H */ 113#endif /* __ASM_AVR32_THREAD_INFO_H */