1
2
3
4
5
6
7
8
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)) && !(addr & 1))
40
41#endif
42