sh64: Provide EXPEVT helper.
authorPaul Mundt <lethal@linux-sh.org>
Mon, 14 May 2012 04:04:08 +0000 (13:04 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 14 May 2012 04:04:08 +0000 (13:04 +0900)
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>
arch/sh/include/asm/traps_64.h

index c52d7f9..ef5eff9 100644 (file)
 #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();