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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
|
/home/spinalvm/hdl/riscv-compliance/work//DIVW.elf: file format elf64-littleriscv
Disassembly of section .text.init:
0000000080000000 <_start>:
80000000: 04c0006f j 8000004c <reset_vector>
0000000080000004 <trap_vector>:
80000004: 34202f73 csrr t5,mcause
80000008: 00800f93 li t6,8
8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
80000010: 00900f93 li t6,9
80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
80000018: 00b00f93 li t6,11
8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
80000020: 80000f17 auipc t5,0x80000
80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
8000002c: 000f0067 jr t5
80000030: 34202f73 csrr t5,mcause
80000034: 000f5463 bgez t5,8000003c <handle_exception>
80000038: 0040006f j 8000003c <handle_exception>
000000008000003c <handle_exception>:
8000003c: 5391e193 ori gp,gp,1337
0000000080000040 <write_tohost>:
80000040: 00001f17 auipc t5,0x1
80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
80000048: ff9ff06f j 80000040 <write_tohost>
000000008000004c <reset_vector>:
8000004c: f1402573 csrr a0,mhartid
80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
80000054: 00000297 auipc t0,0x0
80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
8000005c: 30529073 csrw mtvec,t0
80000060: 18005073 csrwi satp,0
80000064: 00000297 auipc t0,0x0
80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
8000006c: 30529073 csrw mtvec,t0
80000070: fff00293 li t0,-1
80000074: 3b029073 csrw pmpaddr0,t0
80000078: 01f00293 li t0,31
8000007c: 3a029073 csrw pmpcfg0,t0
80000080: 00000297 auipc t0,0x0
80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
80000088: 30529073 csrw mtvec,t0
8000008c: 30205073 csrwi medeleg,0
80000090: 30305073 csrwi mideleg,0
80000094: 30405073 csrwi mie,0
80000098: 00000193 li gp,0
8000009c: 00000297 auipc t0,0x0
800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
800000a4: 30529073 csrw mtvec,t0
800000a8: 00100513 li a0,1
800000ac: 01f51513 slli a0,a0,0x1f
800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
800000b4: 00000013 nop
800000b8: 00100193 li gp,1
800000bc: 00000073 ecall
800000c0: 80000297 auipc t0,0x80000
800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
800000cc: 10529073 csrw stvec,t0
800000d0: 0000b2b7 lui t0,0xb
800000d4: 1092829b addiw t0,t0,265
800000d8: 30229073 csrw medeleg,t0
800000dc: 30202373 csrr t1,medeleg
800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
800000e4: 30005073 csrwi mstatus,0
800000e8: 00002537 lui a0,0x2
800000ec: 8005051b addiw a0,a0,-2048
800000f0: 30052073 csrs mstatus,a0
800000f4: 00000297 auipc t0,0x0
800000f8: 01428293 addi t0,t0,20 # 80000108 <begin_testcode>
800000fc: 34129073 csrw mepc,t0
80000100: f1402573 csrr a0,mhartid
80000104: 30200073 mret
0000000080000108 <begin_testcode>:
80000108: 00002117 auipc sp,0x2
8000010c: ef810113 addi sp,sp,-264 # 80002000 <begin_signature>
80000110: 00000213 li tp,0
80000114: 00000193 li gp,0
80000118: 023241bb divw gp,tp,gp
8000011c: 00312023 sw gp,0(sp)
80000120: 00000493 li s1,0
80000124: 00100413 li s0,1
80000128: 0284c43b divw s0,s1,s0
8000012c: 00812423 sw s0,8(sp)
80000130: 00000613 li a2,0
80000134: fff00593 li a1,-1
80000138: 02b645bb divw a1,a2,a1
8000013c: 00b12823 sw a1,16(sp)
80000140: 00000713 li a4,0
80000144: fff0069b addiw a3,zero,-1
80000148: 03f69693 slli a3,a3,0x3f
8000014c: fff68693 addi a3,a3,-1
80000150: 02d746bb divw a3,a4,a3
80000154: 00d12c23 sw a3,24(sp)
80000158: 00000813 li a6,0
8000015c: fff0079b addiw a5,zero,-1
80000160: 03f79793 slli a5,a5,0x3f
80000164: 02f847bb divw a5,a6,a5
80000168: 02f12023 sw a5,32(sp)
8000016c: 00002117 auipc sp,0x2
80000170: ebc10113 addi sp,sp,-324 # 80002028 <test_2_res>
80000174: 00100913 li s2,1
80000178: 00000893 li a7,0
8000017c: 031948bb divw a7,s2,a7
80000180: 01112023 sw a7,0(sp)
80000184: 00100a13 li s4,1
80000188: 00100993 li s3,1
8000018c: 033a49bb divw s3,s4,s3
80000190: 01312423 sw s3,8(sp)
80000194: 00100b13 li s6,1
80000198: fff00a93 li s5,-1
8000019c: 035b4abb divw s5,s6,s5
800001a0: 01512823 sw s5,16(sp)
800001a4: 00100c13 li s8,1
800001a8: fff00b9b addiw s7,zero,-1
800001ac: 03fb9b93 slli s7,s7,0x3f
800001b0: fffb8b93 addi s7,s7,-1
800001b4: 037c4bbb divw s7,s8,s7
800001b8: 01712c23 sw s7,24(sp)
800001bc: 00100d13 li s10,1
800001c0: fff00c9b addiw s9,zero,-1
800001c4: 03fc9c93 slli s9,s9,0x3f
800001c8: 039d4cbb divw s9,s10,s9
800001cc: 03912023 sw s9,32(sp)
800001d0: 00002117 auipc sp,0x2
800001d4: e8010113 addi sp,sp,-384 # 80002050 <test_3_res>
800001d8: fff00e13 li t3,-1
800001dc: 00000d93 li s11,0
800001e0: 03be4dbb divw s11,t3,s11
800001e4: 01b12023 sw s11,0(sp)
800001e8: fff00f13 li t5,-1
800001ec: 00100e93 li t4,1
800001f0: 03df4ebb divw t4,t5,t4
800001f4: 01d12423 sw t4,8(sp)
800001f8: fff00193 li gp,-1
800001fc: fff00f93 li t6,-1
80000200: 03f1cfbb divw t6,gp,t6
80000204: 01f12823 sw t6,16(sp)
80000208: fff00413 li s0,-1
8000020c: fff0021b addiw tp,zero,-1
80000210: 03f21213 slli tp,tp,0x3f
80000214: fff20213 addi tp,tp,-1
80000218: 0244423b divw tp,s0,tp
8000021c: 00412c23 sw tp,24(sp)
80000220: fff00593 li a1,-1
80000224: fff0049b addiw s1,zero,-1
80000228: 03f49493 slli s1,s1,0x3f
8000022c: 0295c4bb divw s1,a1,s1
80000230: 02912023 sw s1,32(sp)
80000234: 00002117 auipc sp,0x2
80000238: e4410113 addi sp,sp,-444 # 80002078 <test_4_res>
8000023c: fff0069b addiw a3,zero,-1
80000240: 03f69693 slli a3,a3,0x3f
80000244: fff68693 addi a3,a3,-1
80000248: 00000613 li a2,0
8000024c: 02c6c63b divw a2,a3,a2
80000250: 00c12023 sw a2,0(sp)
80000254: fff0079b addiw a5,zero,-1
80000258: 03f79793 slli a5,a5,0x3f
8000025c: fff78793 addi a5,a5,-1
80000260: 00100713 li a4,1
80000264: 02e7c73b divw a4,a5,a4
80000268: 00e12423 sw a4,8(sp)
8000026c: fff0089b addiw a7,zero,-1
80000270: 03f89893 slli a7,a7,0x3f
80000274: fff88893 addi a7,a7,-1
80000278: fff00813 li a6,-1
8000027c: 0308c83b divw a6,a7,a6
80000280: 01012823 sw a6,16(sp)
80000284: fff0099b addiw s3,zero,-1
80000288: 03f99993 slli s3,s3,0x3f
8000028c: fff98993 addi s3,s3,-1
80000290: fff0091b addiw s2,zero,-1
80000294: 03f91913 slli s2,s2,0x3f
80000298: fff90913 addi s2,s2,-1
8000029c: 0329c93b divw s2,s3,s2
800002a0: 01212c23 sw s2,24(sp)
800002a4: fff00a9b addiw s5,zero,-1
800002a8: 03fa9a93 slli s5,s5,0x3f
800002ac: fffa8a93 addi s5,s5,-1
800002b0: fff00a1b addiw s4,zero,-1
800002b4: 03fa1a13 slli s4,s4,0x3f
800002b8: 034aca3b divw s4,s5,s4
800002bc: 03412023 sw s4,32(sp)
800002c0: 00002117 auipc sp,0x2
800002c4: de010113 addi sp,sp,-544 # 800020a0 <test_5_res>
800002c8: fff00b9b addiw s7,zero,-1
800002cc: 03fb9b93 slli s7,s7,0x3f
800002d0: 00000b13 li s6,0
800002d4: 036bcb3b divw s6,s7,s6
800002d8: 01612023 sw s6,0(sp)
800002dc: fff00c9b addiw s9,zero,-1
800002e0: 03fc9c93 slli s9,s9,0x3f
800002e4: 00100c13 li s8,1
800002e8: 038ccc3b divw s8,s9,s8
800002ec: 01812423 sw s8,8(sp)
800002f0: fff00d9b addiw s11,zero,-1
800002f4: 03fd9d93 slli s11,s11,0x3f
800002f8: fff00d13 li s10,-1
800002fc: 03adcd3b divw s10,s11,s10
80000300: 01a12823 sw s10,16(sp)
80000304: fff00e9b addiw t4,zero,-1
80000308: 03fe9e93 slli t4,t4,0x3f
8000030c: fff00e1b addiw t3,zero,-1
80000310: 03fe1e13 slli t3,t3,0x3f
80000314: fffe0e13 addi t3,t3,-1
80000318: 03cece3b divw t3,t4,t3
8000031c: 01c12c23 sw t3,24(sp)
80000320: fff00f9b addiw t6,zero,-1
80000324: 03ff9f93 slli t6,t6,0x3f
80000328: fff00f1b addiw t5,zero,-1
8000032c: 03ff1f13 slli t5,t5,0x3f
80000330: 03efcf3b divw t5,t6,t5
80000334: 03e12023 sw t5,32(sp)
80000338: 00000013 nop
8000033c: 00100193 li gp,1
80000340: 00000073 ecall
0000000080000344 <end_testcode>:
80000344: c0001073 unimp
...
Disassembly of section .tohost:
0000000080001000 <tohost>:
...
0000000080001100 <fromhost>:
...
Disassembly of section .data:
0000000080002000 <begin_signature>:
80002000: ffff 0xffff
80002002: ffff 0xffff
80002004: 0000 unimp
80002006: 0000 unimp
80002008: ffff 0xffff
8000200a: ffff 0xffff
8000200c: 0000 unimp
8000200e: 0000 unimp
80002010: ffff 0xffff
80002012: ffff 0xffff
80002014: 0000 unimp
80002016: 0000 unimp
80002018: ffff 0xffff
8000201a: ffff 0xffff
8000201c: 0000 unimp
8000201e: 0000 unimp
80002020: ffff 0xffff
80002022: ffff 0xffff
80002024: 0000 unimp
...
0000000080002028 <test_2_res>:
80002028: ffff 0xffff
8000202a: ffff 0xffff
8000202c: 0000 unimp
8000202e: 0000 unimp
80002030: ffff 0xffff
80002032: ffff 0xffff
80002034: 0000 unimp
80002036: 0000 unimp
80002038: ffff 0xffff
8000203a: ffff 0xffff
8000203c: 0000 unimp
8000203e: 0000 unimp
80002040: ffff 0xffff
80002042: ffff 0xffff
80002044: 0000 unimp
80002046: 0000 unimp
80002048: ffff 0xffff
8000204a: ffff 0xffff
8000204c: 0000 unimp
...
0000000080002050 <test_3_res>:
80002050: ffff 0xffff
80002052: ffff 0xffff
80002054: 0000 unimp
80002056: 0000 unimp
80002058: ffff 0xffff
8000205a: ffff 0xffff
8000205c: 0000 unimp
8000205e: 0000 unimp
80002060: ffff 0xffff
80002062: ffff 0xffff
80002064: 0000 unimp
80002066: 0000 unimp
80002068: ffff 0xffff
8000206a: ffff 0xffff
8000206c: 0000 unimp
8000206e: 0000 unimp
80002070: ffff 0xffff
80002072: ffff 0xffff
80002074: 0000 unimp
...
0000000080002078 <test_4_res>:
80002078: ffff 0xffff
8000207a: ffff 0xffff
8000207c: 0000 unimp
8000207e: 0000 unimp
80002080: ffff 0xffff
80002082: ffff 0xffff
80002084: 0000 unimp
80002086: 0000 unimp
80002088: ffff 0xffff
8000208a: ffff 0xffff
8000208c: 0000 unimp
8000208e: 0000 unimp
80002090: ffff 0xffff
80002092: ffff 0xffff
80002094: 0000 unimp
80002096: 0000 unimp
80002098: ffff 0xffff
8000209a: ffff 0xffff
8000209c: 0000 unimp
...
00000000800020a0 <test_5_res>:
800020a0: ffff 0xffff
800020a2: ffff 0xffff
800020a4: 0000 unimp
800020a6: 0000 unimp
800020a8: ffff 0xffff
800020aa: ffff 0xffff
800020ac: 0000 unimp
800020ae: 0000 unimp
800020b0: ffff 0xffff
800020b2: ffff 0xffff
800020b4: 0000 unimp
800020b6: 0000 unimp
800020b8: ffff 0xffff
800020ba: ffff 0xffff
800020bc: 0000 unimp
800020be: 0000 unimp
800020c0: ffff 0xffff
800020c2: ffff 0xffff
800020c4: 0000 unimp
...
00000000800020c8 <test_6_res>:
800020c8: ffff 0xffff
800020ca: ffff 0xffff
800020cc: 0000 unimp
800020ce: 0000 unimp
800020d0: ffff 0xffff
800020d2: ffff 0xffff
800020d4: 0000 unimp
800020d6: 0000 unimp
800020d8: ffff 0xffff
800020da: ffff 0xffff
800020dc: 0000 unimp
800020de: 0000 unimp
800020e0: ffff 0xffff
800020e2: ffff 0xffff
800020e4: 0000 unimp
800020e6: 0000 unimp
800020e8: ffff 0xffff
800020ea: ffff 0xffff
800020ec: 0000 unimp
...
00000000800020f0 <test_7_res>:
800020f0: ffff 0xffff
800020f2: ffff 0xffff
800020f4: 0000 unimp
800020f6: 0000 unimp
800020f8: ffff 0xffff
800020fa: ffff 0xffff
800020fc: 0000 unimp
800020fe: 0000 unimp
80002100: ffff 0xffff
80002102: ffff 0xffff
80002104: 0000 unimp
80002106: 0000 unimp
80002108: ffff 0xffff
8000210a: ffff 0xffff
8000210c: 0000 unimp
8000210e: 0000 unimp
80002110: ffff 0xffff
80002112: ffff 0xffff
80002114: 0000 unimp
...
0000000080002118 <test_8_res>:
80002118: ffff 0xffff
8000211a: ffff 0xffff
8000211c: 0000 unimp
8000211e: 0000 unimp
80002120: ffff 0xffff
80002122: ffff 0xffff
80002124: 0000 unimp
80002126: 0000 unimp
80002128: ffff 0xffff
8000212a: ffff 0xffff
8000212c: 0000 unimp
8000212e: 0000 unimp
80002130: ffff 0xffff
80002132: ffff 0xffff
80002134: 0000 unimp
80002136: 0000 unimp
80002138: ffff 0xffff
8000213a: ffff 0xffff
8000213c: 0000 unimp
...
0000000080002140 <test_9_res>:
80002140: ffff 0xffff
80002142: ffff 0xffff
80002144: 0000 unimp
80002146: 0000 unimp
80002148: ffff 0xffff
8000214a: ffff 0xffff
8000214c: 0000 unimp
8000214e: 0000 unimp
80002150: ffff 0xffff
80002152: ffff 0xffff
80002154: 0000 unimp
80002156: 0000 unimp
80002158: ffff 0xffff
8000215a: ffff 0xffff
8000215c: 0000 unimp
8000215e: 0000 unimp
80002160: ffff 0xffff
80002162: ffff 0xffff
80002164: 0000 unimp
...
0000000080002168 <test_10_res>:
80002168: ffff 0xffff
8000216a: ffff 0xffff
8000216c: 0000 unimp
8000216e: 0000 unimp
80002170: ffff 0xffff
80002172: ffff 0xffff
80002174: 0000 unimp
80002176: 0000 unimp
80002178: ffff 0xffff
8000217a: ffff 0xffff
8000217c: 0000 unimp
8000217e: 0000 unimp
80002180: ffff 0xffff
80002182: ffff 0xffff
80002184: 0000 unimp
80002186: 0000 unimp
80002188: ffff 0xffff
8000218a: ffff 0xffff
8000218c: 0000 unimp
...
|