summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-05-14 04:04:08 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2012-05-14 04:04:08 (GMT)
commitf007688a50cf5724049a4a5f17023fcdb0966b54 (patch)
treeea073ce3675a1ebd56699381f5cac75d263abf88 /arch/sh
parentdbdb4e9f3fd4914caba6f102e62eef23920ab1f4 (diff)
downloadlinux-f007688a50cf5724049a4a5f17023fcdb0966b54.tar.xz
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')
-rw-r--r--arch/sh/include/asm/traps_64.h14
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 c52d7f9..ef5eff9 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();