source: rtems/c/src/lib/libbsp/i960/rxgen960/startup/fault.h @ 3299388d

4.104.114.84.95
Last change on this file since 3299388d was 2ea8df3, checked in by Joel Sherrill <joel.sherrill@…>, on 10/27/99 at 16:27:34

Added CVS Ids and a basic header. More header cleanup needed.

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/*-------------------------------------*/
2/* fault.h                             */
3/* Last change :  2.11.94              */
4/*-------------------------------------*/
5/*
6 *  $Id$
7 */
8
9#ifndef _FAULT_H_
10#define _FAULT_H_
11
12  /* (RAM-based) Fault Handler.
13   * Is invoked when there is no chance to repair current state.
14   */
15extern void faultBad(int invokedFromRom,
16                     unsigned int inst, unsigned int * faultBuffer,
17                     unsigned int type, unsigned int sbtp);
18  /* (RAM-based) Fault Handler.
19   * Is invoked when there is a chance to repair current state.
20   */
21extern void faultGood(unsigned int instr, unsigned int * faultBuffer,
22                      unsigned int type, unsigned int sbtp);
23  /* Some addresses that are defined in rom.ld.
24   */
25extern unsigned int faultCheckSum;
26
27extern unsigned int faultBuffer[];
28
29extern unsigned int faultStart[];
30extern unsigned int faultEnd[];   
31  /* Interface for user to register fault handlers of his own.
32   * Fault names.
33   */
34#define ParallelFLT     0
35#define TraceFLT        1
36#define OperationFLT    2
37#define ArithmeticFLT   3
38#define ConstraintFLT   5
39#define ProtectionFLT   7
40#define TypeFLT         9 
41  /* User-registered fault handler.
42   */
43typedef void (* UserFaultHandler)(unsigned int inst, unsigned int * faultBuf,
44                                  unsigned int type, unsigned int sbtp);
45  /* Register user-defined fault handler. The third argument is
46   * how many times this fault handler will be valid. This to avoid
47   * the situation when handler is bad and it causes a fault itself.
48   */
49extern int faultRegister(int fault, UserFaultHandler, int cnt);
50  /* Validate handler for one more time.
51   */
52extern int faultOk(int fault);
53                       
54#endif
55/*-------------*/
56/* End of file */
57/*-------------*/
58
Note: See TracBrowser for help on using the repository browser.