diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/i386/math-emu/exception.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'arch/i386/math-emu/exception.h')
-rw-r--r-- | arch/i386/math-emu/exception.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/arch/i386/math-emu/exception.h b/arch/i386/math-emu/exception.h new file mode 100644 index 000000000000..b463f21a811e --- /dev/null +++ b/arch/i386/math-emu/exception.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /*---------------------------------------------------------------------------+ | ||
2 | | exception.h | | ||
3 | | | | ||
4 | | Copyright (C) 1992 W. Metzenthen, 22 Parker St, Ormond, Vic 3163, | | ||
5 | | Australia. E-mail billm@vaxc.cc.monash.edu.au | | ||
6 | | | | ||
7 | +---------------------------------------------------------------------------*/ | ||
8 | |||
9 | #ifndef _EXCEPTION_H_ | ||
10 | #define _EXCEPTION_H_ | ||
11 | |||
12 | |||
13 | #ifdef __ASSEMBLY__ | ||
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) /* FPU busy bit (8087 compatibility) */ | ||
24 | #define EX_ErrorSummary Const_(0x0080) /* Error summary status */ | ||
25 | /* Special exceptions: */ | ||
26 | #define EX_INTERNAL Const_(0x8000) /* Internal error in wm-FPU-emu */ | ||
27 | #define EX_StackOver Const_(0x0041|SW_C1) /* stack overflow */ | ||
28 | #define EX_StackUnder Const_(0x0041) /* stack underflow */ | ||
29 | /* Exception flags: */ | ||
30 | #define EX_Precision Const_(0x0020) /* loss of precision */ | ||
31 | #define EX_Underflow Const_(0x0010) /* underflow */ | ||
32 | #define EX_Overflow Const_(0x0008) /* overflow */ | ||
33 | #define EX_ZeroDiv Const_(0x0004) /* divide by zero */ | ||
34 | #define EX_Denormal Const_(0x0002) /* denormalized operand */ | ||
35 | #define EX_Invalid Const_(0x0001) /* invalid operation */ | ||
36 | |||
37 | |||
38 | #define PRECISION_LOST_UP Const_((EX_Precision | SW_C1)) | ||
39 | #define PRECISION_LOST_DOWN Const_(EX_Precision) | ||
40 | |||
41 | |||
42 | #ifndef __ASSEMBLY__ | ||
43 | |||
44 | #ifdef DEBUG | ||
45 | #define EXCEPTION(x) { printk("exception in %s at line %d\n", \ | ||
46 | __FILE__, __LINE__); FPU_exception(x); } | ||
47 | #else | ||
48 | #define EXCEPTION(x) FPU_exception(x) | ||
49 | #endif | ||
50 | |||
51 | #endif /* __ASSEMBLY__ */ | ||
52 | |||
53 | #endif /* _EXCEPTION_H_ */ | ||