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