OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [i386/] [math-emu/] [exception.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1623 jcastillo
/*---------------------------------------------------------------------------+
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__); exception(x); }
47
#else
48
#define EXCEPTION(x)    exception(x)
49
#endif
50
 
51
#endif __ASSEMBLY__
52
 
53
#endif _EXCEPTION_H_

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.