blob: 19ddca65f016e50fa7b6f1fa0de7072560402975 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
/*
* vectors.h Exception frame related contant and API.
*
* This include file describe the data structure and the functions implemented
* by rtems to handle exceptions.
*
*
* MPC5xx port sponsored by Defence Research and Development Canada - Suffield
* Copyright (C) 2004, Real-Time Systems Inc. (querbach@realtime.bc.ca)
*
* Derived from libbsp/powerpc/mbx8xx/vectors/vectors.h:
*
* CopyRight (C) 1999 valette@crf.canon.fr
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#ifndef _LIBCPU_VECTORS_H
#define _LIBCPU_VECTORS_H
#include <bsp/vectors.h>
/*
* Size of hardware vector table.
*/
#define NUM_EXCEPTIONS 0x20
#ifndef ASM
/*
* default raw exception handlers
*/
extern void default_exception_vector_code_prolog(void);
extern int default_exception_vector_code_prolog_size;
extern void initialize_exceptions(void);
typedef void rtems_exception_handler_t (CPU_Exception_frame* excPtr);
/*
* Exception handler table.
*
* This table contains pointers to assembly-language exception handlers.
* The common exception prologue in vectors.S looks up an entry in this
* table and jumps to it. No return address is saved, so the handlers in
* this table must return directly to the interrupted code.
*
* On entry to an exception handler, R1 points to a new exception stack
* frame in which R3, R4, and LR have been saved. R4 holds the exception
* number.
*/
extern rtems_exception_handler_t* exception_handler_table[NUM_EXCEPTIONS];
#endif /* ASM */
#endif /* _LIBCPU_VECTORS_H */
|