RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
powerpc
mvme5500
include
bsp
bspException.h
1
#ifndef BSP_EXCEPTION_HANDLER_H
2
#define BSP_EXCEPTION_HANDLER_H
3
4
/* A slightly improved exception 'default' exception handler for RTEMS / SVGM */
5
6
/*
7
* Authorship
8
* ----------
9
* This software was created by
10
* Till Straumann <strauman@slac.stanford.edu>, 5/2002,
11
* Stanford Linear Accelerator Center, Stanford University.
12
*
13
* Acknowledgement of sponsorship
14
* ------------------------------
15
* This software was produced by
16
* the Stanford Linear Accelerator Center, Stanford University,
17
* under Contract DE-AC03-76SFO0515 with the Department of Energy.
18
*
19
* Government disclaimer of liability
20
* ----------------------------------
21
* Neither the United States nor the United States Department of Energy,
22
* nor any of their employees, makes any warranty, express or implied, or
23
* assumes any legal liability or responsibility for the accuracy,
24
* completeness, or usefulness of any data, apparatus, product, or process
25
* disclosed, or represents that its use would not infringe privately owned
26
* rights.
27
*
28
* Stanford disclaimer of liability
29
* --------------------------------
30
* Stanford University makes no representations or warranties, express or
31
* implied, nor assumes any liability for the use of this software.
32
*
33
* Stanford disclaimer of copyright
34
* --------------------------------
35
* Stanford University, owner of the copyright, hereby disclaims its
36
* copyright and all other rights in this software. Hence, anyone may
37
* freely use it for any purpose without restriction.
38
*
39
* Maintenance of notices
40
* ----------------------
41
* In the interest of clarity regarding the origin and status of this
42
* SLAC software, this and all the preceding Stanford University notices
43
* are to remain affixed to any copy or derivative of this software made
44
* or distributed by the recipient and are to be affixed to any copy of
45
* software made or distributed by the recipient that contains a copy or
46
* derivative of this software.
47
*
48
* ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
49
*/
50
51
#include <
bsp/vectors.h
>
52
53
/* Two types of exception intercepting / catching is supported:
54
*
55
* - lowlevel handling (runs at IRQ level, before restoring any
56
* task context).
57
* - highlevel handling.
58
*
59
* A lowlevel user hook is invoked twice, before and after processing
60
* (printing) the exception.
61
* If the user hook returns a nonzero value, normal processing
62
* is skipped (including the second call to the hook)
63
*
64
* If the hook returns nonzero to the second call, no default
65
* 'panic' occurs.
66
*
67
* Default 'panic':
68
* - if a task context is available:
69
* - if a highlevel handler is installed, pass control
70
* to the highlevel handler when returning from the
71
* exception (the highlevel handler should probably
72
* do a longjmp()). Otherwise:
73
* - try to suspend interrupted task.
74
* - hang if no task context is available.
75
*
76
*/
77
78
typedef
struct
BSP_ExceptionExtensionRec_
*BSP_ExceptionExtension;
79
80
typedef
int (*BSP_ExceptionHookProc)(BSP_Exception_frame *frame, BSP_ExceptionExtension ext,
int
after);
81
82
typedef
struct
BSP_ExceptionExtensionRec_
{
83
BSP_ExceptionHookProc lowlevelHook;
84
int
quiet;
/* silence the exception handler */
85
void (*highlevelHook)(BSP_ExceptionExtension);
86
/* user fields may be added after this */
87
} BSP_ExceptionExtensionRec;
88
89
#define SRR1_TEA_EXC (1<<(31-13))
90
#define SRR1_MCP_EXC (1<<(31-12))
91
92
void
93
BSP_exceptionHandler(BSP_Exception_frame* excPtr);
94
95
/* install an exception handler to the current task context */
96
BSP_ExceptionExtension
97
BSP_exceptionHandlerInstall(BSP_ExceptionExtension
e
);
98
99
#endif
vectors.h
PowerPC Exceptions API.
BSP_ExceptionExtensionRec_
Definition
bspException.h:82
e
unsigned e
Definition
tlb.h:13
Generated by
1.18.0