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
14extern void _system_call(void);
15extern void _interrupt_entry(void);
16extern void _trace_break(void);
17extern void _nmi(void);
18extern void _interrupt_entry(void);
19
20extern 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
36extern char _start, _etext;
37#define check_kernel_text(addr) \
38	((addr >= (unsigned long)(&_start)) && \
39	 (addr <  (unsigned long)(&_etext)))
40
41#endif /* _H8300_TRAPS_H */
42