diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/asm-m68knommu/traps.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'include/asm-m68knommu/traps.h')
-rw-r--r-- | include/asm-m68knommu/traps.h | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/include/asm-m68knommu/traps.h b/include/asm-m68knommu/traps.h new file mode 100644 index 000000000000..f2a81317cc10 --- /dev/null +++ b/include/asm-m68knommu/traps.h | |||
@@ -0,0 +1,150 @@ | |||
1 | /* | ||
2 | * linux/include/asm/traps.h | ||
3 | * | ||
4 | * Copyright (C) 1993 Hamish Macdonald | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file COPYING in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | |||
11 | #ifndef _M68KNOMMU_TRAPS_H | ||
12 | #define _M68KNOMMU_TRAPS_H | ||
13 | |||
14 | #ifndef __ASSEMBLY__ | ||
15 | |||
16 | typedef void (*e_vector)(void); | ||
17 | |||
18 | extern e_vector vectors[]; | ||
19 | |||
20 | #endif | ||
21 | |||
22 | #define VEC_BUSERR (2) | ||
23 | #define VEC_ADDRERR (3) | ||
24 | #define VEC_ILLEGAL (4) | ||
25 | #define VEC_ZERODIV (5) | ||
26 | #define VEC_CHK (6) | ||
27 | #define VEC_TRAP (7) | ||
28 | #define VEC_PRIV (8) | ||
29 | #define VEC_TRACE (9) | ||
30 | #define VEC_LINE10 (10) | ||
31 | #define VEC_LINE11 (11) | ||
32 | #define VEC_RESV1 (12) | ||
33 | #define VEC_COPROC (13) | ||
34 | #define VEC_FORMAT (14) | ||
35 | #define VEC_UNINT (15) | ||
36 | #define VEC_SPUR (24) | ||
37 | #define VEC_INT1 (25) | ||
38 | #define VEC_INT2 (26) | ||
39 | #define VEC_INT3 (27) | ||
40 | #define VEC_INT4 (28) | ||
41 | #define VEC_INT5 (29) | ||
42 | #define VEC_INT6 (30) | ||
43 | #define VEC_INT7 (31) | ||
44 | #define VEC_SYS (32) | ||
45 | #define VEC_TRAP1 (33) | ||
46 | #define VEC_TRAP2 (34) | ||
47 | #define VEC_TRAP3 (35) | ||
48 | #define VEC_TRAP4 (36) | ||
49 | #define VEC_TRAP5 (37) | ||
50 | #define VEC_TRAP6 (38) | ||
51 | #define VEC_TRAP7 (39) | ||
52 | #define VEC_TRAP8 (40) | ||
53 | #define VEC_TRAP9 (41) | ||
54 | #define VEC_TRAP10 (42) | ||
55 | #define VEC_TRAP11 (43) | ||
56 | #define VEC_TRAP12 (44) | ||
57 | #define VEC_TRAP13 (45) | ||
58 | #define VEC_TRAP14 (46) | ||
59 | #define VEC_TRAP15 (47) | ||
60 | #define VEC_FPBRUC (48) | ||
61 | #define VEC_FPIR (49) | ||
62 | #define VEC_FPDIVZ (50) | ||
63 | #define VEC_FPUNDER (51) | ||
64 | #define VEC_FPOE (52) | ||
65 | #define VEC_FPOVER (53) | ||
66 | #define VEC_FPNAN (54) | ||
67 | #define VEC_FPUNSUP (55) | ||
68 | #define VEC_UNIMPEA (60) | ||
69 | #define VEC_UNIMPII (61) | ||
70 | #define VEC_USER (64) | ||
71 | |||
72 | #define VECOFF(vec) ((vec)<<2) | ||
73 | |||
74 | #ifndef __ASSEMBLY__ | ||
75 | |||
76 | /* Status register bits */ | ||
77 | #define PS_T (0x8000) | ||
78 | #define PS_S (0x2000) | ||
79 | #define PS_M (0x1000) | ||
80 | #define PS_C (0x0001) | ||
81 | |||
82 | /* structure for stack frames */ | ||
83 | |||
84 | struct frame { | ||
85 | struct pt_regs ptregs; | ||
86 | union { | ||
87 | struct { | ||
88 | unsigned long iaddr; /* instruction address */ | ||
89 | } fmt2; | ||
90 | struct { | ||
91 | unsigned long effaddr; /* effective address */ | ||
92 | } fmt3; | ||
93 | struct { | ||
94 | unsigned long effaddr; /* effective address */ | ||
95 | unsigned long pc; /* pc of faulted instr */ | ||
96 | } fmt4; | ||
97 | struct { | ||
98 | unsigned long effaddr; /* effective address */ | ||
99 | unsigned short ssw; /* special status word */ | ||
100 | unsigned short wb3s; /* write back 3 status */ | ||
101 | unsigned short wb2s; /* write back 2 status */ | ||
102 | unsigned short wb1s; /* write back 1 status */ | ||
103 | unsigned long faddr; /* fault address */ | ||
104 | unsigned long wb3a; /* write back 3 address */ | ||
105 | unsigned long wb3d; /* write back 3 data */ | ||
106 | unsigned long wb2a; /* write back 2 address */ | ||
107 | unsigned long wb2d; /* write back 2 data */ | ||
108 | unsigned long wb1a; /* write back 1 address */ | ||
109 | unsigned long wb1dpd0; /* write back 1 data/push data 0*/ | ||
110 | unsigned long pd1; /* push data 1*/ | ||
111 | unsigned long pd2; /* push data 2*/ | ||
112 | unsigned long pd3; /* push data 3*/ | ||
113 | } fmt7; | ||
114 | struct { | ||
115 | unsigned long iaddr; /* instruction address */ | ||
116 | unsigned short int1[4]; /* internal registers */ | ||
117 | } fmt9; | ||
118 | struct { | ||
119 | unsigned short int1; | ||
120 | unsigned short ssw; /* special status word */ | ||
121 | unsigned short isc; /* instruction stage c */ | ||
122 | unsigned short isb; /* instruction stage b */ | ||
123 | unsigned long daddr; /* data cycle fault address */ | ||
124 | unsigned short int2[2]; | ||
125 | unsigned long dobuf; /* data cycle output buffer */ | ||
126 | unsigned short int3[2]; | ||
127 | } fmta; | ||
128 | struct { | ||
129 | unsigned short int1; | ||
130 | unsigned short ssw; /* special status word */ | ||
131 | unsigned short isc; /* instruction stage c */ | ||
132 | unsigned short isb; /* instruction stage b */ | ||
133 | unsigned long daddr; /* data cycle fault address */ | ||
134 | unsigned short int2[2]; | ||
135 | unsigned long dobuf; /* data cycle output buffer */ | ||
136 | unsigned short int3[4]; | ||
137 | unsigned long baddr; /* stage B address */ | ||
138 | unsigned short int4[2]; | ||
139 | unsigned long dibuf; /* data cycle input buffer */ | ||
140 | unsigned short int5[3]; | ||
141 | unsigned ver : 4; /* stack frame version # */ | ||
142 | unsigned int6:12; | ||
143 | unsigned short int7[18]; | ||
144 | } fmtb; | ||
145 | } un; | ||
146 | }; | ||
147 | |||
148 | #endif /* __ASSEMBLY__ */ | ||
149 | |||
150 | #endif /* _M68KNOMMU_TRAPS_H */ | ||