make.tmpl: add missing compiler attribute to build_progs
[AROS.git] / arch / m68k-all / kernel / m68k_exception.h
blobd0dd83e9a4a394eb937f0fdf1db6d77100fb016d
1 /*
2 copyright © 1995-2010, the aros development team. all rights reserved.
3 $id$
5 desc: M68K Exceptions
6 lang: english
7 */
8 #ifndef M68K_EXCEPTION_H
9 #define M68K_EXCEPTION_H
11 #include <aros/kernel.h>
12 #include <exec/execbase.h>
14 #include <kernel_cpu.h>
16 /* Here's how it's all laid out:
17 * M68K Exception
18 * 0 Reset: Initial SP
19 * 1 Reset: Initial PC (NOTE: Really is SysBase!)
20 * 2 Bus Error
21 * 3 Address Error
22 * 4 Illegal Instruction
23 * 5 Divide by Zero
24 * 6 CHK Instruction
25 * 7 TRAPV Instruction
26 * 8 Privileged Instruction
27 * 9 Trace
28 * 10 Line 1010 Emulator
29 * 11 Line 1111 Emulator
30 * 12 -
31 * 13 -
32 * 14 Format Error
33 * 15 Uninitilaized Interrupt Vector
34 * 16 -
35 * ..
36 * 23 -
37 * 24 Spurious Interrupt
38 * 25 Level 1 Interrupt
39 * 26 Level 2 Interrupt
40 * 27 Level 3 Interrupt
41 * 28 Level 4 Interrupt
42 * 29 Level 5 Interrupt
43 * 30 Level 6 Interrupt
44 * 31 Level 7 Interrupt
45 * 32 TRAP #0
46 * ..
47 * 47 TRAP #15
48 * 48 -
49 * ..
50 * 63 -
51 * 64 User 1
52 * ..
53 * 255 User 191
55 struct M68KException {
56 UWORD Id;
57 /* tc_TrapCode style handler - MUST PRESERVE ALL REGISTERS! */
58 void (*Handler)(ULONG id);
61 void M68KExceptionInit(const struct M68KException *Table, struct ExecBase *SysBase);
63 #endif /* M68K_EXCEPTION_H */