diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-10-19 03:20:25 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-10-19 03:30:32 -0400 |
commit | 1f666587dbf6bc660b23d8dd8abb6c572ce3eae5 (patch) | |
tree | 5fe9fc801e01a2feed7d1b7e65cafe6d4f23df84 /include/asm-sh/system.h | |
parent | 082c44d20eb4c6c4aa60ae7429ea184854cb0610 (diff) |
sh: Fix exception_handling_table alignment.
With the recent change ripping out interrupt_table, explicit
padding of the table was missing, causing bad things to happen
when manually inserting handlers in to the table. This problem
particularly showed up in relation to do_fpu_state_restore()
which was inserted quite deeply in to the table and ended up
scribbling over a slab object.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/system.h')
-rw-r--r-- | include/asm-sh/system.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index 6c1f8fde5ac4..3340126f4e0f 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h | |||
@@ -353,6 +353,13 @@ static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old, | |||
353 | (unsigned long)_n_, sizeof(*(ptr))); \ | 353 | (unsigned long)_n_, sizeof(*(ptr))); \ |
354 | }) | 354 | }) |
355 | 355 | ||
356 | extern void *set_exception_table_vec(unsigned int vec, void *handler); | ||
357 | |||
358 | static inline void *set_exception_table_evt(unsigned int evt, void *handler) | ||
359 | { | ||
360 | return set_exception_table_vec(evt >> 5, handler); | ||
361 | } | ||
362 | |||
356 | /* XXX | 363 | /* XXX |
357 | * disable hlt during certain critical i/o operations | 364 | * disable hlt during certain critical i/o operations |
358 | */ | 365 | */ |