OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_34/] [or1ksim/] [testbench/] [except.S] - Blame information for rev 371

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 342 markom
/* Support file for c based tests */
2
 
3
        .section .except
4
        .extern _reset_support
5
        .extern _c_reset
6
        .extern _excpt_buserr
7
        .extern _excpt_dpfault
8
        .extern _excpt_ipfault
9
        .extern _excpt_lpint
10
        .extern _excpt_align
11
        .extern _excpt_illinsn
12
        .extern _excpt_hpint
13
        .extern _excpt_dtlbmiss
14
        .extern _excpt_itlbmiss
15
        .extern _excpt_range
16
        .extern _excpt_syscall
17
        .extern _excpt_break
18
        .extern _excpt_trap
19
 
20
 
21
        .org    0x100
22
_reset_vector:
23
        l.nop
24
        l.nop
25 371 markom
        l.movhi r1,hi(0x40007f00)
26
        l.ori   r1,r1,lo(0x40007f00)
27 342 markom
        l.jal   _reset
28
        l.nop
29
 
30
        .org    0x200
31
_buserr_vector:
32
        l.addi  r1,r1,-116
33
        l.sw    0x18(r1),r9
34
        l.jal   store_regs
35
        l.nop
36
        l.movhi r9,hi(end_except)
37
        l.ori   r9,r0,lo(end_except)
38 344 markom
        l.lwz   r10,lo(_excpt_buserr)(r0)
39 342 markom
        l.jr    r10
40
        l.nop
41
 
42
        .org    0x300
43
_dpfault_vector:
44
        l.addi  r1,r1,-116
45
        l.sw    0x18(r1),r9
46
        l.jal   store_regs
47
        l.nop
48
        l.movhi r9,hi(end_except)
49
        l.ori   r9,r0,lo(end_except)
50
        l.lwz   r10,lo(_excpt_dpfault)(r0)
51
        l.jr    r10
52
        l.nop
53
 
54
        .org    0x400
55
_ipfault_vector:
56
        l.addi  r1,r1,-116
57
        l.sw    0x18(r1),r9
58
        l.jal   store_regs
59
        l.nop
60
        l.movhi r9,hi(end_except)
61
        l.ori   r9,r0,lo(end_except)
62
        l.lwz   r10,_excpt_ipfault(r0)
63
        l.jr    r10
64
        l.nop
65
 
66
        .org    0x500
67
_lpint_vector:
68
        l.addi  r1,r1,-116
69
        l.sw    0x18(r1),r9
70
        l.jal   store_regs
71
        l.nop
72
        l.movhi r9,hi(end_except)
73
        l.ori   r9,r0,lo(end_except)
74
        l.lwz   r10,_excpt_lpint(r0)
75
        l.jr    r10
76
        l.nop
77
 
78
        .org    0x600
79
_align_vector:
80
        l.addi  r1,r1,-116
81
        l.sw    0x18(r1),r9
82
        l.jal   store_regs
83
        l.nop
84
        l.movhi r9,hi(end_except)
85
        l.ori   r9,r0,lo(end_except)
86
        l.lwz   r10,_excpt_align(r0)
87
        l.jr    r10
88
        l.nop
89
 
90
        .org    0x700
91
_illinsn_vector:
92
        l.addi  r1,r1,-116
93
        l.sw    0x18(r1),r9
94
        l.jal   store_regs
95
        l.nop
96
        l.movhi r9,hi(end_except)
97
        l.ori   r9,r0,lo(end_except)
98
        l.lwz   r10,_excpt_illinsn(r0)
99
        l.jr    r10
100
        l.nop
101
 
102
        .org    0x800
103
_hpint_vector:
104
        l.addi  r1,r1,-116
105
        l.sw    0x18(r1),r9
106
        l.jal   store_regs
107
        l.nop
108
        l.movhi r9,hi(end_except)
109
        l.ori   r9,r0,lo(end_except)
110
        l.lwz   r10,_excpt_hpint(r0)
111
        l.jr    r10
112
        l.nop
113
 
114
        .org    0x900
115
_dtlbmiss_vector:
116
        l.addi  r1,r1,-116
117
        l.sw    0x18(r1),r9
118
        l.jal   store_regs
119
        l.nop
120
        l.movhi r9,hi(end_except)
121
        l.ori   r9,r0,lo(end_except)
122
        l.lwz   r10,_excpt_dtlbmiss(r0)
123
        l.jr    r10
124
        l.nop
125
 
126
        .org    0xa00
127
_itlbmiss_vector:
128
        l.addi  r1,r1,-116
129
        l.sw    0x18(r1),r9
130
        l.jal   store_regs
131
        l.nop
132
        l.movhi r9,hi(end_except)
133
        l.ori   r9,r0,lo(end_except)
