1 /* 2 * linux/include/asm-h8300/traps.h 3 * 4 * Copyright (C) 2003 Yoshinori Sato <ysato@users.sourceforge.jp> 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 11 #ifndef _H8300_TRAPS_H 12 #define _H8300_TRAPS_H 13 14 extern void _system_call(void); 15 extern void _interrupt_entry(void); 16 extern void _trace_break(void); 17 extern void _nmi(void); 18 extern void _interrupt_entry(void); 19 20 extern unsigned long *_interrupt_redirect_table; 21 22 #define JMP_OP 0x5a000000 23 #define JSR_OP 0x5e000000 24 #define VECTOR(address) ((JMP_OP)|((unsigned long)address)) 25 #define REDIRECT(address) ((JSR_OP)|((unsigned long)address)) 26 #define CPU_VECTOR ((unsigned long *)0x000000) 27 #define ADDR_MASK (0xffffff) 28 29 #define TRACE_VEC 5 30 31 #define TRAP0_VEC 8 32 #define TRAP1_VEC 9 33 #define TRAP2_VEC 10 34 #define TRAP3_VEC 11 35 36 extern char _start[], _etext[]; 37 #define check_kernel_text(addr) \ 38 ((addr >= (unsigned long)(_start)) && \ 39 (addr < (unsigned long)(_etext)) && !(addr & 1)) 40 41 #endif /* _H8300_TRAPS_H */ 42