Files
Toooba/Tests/isa/rv64uf-v-recoding.dump

906 lines
43 KiB
Plaintext

rv64uf-v-recoding: file format elf64-littleriscv
Disassembly of section .text.init:
0000000080000000 <_start>:
80000000: 00c0006f j 8000000c <handle_reset>
0000000080000004 <nmi_vector>:
80000004: 25c0206f j 80002260 <wtf>
0000000080000008 <trap_vector>:
80000008: 2580206f j 80002260 <wtf>
000000008000000c <handle_reset>:
8000000c: 00000297 auipc t0,0x0
80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
80000014: 30529073 csrw mtvec,t0
80000018: 00009117 auipc sp,0x9
8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
80000020: f14022f3 csrr t0,mhartid
80000024: 00c29293 slli t0,t0,0xc
80000028: 00510133 add sp,sp,t0
8000002c: 34011073 csrw mscratch,sp
80000030: 2a9020ef jal ra,80002ad8 <extra_boot>
80000034: 00003517 auipc a0,0x3
80000038: aa850513 addi a0,a0,-1368 # 80002adc <userstart>
8000003c: 0a50206f j 800028e0 <vm_boot>
0000000080000040 <pop_tf>:
80000040: 10853283 ld t0,264(a0)
80000044: 14129073 csrw sepc,t0
80000048: 00853083 ld ra,8(a0)
8000004c: 01053103 ld sp,16(a0)
80000050: 01853183 ld gp,24(a0)
80000054: 02053203 ld tp,32(a0)
80000058: 02853283 ld t0,40(a0)
8000005c: 03053303 ld t1,48(a0)
80000060: 03853383 ld t2,56(a0)
80000064: 04053403 ld s0,64(a0)
80000068: 04853483 ld s1,72(a0)
8000006c: 05853583 ld a1,88(a0)
80000070: 06053603 ld a2,96(a0)
80000074: 06853683 ld a3,104(a0)
80000078: 07053703 ld a4,112(a0)
8000007c: 07853783 ld a5,120(a0)
80000080: 08053803 ld a6,128(a0)
80000084: 08853883 ld a7,136(a0)
80000088: 09053903 ld s2,144(a0)
8000008c: 09853983 ld s3,152(a0)
80000090: 0a053a03 ld s4,160(a0)
80000094: 0a853a83 ld s5,168(a0)
80000098: 0b053b03 ld s6,176(a0)
8000009c: 0b853b83 ld s7,184(a0)
800000a0: 0c053c03 ld s8,192(a0)
800000a4: 0c853c83 ld s9,200(a0)
800000a8: 0d053d03 ld s10,208(a0)
800000ac: 0d853d83 ld s11,216(a0)
800000b0: 0e053e03 ld t3,224(a0)
800000b4: 0e853e83 ld t4,232(a0)
800000b8: 0f053f03 ld t5,240(a0)
800000bc: 0f853f83 ld t6,248(a0)
800000c0: 05053503 ld a0,80(a0)
800000c4: 10200073 sret
00000000800000c8 <trap_entry>:
800000c8: 14011173 csrrw sp,sscratch,sp
800000cc: 00113423 sd ra,8(sp)
800000d0: 00313c23 sd gp,24(sp)
800000d4: 02413023 sd tp,32(sp)
800000d8: 02513423 sd t0,40(sp)
800000dc: 02613823 sd t1,48(sp)
800000e0: 02713c23 sd t2,56(sp)
800000e4: 04813023 sd s0,64(sp)
800000e8: 04913423 sd s1,72(sp)
800000ec: 04a13823 sd a0,80(sp)
800000f0: 04b13c23 sd a1,88(sp)
800000f4: 06c13023 sd a2,96(sp)
800000f8: 06d13423 sd a3,104(sp)
800000fc: 06e13823 sd a4,112(sp)
80000100: 06f13c23 sd a5,120(sp)
80000104: 09013023 sd a6,128(sp)
80000108: 09113423 sd a7,136(sp)
8000010c: 09213823 sd s2,144(sp)
80000110: 09313c23 sd s3,152(sp)
80000114: 0b413023 sd s4,160(sp)
80000118: 0b513423 sd s5,168(sp)
8000011c: 0b613823 sd s6,176(sp)
80000120: 0b713c23 sd s7,184(sp)
80000124: 0d813023 sd s8,192(sp)
80000128: 0d913423 sd s9,200(sp)
8000012c: 0da13823 sd s10,208(sp)
80000130: 0db13c23 sd s11,216(sp)
80000134: 0fc13023 sd t3,224(sp)
80000138: 0fd13423 sd t4,232(sp)
8000013c: 0fe13823 sd t5,240(sp)
80000140: 0ff13c23 sd t6,248(sp)
80000144: 140112f3 csrrw t0,sscratch,sp
80000148: 00513823 sd t0,16(sp)
8000014c: 100022f3 csrr t0,sstatus
80000150: 10513023 sd t0,256(sp)
80000154: 141022f3 csrr t0,sepc
80000158: 10513423 sd t0,264(sp)
8000015c: 143022f3 csrr t0,stval
80000160: 10513823 sd t0,272(sp)
80000164: 142022f3 csrr t0,scause
80000168: 10513c23 sd t0,280(sp)
8000016c: 00010513 mv a0,sp
80000170: 4380206f j 800025a8 <handle_trap>
Disassembly of section .text:
0000000080002000 <memcpy>:
80002000: 00c5e7b3 or a5,a1,a2
80002004: 00f567b3 or a5,a0,a5
80002008: 0077f793 andi a5,a5,7
8000200c: 00c506b3 add a3,a0,a2
80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
80002014: 00c58633 add a2,a1,a2
80002018: 00050793 mv a5,a0
8000201c: 02d57e63 bgeu a0,a3,80002058 <memcpy+0x58>
80002020: 00158593 addi a1,a1,1
80002024: fff5c703 lbu a4,-1(a1)
80002028: 00178793 addi a5,a5,1
8000202c: fee78fa3 sb a4,-1(a5)
80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
80002034: 00008067 ret
80002038: fed57ee3 bgeu a0,a3,80002034 <memcpy+0x34>
8000203c: 00050793 mv a5,a0
80002040: 00858593 addi a1,a1,8
80002044: ff85b703 ld a4,-8(a1)
80002048: 00878793 addi a5,a5,8
8000204c: fee7bc23 sd a4,-8(a5)
80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
80002054: 00008067 ret
80002058: 00008067 ret
000000008000205c <memset>:
8000205c: 00c567b3 or a5,a0,a2
80002060: 0077f793 andi a5,a5,7
80002064: 00c50633 add a2,a0,a2
80002068: 0ff5f593 andi a1,a1,255
8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
80002070: 00050793 mv a5,a0
80002074: 04c57263 bgeu a0,a2,800020b8 <memset+0x5c>
80002078: 00178793 addi a5,a5,1
8000207c: feb78fa3 sb a1,-1(a5)
80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
80002084: 00008067 ret
80002088: 00859793 slli a5,a1,0x8
8000208c: 00b7e5b3 or a1,a5,a1
80002090: 01059793 slli a5,a1,0x10
80002094: 00b7e7b3 or a5,a5,a1
80002098: 02079593 slli a1,a5,0x20
8000209c: 00f5e5b3 or a1,a1,a5
800020a0: fec572e3 bgeu a0,a2,80002084 <memset+0x28>
800020a4: 00050793 mv a5,a0
800020a8: 00878793 addi a5,a5,8
800020ac: feb7bc23 sd a1,-8(a5)
800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
800020b4: 00008067 ret
800020b8: 00008067 ret
00000000800020bc <strlen>:
800020bc: 00054783 lbu a5,0(a0)
800020c0: 00078e63 beqz a5,800020dc <strlen+0x20>
800020c4: 00050793 mv a5,a0
800020c8: 00178793 addi a5,a5,1
800020cc: 0007c703 lbu a4,0(a5)
800020d0: fe071ce3 bnez a4,800020c8 <strlen+0xc>
800020d4: 40a78533 sub a0,a5,a0
800020d8: 00008067 ret
800020dc: 00000513 li a0,0
800020e0: 00008067 ret
00000000800020e4 <strcmp>:
800020e4: 00150513 addi a0,a0,1
800020e8: fff54783 lbu a5,-1(a0)
800020ec: 00158593 addi a1,a1,1
800020f0: fff5c703 lbu a4,-1(a1)
800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
800020fc: 0007851b sext.w a0,a5
80002100: 40e5053b subw a0,a0,a4
80002104: 00008067 ret
80002108: 00000513 li a0,0
8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
0000000080002110 <memcmp>:
80002110: 00b567b3 or a5,a0,a1
80002114: 0077f793 andi a5,a5,7
80002118: 04079463 bnez a5,80002160 <memcmp+0x50>
8000211c: ff867813 andi a6,a2,-8
80002120: 01050833 add a6,a0,a6
80002124: 03057e63 bgeu a0,a6,80002160 <memcmp+0x50>
80002128: 0005b703 ld a4,0(a1)
8000212c: 00053783 ld a5,0(a0)
80002130: 02f71863 bne a4,a5,80002160 <memcmp+0x50>
80002134: 00050793 mv a5,a0
80002138: 0100006f j 80002148 <memcmp+0x38>
8000213c: 0007b683 ld a3,0(a5)
80002140: 0005b703 ld a4,0(a1)
80002144: 00e69863 bne a3,a4,80002154 <memcmp+0x44>
80002148: 00878793 addi a5,a5,8
8000214c: 00858593 addi a1,a1,8
80002150: ff07e6e3 bltu a5,a6,8000213c <memcmp+0x2c>
80002154: 40a78533 sub a0,a5,a0
80002158: 40a60633 sub a2,a2,a0
8000215c: 00078513 mv a0,a5
80002160: 00c58633 add a2,a1,a2
80002164: 0140006f j 80002178 <memcmp+0x68>
80002168: 00158593 addi a1,a1,1
8000216c: fff54783 lbu a5,-1(a0)
80002170: fff5c703 lbu a4,-1(a1)
80002174: 00e79a63 bne a5,a4,80002188 <memcmp+0x78>
80002178: 00150513 addi a0,a0,1
8000217c: fec596e3 bne a1,a2,80002168 <memcmp+0x58>
80002180: 00000513 li a0,0
80002184: 00008067 ret
80002188: 40e7853b subw a0,a5,a4
8000218c: 00008067 ret
0000000080002190 <strcpy>:
80002190: 00050793 mv a5,a0
80002194: 00158593 addi a1,a1,1
80002198: fff5c703 lbu a4,-1(a1)
8000219c: 00178793 addi a5,a5,1
800021a0: fee78fa3 sb a4,-1(a5)
800021a4: fe0718e3 bnez a4,80002194 <strcpy+0x4>
800021a8: 00008067 ret
00000000800021ac <atol>:
800021ac: 00054783 lbu a5,0(a0)
800021b0: 02000713 li a4,32
800021b4: 00e79863 bne a5,a4,800021c4 <atol+0x18>
800021b8: 00150513 addi a0,a0,1
800021bc: 00054783 lbu a5,0(a0)
800021c0: fee78ce3 beq a5,a4,800021b8 <atol+0xc>
800021c4: fd57871b addiw a4,a5,-43
800021c8: 0fd77713 andi a4,a4,253
800021cc: 04070263 beqz a4,80002210 <atol+0x64>
800021d0: 00054683 lbu a3,0(a0)
800021d4: 00050793 mv a5,a0
800021d8: 00000613 li a2,0
800021dc: 04068863 beqz a3,8000222c <atol+0x80>
800021e0: 00000513 li a0,0
800021e4: 00178793 addi a5,a5,1
800021e8: fd06859b addiw a1,a3,-48
800021ec: 00251713 slli a4,a0,0x2
800021f0: 0007c683 lbu a3,0(a5)
800021f4: 00a70533 add a0,a4,a0
800021f8: 00151513 slli a0,a0,0x1
800021fc: 00a58533 add a0,a1,a0
80002200: fe0692e3 bnez a3,800021e4 <atol+0x38>
80002204: 00060463 beqz a2,8000220c <atol+0x60>
80002208: 40a00533 neg a0,a0
8000220c: 00008067 ret
80002210: 00154683 lbu a3,1(a0)
80002214: fd378793 addi a5,a5,-45
80002218: 0017b613 seqz a2,a5
8000221c: 00150793 addi a5,a0,1
80002220: fc0690e3 bnez a3,800021e0 <atol+0x34>
80002224: 00000513 li a0,0
80002228: fddff06f j 80002204 <atol+0x58>
8000222c: 00000513 li a0,0
80002230: 00008067 ret
0000000080002234 <terminate>:
80002234: fffff797 auipc a5,0xfffff
80002238: dcc78793 addi a5,a5,-564 # 80001000 <tohost>
8000223c: 0007b703 ld a4,0(a5)
80002240: 00070a63 beqz a4,80002254 <terminate+0x20>
80002244: fffff717 auipc a4,0xfffff
80002248: de073e23 sd zero,-516(a4) # 80001040 <fromhost>
8000224c: 0007b703 ld a4,0(a5)
80002250: fe071ae3 bnez a4,80002244 <terminate+0x10>
80002254: fffff797 auipc a5,0xfffff
80002258: daa7b623 sd a0,-596(a5) # 80001000 <tohost>
8000225c: 0000006f j 8000225c <terminate+0x28>
0000000080002260 <wtf>:
80002260: ff010113 addi sp,sp,-16
80002264: 34900513 li a0,841
80002268: 00113423 sd ra,8(sp)
8000226c: fc9ff0ef jal ra,80002234 <terminate>
0000000080002270 <printhex>:
80002270: fe010113 addi sp,sp,-32
80002274: 00810613 addi a2,sp,8
80002278: 01710713 addi a4,sp,23
8000227c: 00900813 li a6,9
80002280: 0080006f j 80002288 <printhex+0x18>
80002284: 00078713 mv a4,a5
80002288: 00f57793 andi a5,a0,15
8000228c: 03000593 li a1,48
80002290: 0ff7f693 andi a3,a5,255
80002294: 00f87463 bgeu a6,a5,8000229c <printhex+0x2c>
80002298: 05700593 li a1,87
8000229c: 00b687bb addw a5,a3,a1
800022a0: 00f70023 sb a5,0(a4)
800022a4: 00455513 srli a0,a0,0x4
800022a8: fff70793 addi a5,a4,-1
800022ac: fce61ce3 bne a2,a4,80002284 <printhex+0x14>
800022b0: 00814783 lbu a5,8(sp)
800022b4: 00010c23 sb zero,24(sp)
800022b8: 04078463 beqz a5,80002300 <printhex+0x90>
800022bc: 10100513 li a0,257
800022c0: 00060693 mv a3,a2
800022c4: fffff717 auipc a4,0xfffff
800022c8: d3c70713 addi a4,a4,-708 # 80001000 <tohost>
800022cc: 03051513 slli a0,a0,0x30
800022d0: 00073583 ld a1,0(a4)
800022d4: 00168693 addi a3,a3,1
800022d8: 00a7e633 or a2,a5,a0
800022dc: 00058a63 beqz a1,800022f0 <printhex+0x80>
800022e0: fffff797 auipc a5,0xfffff
800022e4: d607b023 sd zero,-672(a5) # 80001040 <fromhost>
800022e8: 00073783 ld a5,0(a4)
800022ec: fe079ae3 bnez a5,800022e0 <printhex+0x70>
800022f0: 0006c783 lbu a5,0(a3)
800022f4: fffff597 auipc a1,0xfffff
800022f8: d0c5b623 sd a2,-756(a1) # 80001000 <tohost>
800022fc: fc079ae3 bnez a5,800022d0 <printhex+0x60>
80002300: 02010113 addi sp,sp,32
80002304: 00008067 ret
0000000080002308 <handle_fault>:
80002308: fffff6b7 lui a3,0xfffff
8000230c: 00d50733 add a4,a0,a3
80002310: 0003e7b7 lui a5,0x3e
80002314: 14f77463 bgeu a4,a5,8000245c <handle_fault+0x154>
80002318: 00c55893 srli a7,a0,0xc
8000231c: 60088613 addi a2,a7,1536
80002320: 00002817 auipc a6,0x2
80002324: ce080813 addi a6,a6,-800 # 80004000 <pt>
80002328: 00361793 slli a5,a2,0x3
8000232c: 00f807b3 add a5,a6,a5
80002330: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
80002334: 00d57533 and a0,a0,a3
80002338: 02070663 beqz a4,80002364 <handle_fault+0x5c>
8000233c: 04077693 andi a3,a4,64
80002340: 10068063 beqz a3,80002440 <handle_fault+0x138>
80002344: 08077693 andi a3,a4,128
80002348: 16069863 bnez a3,800024b8 <handle_fault+0x1b0>
8000234c: 00f00693 li a3,15
80002350: 16d59463 bne a1,a3,800024b8 <handle_fault+0x1b0>
80002354: 08076713 ori a4,a4,128
80002358: 00e7b023 sd a4,0(a5)
8000235c: 12050073 sfence.vma a0
80002360: 00008067 ret
80002364: 00006797 auipc a5,0x6
80002368: 48478793 addi a5,a5,1156 # 800087e8 <freelist_head>
8000236c: 0007b703 ld a4,0(a5)
80002370: 18070c63 beqz a4,80002508 <handle_fault+0x200>
80002374: 00873783 ld a5,8(a4)
80002378: 00006697 auipc a3,0x6
8000237c: 46868693 addi a3,a3,1128 # 800087e0 <freelist_tail>
80002380: 0006b683 ld a3,0(a3)
80002384: 00006597 auipc a1,0x6
80002388: 46f5b223 sd a5,1124(a1) # 800087e8 <freelist_head>
8000238c: 0cd78263 beq a5,a3,80002450 <handle_fault+0x148>
80002390: 00073783 ld a5,0(a4)
80002394: 00361593 slli a1,a2,0x3
80002398: 00b805b3 add a1,a6,a1
8000239c: 00c7d793 srli a5,a5,0xc
800023a0: 00a79793 slli a5,a5,0xa
800023a4: 0df7e313 ori t1,a5,223
800023a8: 01f7e693 ori a3,a5,31
800023ac: 0065b023 sd t1,0(a1)
800023b0: 12050073 sfence.vma a0
800023b4: 00006797 auipc a5,0x6
800023b8: 03c78793 addi a5,a5,60 # 800083f0 <user_mapping>
800023bc: 00489893 slli a7,a7,0x4
800023c0: 011788b3 add a7,a5,a7
800023c4: 0008b783 ld a5,0(a7)
800023c8: 18079863 bnez a5,80002558 <handle_fault+0x250>
800023cc: 00073783 ld a5,0(a4)
800023d0: 00f8b023 sd a5,0(a7)
800023d4: 00873783 ld a5,8(a4)
800023d8: 00f8b423 sd a5,8(a7)
800023dc: 000408b7 lui a7,0x40
800023e0: 1008a8f3 csrrs a7,sstatus,a7
800023e4: ffe007b7 lui a5,0xffe00
800023e8: 00f507b3 add a5,a0,a5
800023ec: 000015b7 lui a1,0x1
800023f0: 00050713 mv a4,a0
800023f4: 00b785b3 add a1,a5,a1
800023f8: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
800023fc: 0087be83 ld t4,8(a5)
80002400: 0107be03 ld t3,16(a5)
80002404: 0187b303 ld t1,24(a5)
80002408: 01e73023 sd t5,0(a4)
8000240c: 01d73423 sd t4,8(a4)
80002410: 01c73823 sd t3,16(a4)
80002414: 00673c23 sd t1,24(a4)
80002418: 02078793 addi a5,a5,32
8000241c: 02070713 addi a4,a4,32
80002420: fcb79ce3 bne a5,a1,800023f8 <handle_fault+0xf0>
80002424: 10089073 csrw sstatus,a7
80002428: 00361613 slli a2,a2,0x3
8000242c: 00c807b3 add a5,a6,a2
80002430: 00d7b023 sd a3,0(a5)
80002434: 12050073 sfence.vma a0
80002438: 0000100f fence.i
8000243c: 00008067 ret
80002440: 04076713 ori a4,a4,64
80002444: 00e7b023 sd a4,0(a5)
80002448: 12050073 sfence.vma a0
8000244c: 00008067 ret
80002450: 00006797 auipc a5,0x6
80002454: 3807b823 sd zero,912(a5) # 800087e0 <freelist_tail>
80002458: f39ff06f j 80002390 <handle_fault+0x88>
8000245c: 10100613 li a2,257
80002460: 04100713 li a4,65
80002464: 00000697 auipc a3,0x0
80002468: 72468693 addi a3,a3,1828 # 80002b88 <pass+0x10>
8000246c: fffff797 auipc a5,0xfffff
80002470: b9478793 addi a5,a5,-1132 # 80001000 <tohost>
80002474: 03061613 slli a2,a2,0x30
80002478: 0007b503 ld a0,0(a5)
8000247c: 00168693 addi a3,a3,1
80002480: 00c765b3 or a1,a4,a2
80002484: 00050a63 beqz a0,80002498 <handle_fault+0x190>
80002488: fffff717 auipc a4,0xfffff
8000248c: ba073c23 sd zero,-1096(a4) # 80001040 <fromhost>
80002490: 0007b703 ld a4,0(a5)
80002494: fe071ae3 bnez a4,80002488 <handle_fault+0x180>
80002498: 0006c703 lbu a4,0(a3)
8000249c: fffff517 auipc a0,0xfffff
800024a0: b6b53223 sd a1,-1180(a0) # 80001000 <tohost>
800024a4: fc071ae3 bnez a4,80002478 <handle_fault+0x170>
800024a8: ff010113 addi sp,sp,-16
800024ac: 00300513 li a0,3
800024b0: 00113423 sd ra,8(sp)
800024b4: d81ff0ef jal ra,80002234 <terminate>
800024b8: 10100613 li a2,257
800024bc: 04100713 li a4,65
800024c0: 00000697 auipc a3,0x0
800024c4: 71068693 addi a3,a3,1808 # 80002bd0 <pass+0x58>
800024c8: fffff797 auipc a5,0xfffff
800024cc: b3878793 addi a5,a5,-1224 # 80001000 <tohost>
800024d0: 03061613 slli a2,a2,0x30
800024d4: 0007b503 ld a0,0(a5)
800024d8: 00168693 addi a3,a3,1
800024dc: 00c765b3 or a1,a4,a2
800024e0: 00050a63 beqz a0,800024f4 <handle_fault+0x1ec>
800024e4: fffff717 auipc a4,0xfffff
800024e8: b4073e23 sd zero,-1188(a4) # 80001040 <fromhost>
800024ec: 0007b703 ld a4,0(a5)
800024f0: fe071ae3 bnez a4,800024e4 <handle_fault+0x1dc>
800024f4: 0006c703 lbu a4,0(a3)
800024f8: fffff517 auipc a0,0xfffff
800024fc: b0b53423 sd a1,-1272(a0) # 80001000 <tohost>
80002500: fc071ae3 bnez a4,800024d4 <handle_fault+0x1cc>
80002504: fa5ff06f j 800024a8 <handle_fault+0x1a0>
80002508: 10100693 li a3,257
8000250c: 04100713 li a4,65
80002510: 00000617 auipc a2,0x0
80002514: 70860613 addi a2,a2,1800 # 80002c18 <pass+0xa0>
80002518: fffff797 auipc a5,0xfffff
8000251c: ae878793 addi a5,a5,-1304 # 80001000 <tohost>
80002520: 03069693 slli a3,a3,0x30
80002524: 0007b503 ld a0,0(a5)
80002528: 00160613 addi a2,a2,1
8000252c: 00d765b3 or a1,a4,a3
80002530: 00050a63 beqz a0,80002544 <handle_fault+0x23c>
80002534: fffff717 auipc a4,0xfffff
80002538: b0073623 sd zero,-1268(a4) # 80001040 <fromhost>
8000253c: 0007b703 ld a4,0(a5)
80002540: fe071ae3 bnez a4,80002534 <handle_fault+0x22c>
80002544: 00064703 lbu a4,0(a2)
80002548: fffff517 auipc a0,0xfffff
8000254c: aab53c23 sd a1,-1352(a0) # 80001000 <tohost>
80002550: fc071ae3 bnez a4,80002524 <handle_fault+0x21c>
80002554: f55ff06f j 800024a8 <handle_fault+0x1a0>
80002558: 10100693 li a3,257
8000255c: 04100713 li a4,65
80002560: 00000617 auipc a2,0x0
80002564: 6d060613 addi a2,a2,1744 # 80002c30 <pass+0xb8>
80002568: fffff797 auipc a5,0xfffff
8000256c: a9878793 addi a5,a5,-1384 # 80001000 <tohost>
80002570: 03069693 slli a3,a3,0x30
80002574: 0007b503 ld a0,0(a5)
80002578: 00160613 addi a2,a2,1
8000257c: 00d765b3 or a1,a4,a3
80002580: 00050a63 beqz a0,80002594 <handle_fault+0x28c>
80002584: fffff717 auipc a4,0xfffff
80002588: aa073e23 sd zero,-1348(a4) # 80001040 <fromhost>
8000258c: 0007b703 ld a4,0(a5)
80002590: fe071ae3 bnez a4,80002584 <handle_fault+0x27c>
80002594: 00064703 lbu a4,0(a2)
80002598: fffff517 auipc a0,0xfffff
8000259c: a6b53423 sd a1,-1432(a0) # 80001000 <tohost>
800025a0: fc071ae3 bnez a4,80002574 <handle_fault+0x26c>
800025a4: f05ff06f j 800024a8 <handle_fault+0x1a0>
00000000800025a8 <handle_trap>:
800025a8: 11853583 ld a1,280(a0)
800025ac: f9010113 addi sp,sp,-112
800025b0: 06813023 sd s0,96(sp)
800025b4: 06113423 sd ra,104(sp)
800025b8: 04913c23 sd s1,88(sp)
800025bc: 05213823 sd s2,80(sp)
800025c0: 05313423 sd s3,72(sp)
800025c4: 05413023 sd s4,64(sp)
800025c8: 03513c23 sd s5,56(sp)
800025cc: 03613823 sd s6,48(sp)
800025d0: 03713423 sd s7,40(sp)
800025d4: 03813023 sd s8,32(sp)
800025d8: 01913c23 sd s9,24(sp)
800025dc: 01a13823 sd s10,16(sp)
800025e0: 01b13423 sd s11,8(sp)
800025e4: 00800793 li a5,8
800025e8: 00050413 mv s0,a0
800025ec: 12f58a63 beq a1,a5,80002720 <handle_trap+0x178>
800025f0: 00200793 li a5,2
800025f4: 06f58063 beq a1,a5,80002654 <handle_trap+0xac>
800025f8: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
800025fc: 00100713 li a4,1
80002600: 00f77663 bgeu a4,a5,8000260c <handle_trap+0x64>
80002604: 00f00793 li a5,15
80002608: 1ef59463 bne a1,a5,800027f0 <handle_trap+0x248>
8000260c: 11043503 ld a0,272(s0)
80002610: cf9ff0ef jal ra,80002308 <handle_fault>
80002614: 00040513 mv a0,s0
80002618: 06013403 ld s0,96(sp)
8000261c: 06813083 ld ra,104(sp)
80002620: 05813483 ld s1,88(sp)
80002624: 05013903 ld s2,80(sp)
80002628: 04813983 ld s3,72(sp)
8000262c: 04013a03 ld s4,64(sp)
80002630: 03813a83 ld s5,56(sp)
80002634: 03013b03 ld s6,48(sp)
80002638: 02813b83 ld s7,40(sp)
8000263c: 02013c03 ld s8,32(sp)
80002640: 01813c83 ld s9,24(sp)
80002644: 01013d03 ld s10,16(sp)
80002648: 00813d83 ld s11,8(sp)
8000264c: 07010113 addi sp,sp,112
80002650: 9f1fd06f j 80000040 <pop_tf>
80002654: 10853703 ld a4,264(a0)
80002658: 00377793 andi a5,a4,3
8000265c: 06079a63 bnez a5,800026d0 <handle_trap+0x128>
80002660: 008007ef jal a5,80002668 <handle_trap+0xc0>
80002664: 00301073 fssr zero
80002668: 00072703 lw a4,0(a4)
8000266c: 0007a783 lw a5,0(a5)
80002670: 04f70c63 beq a4,a5,800026c8 <handle_trap+0x120>
80002674: 10100513 li a0,257
80002678: 04100793 li a5,65
8000267c: 00000697 auipc a3,0x0
80002680: 68c68693 addi a3,a3,1676 # 80002d08 <pass+0x190>
80002684: fffff717 auipc a4,0xfffff
80002688: 97c70713 addi a4,a4,-1668 # 80001000 <tohost>
8000268c: 03051513 slli a0,a0,0x30
80002690: 00073583 ld a1,0(a4)
80002694: 00168693 addi a3,a3,1
80002698: 00a7e633 or a2,a5,a0
8000269c: 00058a63 beqz a1,800026b0 <handle_trap+0x108>
800026a0: fffff797 auipc a5,0xfffff
800026a4: 9a07b023 sd zero,-1632(a5) # 80001040 <fromhost>
800026a8: 00073783 ld a5,0(a4)
800026ac: fe079ae3 bnez a5,800026a0 <handle_trap+0xf8>
800026b0: 0006c783 lbu a5,0(a3)
800026b4: fffff597 auipc a1,0xfffff
800026b8: 94c5b623 sd a2,-1716(a1) # 80001000 <tohost>
800026bc: fc079ae3 bnez a5,80002690 <handle_trap+0xe8>
800026c0: 00300513 li a0,3
800026c4: b71ff0ef jal ra,80002234 <terminate>
800026c8: 00100513 li a0,1
800026cc: b69ff0ef jal ra,80002234 <terminate>
800026d0: 10100793 li a5,257
800026d4: 00000617 auipc a2,0x0
800026d8: 60c60613 addi a2,a2,1548 # 80002ce0 <pass+0x168>
800026dc: 04100693 li a3,65
800026e0: fffff717 auipc a4,0xfffff
800026e4: 92070713 addi a4,a4,-1760 # 80001000 <tohost>
800026e8: 03079793 slli a5,a5,0x30
800026ec: 00073503 ld a0,0(a4)
800026f0: 00160613 addi a2,a2,1
800026f4: 00f6e5b3 or a1,a3,a5
800026f8: 00050a63 beqz a0,8000270c <handle_trap+0x164>
800026fc: fffff697 auipc a3,0xfffff
80002700: 9406b223 sd zero,-1724(a3) # 80001040 <fromhost>
80002704: 00073683 ld a3,0(a4)
80002708: fe069ae3 bnez a3,800026fc <handle_trap+0x154>
8000270c: 00064683 lbu a3,0(a2)
80002710: fffff517 auipc a0,0xfffff
80002714: 8eb53823 sd a1,-1808(a0) # 80001000 <tohost>
80002718: fc069ae3 bnez a3,800026ec <handle_trap+0x144>
8000271c: fa5ff06f j 800026c0 <handle_trap+0x118>
80002720: 05052903 lw s2,80(a0)
80002724: 00001c37 lui s8,0x1
80002728: 00006497 auipc s1,0x6
8000272c: cc848493 addi s1,s1,-824 # 800083f0 <user_mapping>
80002730: 00002b97 auipc s7,0x2
80002734: 8d0b8b93 addi s7,s7,-1840 # 80004000 <pt>
80002738: 00040b37 lui s6,0x40
8000273c: ffe00ab7 lui s5,0xffe00
80002740: 00006a17 auipc s4,0x6
80002744: 0a0a0a13 addi s4,s4,160 # 800087e0 <freelist_tail>
80002748: 0003f9b7 lui s3,0x3f
8000274c: 01c0006f j 80002768 <handle_trap+0x1c0>
80002750: 00f73423 sd a5,8(a4)
80002754: 00006717 auipc a4,0x6
80002758: 08f73623 sd a5,140(a4) # 800087e0 <freelist_tail>
8000275c: 000017b7 lui a5,0x1
80002760: 00fc0c33 add s8,s8,a5
80002764: 173c0a63 beq s8,s3,800028d8 <handle_trap+0x330>
80002768: 00cc5793 srli a5,s8,0xc
8000276c: 00479413 slli s0,a5,0x4
80002770: 00848733 add a4,s1,s0
80002774: 00073703 ld a4,0(a4)
80002778: fe0702e3 beqz a4,8000275c <handle_trap+0x1b4>
8000277c: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
80002780: 00379793 slli a5,a5,0x3
80002784: 00fb87b3 add a5,s7,a5
80002788: 0007bc83 ld s9,0(a5)
8000278c: 040cf793 andi a5,s9,64
80002790: 0e078e63 beqz a5,8000288c <handle_trap+0x2e4>
80002794: 100b2d73 csrrs s10,sstatus,s6
80002798: 015c0db3 add s11,s8,s5
8000279c: 00001637 lui a2,0x1
800027a0: 000d8593 mv a1,s11
800027a4: 000c0513 mv a0,s8
800027a8: 969ff0ef jal ra,80002110 <memcmp>
800027ac: 00050e63 beqz a0,800027c8 <handle_trap+0x220>
800027b0: 080cfc93 andi s9,s9,128
800027b4: 080c8663 beqz s9,80002840 <handle_trap+0x298>
800027b8: 00001637 lui a2,0x1
800027bc: 000d8593 mv a1,s11
800027c0: 000c0513 mv a0,s8
800027c4: 83dff0ef jal ra,80002000 <memcpy>
800027c8: 008487b3 add a5,s1,s0
800027cc: 100d1073 csrw sstatus,s10
800027d0: 000a3703 ld a4,0(s4)
800027d4: 0007b023 sd zero,0(a5)
800027d8: f6071ce3 bnez a4,80002750 <handle_trap+0x1a8>
800027dc: 00006717 auipc a4,0x6
800027e0: 00f73223 sd a5,4(a4) # 800087e0 <freelist_tail>
800027e4: 00006717 auipc a4,0x6
800027e8: 00f73223 sd a5,4(a4) # 800087e8 <freelist_head>
800027ec: f71ff06f j 8000275c <handle_trap+0x1b4>
800027f0: 10100793 li a5,257
800027f4: 04100613 li a2,65
800027f8: 00000697 auipc a3,0x0
800027fc: 54068693 addi a3,a3,1344 # 80002d38 <pass+0x1c0>
80002800: fffff717 auipc a4,0xfffff
80002804: 80070713 addi a4,a4,-2048 # 80001000 <tohost>
80002808: 03079793 slli a5,a5,0x30
8000280c: 00073503 ld a0,0(a4)
80002810: 00168693 addi a3,a3,1
80002814: 00f665b3 or a1,a2,a5
80002818: 00050a63 beqz a0,8000282c <handle_trap+0x284>
8000281c: fffff617 auipc a2,0xfffff
80002820: 82063223 sd zero,-2012(a2) # 80001040 <fromhost>
80002824: 00073603 ld a2,0(a4)
80002828: fe061ae3 bnez a2,8000281c <handle_trap+0x274>
8000282c: 0006c603 lbu a2,0(a3)
80002830: ffffe517 auipc a0,0xffffe
80002834: 7cb53823 sd a1,2000(a0) # 80001000 <tohost>
80002838: fc061ae3 bnez a2,8000280c <handle_trap+0x264>
8000283c: e85ff06f j 800026c0 <handle_trap+0x118>
80002840: 10100793 li a5,257
80002844: 04100613 li a2,65
80002848: 00000697 auipc a3,0x0
8000284c: 46068693 addi a3,a3,1120 # 80002ca8 <pass+0x130>
80002850: ffffe717 auipc a4,0xffffe
80002854: 7b070713 addi a4,a4,1968 # 80001000 <tohost>
80002858: 03079793 slli a5,a5,0x30
8000285c: 00168693 addi a3,a3,1
80002860: 00f665b3 or a1,a2,a5
80002864: 00c0006f j 80002870 <handle_trap+0x2c8>
80002868: ffffe617 auipc a2,0xffffe
8000286c: 7c063c23 sd zero,2008(a2) # 80001040 <fromhost>
80002870: 00073603 ld a2,0(a4)
80002874: fe061ae3 bnez a2,80002868 <handle_trap+0x2c0>
80002878: 0006c603 lbu a2,0(a3)
8000287c: ffffe517 auipc a0,0xffffe
80002880: 78b53223 sd a1,1924(a0) # 80001000 <tohost>
80002884: fc061ce3 bnez a2,8000285c <handle_trap+0x2b4>
80002888: e39ff06f j 800026c0 <handle_trap+0x118>
8000288c: 10100793 li a5,257
80002890: 04100613 li a2,65
80002894: 00000697 auipc a3,0x0
80002898: 3dc68693 addi a3,a3,988 # 80002c70 <pass+0xf8>
8000289c: ffffe717 auipc a4,0xffffe
800028a0: 76470713 addi a4,a4,1892 # 80001000 <tohost>
800028a4: 03079793 slli a5,a5,0x30
800028a8: 00168693 addi a3,a3,1
800028ac: 00f665b3 or a1,a2,a5
800028b0: 00c0006f j 800028bc <handle_trap+0x314>
800028b4: ffffe617 auipc a2,0xffffe
800028b8: 78063623 sd zero,1932(a2) # 80001040 <fromhost>
800028bc: 00073603 ld a2,0(a4)
800028c0: fe061ae3 bnez a2,800028b4 <handle_trap+0x30c>
800028c4: 0006c603 lbu a2,0(a3)
800028c8: ffffe517 auipc a0,0xffffe
800028cc: 72b53c23 sd a1,1848(a0) # 80001000 <tohost>
800028d0: fc061ce3 bnez a2,800028a8 <handle_trap+0x300>
800028d4: dedff06f j 800026c0 <handle_trap+0x118>
800028d8: 00090513 mv a0,s2
800028dc: 959ff0ef jal ra,80002234 <terminate>
00000000800028e0 <vm_boot>:
800028e0: f14027f3 csrr a5,mhartid
800028e4: 18079c63 bnez a5,80002a7c <vm_boot+0x19c>
800028e8: 00002697 auipc a3,0x2
800028ec: 71868693 addi a3,a3,1816 # 80005000 <pt+0x1000>
800028f0: 00003717 auipc a4,0x3
800028f4: 71070713 addi a4,a4,1808 # 80006000 <pt+0x2000>
800028f8: 00c6d693 srli a3,a3,0xc
800028fc: 00c75713 srli a4,a4,0xc
80002900: 00004797 auipc a5,0x4
80002904: 70078793 addi a5,a5,1792 # 80007000 <pt+0x3000>
80002908: 00a69693 slli a3,a3,0xa
8000290c: 00a71713 slli a4,a4,0xa
80002910: 0016e693 ori a3,a3,1
80002914: 00176713 ori a4,a4,1
80002918: 00c7d793 srli a5,a5,0xc
8000291c: 00001897 auipc a7,0x1
80002920: 6ed8b223 sd a3,1764(a7) # 80004000 <pt>
80002924: 00a79793 slli a5,a5,0xa
80002928: 00002697 auipc a3,0x2
8000292c: 6ce6b823 sd a4,1744(a3) # 80004ff8 <pt+0xff8>
80002930: 20000737 lui a4,0x20000
80002934: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
80002938: fff00593 li a1,-1
8000293c: 0017e793 ori a5,a5,1
80002940: 00001617 auipc a2,0x1
80002944: 6c060613 addi a2,a2,1728 # 80004000 <pt>
80002948: ed010113 addi sp,sp,-304
8000294c: 03f59813 slli a6,a1,0x3f
80002950: 00004697 auipc a3,0x4
80002954: 6ae6b423 sd a4,1704(a3) # 80006ff8 <pt+0x2ff8>
80002958: 00002717 auipc a4,0x2
8000295c: 6af73423 sd a5,1704(a4) # 80005000 <pt+0x1000>
80002960: 00c65793 srli a5,a2,0xc
80002964: 12113423 sd ra,296(sp)
80002968: 12813023 sd s0,288(sp)
8000296c: 0107e7b3 or a5,a5,a6
80002970: 18079073 csrw satp,a5
80002974: 01f00793 li a5,31
80002978: 00b5d593 srli a1,a1,0xb
8000297c: 00000297 auipc t0,0x0
80002980: 01428293 addi t0,t0,20 # 80002990 <vm_boot+0xb0>
80002984: 305292f3 csrrw t0,mtvec,t0
80002988: 3b059073 csrw pmpaddr0,a1
8000298c: 3a079073 csrw pmpcfg0,a5
80002990: bff00813 li a6,-1025
80002994: 01581813 slli a6,a6,0x15
80002998: ffffd797 auipc a5,0xffffd
8000299c: 73078793 addi a5,a5,1840 # 800000c8 <trap_entry>
800029a0: 010787b3 add a5,a5,a6
800029a4: 10579073 csrw stvec,a5
800029a8: 340027f3 csrr a5,mscratch
800029ac: 010787b3 add a5,a5,a6
800029b0: 14079073 csrw sscratch,a5
800029b4: 0000b7b7 lui a5,0xb
800029b8: 1007879b addiw a5,a5,256
800029bc: 30279073 csrw medeleg,a5
800029c0: 0001e7b7 lui a5,0x1e
800029c4: 30079073 csrw mstatus,a5
800029c8: 30405073 csrwi mie,0
800029cc: 00005697 auipc a3,0x5
800029d0: 63468693 addi a3,a3,1588 # 80008000 <freelist_nodes>
800029d4: 010687b3 add a5,a3,a6
800029d8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
800029dc: 00006617 auipc a2,0x6
800029e0: e0f63623 sd a5,-500(a2) # 800087e8 <freelist_head>
800029e4: 00006797 auipc a5,0x6
800029e8: dee7be23 sd a4,-516(a5) # 800087e0 <freelist_tail>
800029ec: 00006317 auipc t1,0x6
800029f0: a0430313 addi t1,t1,-1532 # 800083f0 <user_mapping>
800029f4: 00d00793 li a5,13
800029f8: 000808b7 lui a7,0x80
800029fc: 01080813 addi a6,a6,16
80002a00: 03f7871b addiw a4,a5,63
80002a04: 02071713 slli a4,a4,0x20
80002a08: 0017d61b srliw a2,a5,0x1
80002a0c: 02075713 srli a4,a4,0x20
80002a10: 00c7c7b3 xor a5,a5,a2
80002a14: 01170733 add a4,a4,a7
80002a18: 010685b3 add a1,a3,a6
80002a1c: 00c71713 slli a4,a4,0xc
80002a20: 0057979b slliw a5,a5,0x5
80002a24: 00e6b023 sd a4,0(a3)
80002a28: 00b6b423 sd a1,8(a3)
80002a2c: 0207f793 andi a5,a5,32
80002a30: 01068693 addi a3,a3,16
80002a34: 00c7e7b3 or a5,a5,a2
80002a38: fcd314e3 bne t1,a3,80002a00 <vm_boot+0x120>
80002a3c: 00050413 mv s0,a0
80002a40: 12000613 li a2,288
80002a44: 00000593 li a1,0
80002a48: 00010513 mv a0,sp
80002a4c: 00006797 auipc a5,0x6
80002a50: 9807be23 sd zero,-1636(a5) # 800083e8 <freelist_nodes+0x3e8>
80002a54: e08ff0ef jal ra,8000205c <memset>
80002a58: 800007b7 lui a5,0x80000
80002a5c: 00f40433 add s0,s0,a5
80002a60: 00010513 mv a0,sp
80002a64: 10813423 sd s0,264(sp)
80002a68: dd8fd0ef jal ra,80000040 <pop_tf>
80002a6c: 12813083 ld ra,296(sp)
80002a70: 12013403 ld s0,288(sp)
80002a74: 13010113 addi sp,sp,304
80002a78: 00008067 ret
80002a7c: 0a1d57b7 lui a5,0xa1d5
80002a80: 000805b7 lui a1,0x80
80002a84: 90278793 addi a5,a5,-1790 # a1d4902 <_start-0x75e2b6fe>
80002a88: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
80002a8c: 00100613 li a2,1
80002a90: 00b7f733 and a4,a5,a1
80002a94: 01f61613 slli a2,a2,0x1f
80002a98: 0017f693 andi a3,a5,1
80002a9c: 02079793 slli a5,a5,0x20
80002aa0: 0207d793 srli a5,a5,0x20
80002aa4: 00c70733 add a4,a4,a2
80002aa8: 02068263 beqz a3,80002acc <vm_boot+0x1ec>
80002aac: 0007202f amoadd.w zero,zero,(a4)
80002ab0: 0017d793 srli a5,a5,0x1
80002ab4: 00b7f733 and a4,a5,a1
80002ab8: 0017f693 andi a3,a5,1
80002abc: 02079793 slli a5,a5,0x20
80002ac0: 0207d793 srli a5,a5,0x20
80002ac4: 00c70733 add a4,a4,a2
80002ac8: fe0692e3 bnez a3,80002aac <vm_boot+0x1cc>
80002acc: 00072003 lw zero,0(a4)
80002ad0: 0017d793 srli a5,a5,0x1
80002ad4: fe1ff06f j 80002ab4 <vm_boot+0x1d4>
0000000080002ad8 <extra_boot>:
80002ad8: 00008067 ret
0000000080002adc <userstart>:
80002adc: 00301073 fssr zero
80002ae0: 00000517 auipc a0,0x0
80002ae4: 52052007 flw ft0,1312(a0) # 80003000 <begin_signature>
80002ae8: 00000517 auipc a0,0x0
80002aec: 51c52087 flw ft1,1308(a0) # 80003004 <three>
80002af0: 1000f0d3 fmul.s ft1,ft1,ft0
0000000080002af4 <test_2>:
80002af4: a0102553 feq.s a0,ft0,ft1
80002af8: 00100e93 li t4,1
80002afc: 00200193 li gp,2
80002b00: 07d51463 bne a0,t4,80002b68 <fail>
0000000080002b04 <test_3>:
80002b04: a0100553 fle.s a0,ft0,ft1
80002b08: 00100e93 li t4,1
80002b0c: 00300193 li gp,3
80002b10: 05d51c63 bne a0,t4,80002b68 <fail>
0000000080002b14 <test_4>:
80002b14: a0101553 flt.s a0,ft0,ft1
80002b18: 00000e93 li t4,0
80002b1c: 00400193 li gp,4
80002b20: 05d51463 bne a0,t4,80002b68 <fail>
80002b24: d0007053 fcvt.s.w ft0,zero
80002b28: 00100513 li a0,1
80002b2c: d00570d3 fcvt.s.w ft1,a0
80002b30: 1000f0d3 fmul.s ft1,ft1,ft0
0000000080002b34 <test_5>:
80002b34: a0102553 feq.s a0,ft0,ft1
80002b38: 00100e93 li t4,1
80002b3c: 00500193 li gp,5
80002b40: 03d51463 bne a0,t4,80002b68 <fail>
0000000080002b44 <test_6>:
80002b44: a0100553 fle.s a0,ft0,ft1
80002b48: 00100e93 li t4,1
80002b4c: 00600193 li gp,6
80002b50: 01d51c63 bne a0,t4,80002b68 <fail>
0000000080002b54 <test_7>:
80002b54: a0101553 flt.s a0,ft0,ft1
80002b58: 00000e93 li t4,0
80002b5c: 00700193 li gp,7
80002b60: 01d51463 bne a0,t4,80002b68 <fail>
80002b64: 00301a63 bne zero,gp,80002b78 <pass>
0000000080002b68 <fail>:
80002b68: 00119513 slli a0,gp,0x1
80002b6c: 00050063 beqz a0,80002b6c <fail+0x4>
80002b70: 00156513 ori a0,a0,1
80002b74: 00000073 ecall
0000000080002b78 <pass>:
80002b78: 00100513 li a0,1
80002b7c: 00000073 ecall
80002b80: c0001073 unimp
Disassembly of section .data:
0000000080003000 <begin_signature>:
80003000: 0000 unimp
80003002: ff80 sd s0,56(a5)
0000000080003004 <three>:
80003004: 0000 unimp
80003006: 4040 lw s0,4(s0)