diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-14 06:04:08 +0200 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-05-14 06:04:08 +0200 |
commit | f007688a50cf5724049a4a5f17023fcdb0966b54 (patch) | |
tree | ea073ce3675a1ebd56699381f5cac75d263abf88 /arch/sh/include/asm/traps_64.h | |
parent | sh: Tidy up and generalize page fault error paths. (diff) | |
download | linux-f007688a50cf5724049a4a5f17023fcdb0966b54.tar.xz linux-f007688a50cf5724049a4a5f17023fcdb0966b54.zip |
sh64: Provide EXPEVT helper.
We need a lookup_exception_vector() helper for sh64 in order to use the
common page fault code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/traps_64.h')
-rw-r--r-- | arch/sh/include/asm/traps_64.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/sh/include/asm/traps_64.h b/arch/sh/include/asm/traps_64.h index c52d7f9a06c1..ef5eff919449 100644 --- a/arch/sh/include/asm/traps_64.h +++ b/arch/sh/include/asm/traps_64.h @@ -10,8 +10,22 @@ #ifndef __ASM_SH_TRAPS_64_H #define __ASM_SH_TRAPS_64_H +#include <cpu/registers.h> + extern void phys_stext(void); +#define lookup_exception_vector() \ +({ \ + unsigned long _vec; \ + \ + __asm__ __volatile__ ( \ + "getcon " __EXPEVT ", %0\n\t" \ + : "=r" (_vec) \ + ); \ + \ + _vec; \ +}) + static inline void trigger_address_error(void) { phys_stext(); |