Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
traps_64.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000, 2001 Paolo Alberelli
3  * Copyright (C) 2003 Paul Mundt
4  * Copyright (C) 2004 Richard Curnow
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License. See the file "COPYING" in the main directory of this archive
8  * for more details.
9  */
10 #ifndef __ASM_SH_TRAPS_64_H
11 #define __ASM_SH_TRAPS_64_H
12 
13 #include <cpu/registers.h>
14 
15 extern void phys_stext(void);
16 
17 #define lookup_exception_vector() \
18 ({ \
19  unsigned long _vec; \
20  \
21  __asm__ __volatile__ ( \
22  "getcon " __EXPEVT ", %0\n\t" \
23  : "=r" (_vec) \
24  ); \
25  \
26  _vec; \
27 })
28 
29 static inline void trigger_address_error(void)
30 {
31  phys_stext();
32 }
33 
34 #define BUILD_TRAP_HANDLER(name) \
35 asmlinkage void name##_trap_handler(unsigned int vec, struct pt_regs *regs)
36 #define TRAP_HANDLER_DECL
37 
38 #endif /* __ASM_SH_TRAPS_64_H */