aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-cris
diff options
context:
space:
mode:
authorJesper Nilsson <jesper.nilsson@axis.com>2007-11-14 20:00:59 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 21:45:45 -0500
commit7b275523aba522aa76891861ee32ba2456e5f146 (patch)
tree6b5fa5c7916af2d91b81ca1eec3352a63eabe3ab /include/asm-cris
parent633edf5a4fff0675851e377cc5f0c9072683a5f4 (diff)
cris build fixes: corrected and improved NMI and IRQ handling
Corrects compile errors and the following: - Remove oldset parameter from do_signal and do_notify_resume. - Modified to fit new consolidated IRQ handling code. - Reverse check order between external nmi and watchdog nmi to avoid false watchdog oops in case of a glitch on the nmi pin. - Return from an pin-generated NMI the same way as for other interrupts. - Moved blocking of ethernet rx/tx irq from ethernet interrupt handler to low-level asm interrupt handlers. Fixed in the multiple interrupt handler also. - Add space for thread local storage in thread_info struct. - Add NO_DMA to Kconfig, and include arch specific Kconfig using arch independent path. Include subsystem Kconfigs for pcmcia, usb, i2c, rtc and pci. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com> Acked-by: Mikael Starvik <starvik@axis.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-cris')
-rw-r--r--include/asm-cris/thread_info.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/asm-cris/thread_info.h b/include/asm-cris/thread_info.h
index fde39f6c49c7..784668ab0fa2 100644
--- a/include/asm-cris/thread_info.h
+++ b/include/asm-cris/thread_info.h
@@ -32,6 +32,7 @@ struct thread_info {
32 unsigned long flags; /* low level flags */ 32 unsigned long flags; /* low level flags */
33 __u32 cpu; /* current CPU */ 33 __u32 cpu; /* current CPU */
34 int preempt_count; /* 0 => preemptable, <0 => BUG */ 34 int preempt_count; /* 0 => preemptable, <0 => BUG */
35 __u32 tls; /* TLS for this thread */
35 36
36 mm_segment_t addr_limit; /* thread address space: 37 mm_segment_t addr_limit; /* thread address space:
37 0-0xBFFFFFFF for user-thead 38 0-0xBFFFFFFF for user-thead
@@ -79,14 +80,18 @@ struct thread_info {
79 * - other flags in MSW 80 * - other flags in MSW
80 */ 81 */
81#define TIF_SYSCALL_TRACE 0 /* syscall trace active */ 82#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
82#define TIF_SIGPENDING 1 /* signal pending */ 83#define TIF_NOTIFY_RESUME 1 /* resumption notification requested */
83#define TIF_NEED_RESCHED 2 /* rescheduling necessary */ 84#define TIF_SIGPENDING 2 /* signal pending */
85#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
86#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */
84#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ 87#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */
85#define TIF_MEMDIE 17 88#define TIF_MEMDIE 17
86 89
87#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) 90#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
91#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
88#define _TIF_SIGPENDING (1<<TIF_SIGPENDING) 92#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
89#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) 93#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
94#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
90#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) 95#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
91 96
92#define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ 97#define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */