trap.h revision 1.1.18.2 1 1.1.18.2 jdolecek /*-
2 1.1.18.2 jdolecek * Copyright (c) 2014 The NetBSD Foundation, Inc.
3 1.1.18.2 jdolecek * All rights reserved.
4 1.1.18.2 jdolecek *
5 1.1.18.2 jdolecek * This code is derived from software contributed to The NetBSD Foundation
6 1.1.18.2 jdolecek * by Matt Thomas of 3am Software Foundry.
7 1.1.18.2 jdolecek *
8 1.1.18.2 jdolecek * Redistribution and use in source and binary forms, with or without
9 1.1.18.2 jdolecek * modification, are permitted provided that the following conditions
10 1.1.18.2 jdolecek * are met:
11 1.1.18.2 jdolecek * 1. Redistributions of source code must retain the above copyright
12 1.1.18.2 jdolecek * notice, this list of conditions and the following disclaimer.
13 1.1.18.2 jdolecek * 2. Redistributions in binary form must reproduce the above copyright
14 1.1.18.2 jdolecek * notice, this list of conditions and the following disclaimer in the
15 1.1.18.2 jdolecek * documentation and/or other materials provided with the distribution.
16 1.1.18.2 jdolecek *
17 1.1.18.2 jdolecek * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 1.1.18.2 jdolecek * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 1.1.18.2 jdolecek * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 1.1.18.2 jdolecek * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 1.1.18.2 jdolecek * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 1.1.18.2 jdolecek * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 1.1.18.2 jdolecek * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 1.1.18.2 jdolecek * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 1.1.18.2 jdolecek * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 1.1.18.2 jdolecek * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 1.1.18.2 jdolecek * POSSIBILITY OF SUCH DAMAGE.
28 1.1.18.2 jdolecek */
29 1.1.18.2 jdolecek
30 1.1.18.2 jdolecek #ifndef _OR1K_TRAP_H_
31 1.1.18.2 jdolecek #define _OR1K_TRAP_H_
32 1.1.18.2 jdolecek
33 1.1.18.2 jdolecek // OpenRISC 1000 Trap Vectors.
34 1.1.18.2 jdolecek // These are named like the PowerPC ones since it seems that's
35 1.1.18.2 jdolecek // where they stole them from.
36 1.1.18.2 jdolecek
37 1.1.18.2 jdolecek #define EXC_RESET 0x100
38 1.1.18.2 jdolecek #define EXC_BUS 0x200 // EXC_MCHK on PowerPC
39 1.1.18.2 jdolecek #define EXC_DFAULT 0x300 // EXC_DSI on PowerPC
40 1.1.18.2 jdolecek #define EXC_IFAULT 0x400 // EXC_ISI on PowerPC
41 1.1.18.2 jdolecek #define EXC_TICK 0x500 // EXC_DEC on PowerPC
42 1.1.18.2 jdolecek #define EXC_ALI 0x600
43 1.1.18.2 jdolecek #define EXC_PGM 0x700
44 1.1.18.2 jdolecek #define EXC_EXI 0x800
45 1.1.18.2 jdolecek #define EXC_DMISS 0x900
46 1.1.18.2 jdolecek #define EXC_IMISS 0xa00
47 1.1.18.2 jdolecek #define EXC_RANGE 0xb00 // Not on PowerPC
48 1.1.18.2 jdolecek #define EXC_SC 0xc00
49 1.1.18.2 jdolecek #define EXC_FP 0xd00 // EXC_FPA on PowerPC
50 1.1.18.2 jdolecek #define EXC_TRAP 0xe00 // EXC_TRC on PowerPC
51 1.1.18.2 jdolecek
52 1.1.18.2 jdolecek #endif /* _OR1K_TRAP_H_ */
53