1
2
3
4
5
6
7
8
9 #ifndef _EXCEPTION_H_
10 #define _EXCEPTION_H_
11
12
13 #ifdef __ASSEMBLER__
14 #define Const_(x) $##x
15 #else
16 #define Const_(x) x
17 #endif
18
19 #ifndef SW_C1
20 #include "fpu_emu.h"
21 #endif SW_C1
22
23 #define FPU_BUSY Const_(0x8000)
24 #define EX_ErrorSummary Const_(0x0080)
25
26 #define EX_INTERNAL Const_(0x8000)
27 #define EX_StackOver Const_(0x0041|SW_C1)
28 #define EX_StackUnder Const_(0x0041)
29
30 #define EX_Precision Const_(0x0020)
31 #define EX_Underflow Const_(0x0010)
32 #define EX_Overflow Const_(0x0008)
33 #define EX_ZeroDiv Const_(0x0004)
34 #define EX_Denormal Const_(0x0002)
35 #define EX_Invalid Const_(0x0001)
36
37
38 #ifndef __ASSEMBLER__
39
40 #ifdef DEBUG
41 #define EXCEPTION(x) { printk("exception in %s at line %d\n", \
42 __FILE__, __LINE__); exception(x); }
43 #else
44 #define EXCEPTION(x) exception(x)
45 #endif
46
47 #endif __ASSEMBLER__
48
49 #endif _EXCEPTION_H_