134
        l.lwz   r10,_excpt_itlbmiss(r0)
135
        l.jr    r10
136
        l.nop
137
 
138
        .org    0xb00
139
_range_vector:
140
        l.addi  r1,r1,-116
141
        l.sw    0x18(r1),r9
142
        l.jal   store_regs
143
        l.nop
144
        l.movhi r9,hi(end_except)
145
        l.ori   r9,r0,lo(end_except)
146
        l.lwz   r10,_excpt_range(r0)
147
        l.jr    r10
148
        l.nop
149
 
150
        .org    0xc00
151
_syscall_vector:
152
        l.addi  r1,r1,-116
153
        l.sw    0x18(r1),r9
154
        l.jal   store_regs
155
        l.nop
156
        l.movhi r9,hi(end_except)
157
        l.ori   r9,r0,lo(end_except)
158 344 markom
        l.lwz   r10,lo(_excpt_syscall)(r0)
159 342 markom
        l.jr    r10
160
        l.nop
161
 
162
        .org    0xd00
163
_break_vector:
164
        l.addi  r1,r1,-116
165
        l.sw    0x18(r1),r9
166
        l.jal   store_regs
167
        l.nop
168
        l.movhi r9,hi(end_except)
169
        l.ori   r9,r0,lo(end_except)
170
        l.lwz   r10,_excpt_break(r0)
171
        l.jr    r10
172
        l.nop
173
 
174
        .org    0xe00
175
_trap_vector:
176
        l.addi  r1,r1,-116
177
        l.sw    0x18(r1),r9
178
        l.jal   store_regs
179
        l.nop
180
        l.movhi r9,hi(end_except)
181
        l.ori   r9,r0,lo(end_except)
182
        l.lwz   r10,_excpt_trap(r0)
183
        l.jr    r10
184
        l.nop
185
 
186
store_regs:
187
        l.sw    0x00(r1),r3
188
        l.sw    0x04(r1),r4
189
        l.sw    0x08(r1),r5
190
        l.sw    0x0c(r1),r6
191
        l.sw    0x10(r1),r7
192
        l.sw    0x14(r1),r8
193
        l.sw    0x1c(r1),r10
194
        l.sw    0x20(r1),r11
195
        l.sw    0x24(r1),r12
196
        l.sw    0x28(r1),r13
197
        l.sw    0x2c(r1),r14
198
        l.sw    0x30(r1),r15
199
        l.sw    0x34(r1),r16
200
        l.sw    0x38(r1),r17
201
        l.sw    0x3c(r1),r18
202
        l.sw    0x40(r1),r19
203
        l.sw    0x44(r1),r20
204
        l.sw    0x48(r1),r21
205
        l.sw    0x4c(r1),r22
206
        l.sw    0x50(r1),r23
207
        l.sw    0x54(r1),r24
208
        l.sw    0x58(r1),r25
209
        l.sw    0x5c(r1),r26
210
        l.sw    0x60(r1),r27
211
        l.sw    0x64(r1),r28
212
        l.sw    0x68(r1),r29
213
        l.sw    0x6c(r1),r30
214
        l.sw    0x70(r1),r31
215
        l.jalr  r9
216
        l.nop
217
 
218
end_except:
219
        l.lwz   r3,0x00(r1)
220
        l.lwz   r4,0x04(r1)
221
        l.lwz   r5,0x08(r1)
222
        l.lwz   r6,0x0c(r1)
223
        l.lwz   r7,0x10(r1)
224
        l.lwz   r8,0x14(r1)
225
        l.lwz   r9,0x18(r1)
226
        l.lwz   r10,0x1c(r1)
227
        l.lwz   r11,0x20(r1)
228
        l.lwz   r12,0x24(r1)
229
        l.lwz   r13,0x28(r1)
230
        l.lwz   r14,0x2c(r1)
231
        l.lwz   r15,0x30(r1)
232
        l.lwz   r16,0x34(r1)
233
        l.lwz   r17,0x38(r1)
234
        l.lwz   r18,0x3c(r1)
235
        l.lwz   r19,0x40(r1)
236
        l.lwz   r20,0x44(r1)
237
        l.lwz   r21,0x48(r1)
238
        l.lwz   r22,0x4c(r1)
239
        l.lwz   r23,0x50(r1)
240
        l.lwz   r24,0x54(r1)
241
        l.lwz   r25,0x58(r1)
242
        l.lwz   r26,0x5c(r1)
243
        l.lwz   r27,0x60(r1)
244
        l.lwz   r28,0x64(r1)
245
        l.lwz   r29,0x68(r1)
246
        l.lwz   r30,0x6c(r1)
247
        l.lwz   r31,0x70(r1)
248
        l.addi  r1,r1,116
249
        l.rfe
250
        l.nop

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.