diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-14 13:04:08 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-05-14 13:04:08 +0900 |
commit | f007688a50cf5724049a4a5f17023fcdb0966b54 (patch) | |
tree | ea073ce3675a1ebd56699381f5cac75d263abf88 /arch | |
parent | dbdb4e9f3fd4914caba6f102e62eef23920ab1f4 (diff) |
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')
-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 c52d7f9a06c..ef5eff91944 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(); |