diff options
author | Jesper Nilsson <jesper.nilsson@axis.com> | 2007-11-14 20:00:59 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-14 21:45:45 -0500 |
commit | 7b275523aba522aa76891861ee32ba2456e5f146 (patch) | |
tree | 6b5fa5c7916af2d91b81ca1eec3352a63eabe3ab /include/asm-cris/thread_info.h | |
parent | 633edf5a4fff0675851e377cc5f0c9072683a5f4 (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/thread_info.h')
-rw-r--r-- | include/asm-cris/thread_info.h | 9 |
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 */ |