Files
Toooba/Tests/isa/rv64uf-v-recoding.dump
2019-03-26 14:49:40 -04:00

898 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: 2580206f j 8000225c <wtf>
0000000080000008 <trap_vector>:
80000008: 2540206f j 8000225c <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: 00003517 auipc a0,0x3
80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
80000038: 09d0206f j 800028d4 <vm_boot>
000000008000003c <pop_tf>:
8000003c: 10853283 ld t0,264(a0)
80000040: 14129073 csrw sepc,t0
80000044: 00853083 ld ra,8(a0)
80000048: 01053103 ld sp,16(a0)
8000004c: 01853183 ld gp,24(a0)
80000050: 02053203 ld tp,32(a0)
80000054: 02853283 ld t0,40(a0)
80000058: 03053303 ld t1,48(a0)
8000005c: 03853383 ld t2,56(a0)
80000060: 04053403 ld s0,64(a0)
80000064: 04853483 ld s1,72(a0)
80000068: 05853583 ld a1,88(a0)
8000006c: 06053603 ld a2,96(a0)
80000070: 06853683 ld a3,104(a0)
80000074: 07053703 ld a4,112(a0)
80000078: 07853783 ld a5,120(a0)
8000007c: 08053803 ld a6,128(a0)
80000080: 08853883 ld a7,136(a0)
80000084: 09053903 ld s2,144(a0)
80000088: 09853983 ld s3,152(a0)
8000008c: 0a053a03 ld s4,160(a0)
80000090: 0a853a83 ld s5,168(a0)
80000094: 0b053b03 ld s6,176(a0)
80000098: 0b853b83 ld s7,184(a0)
8000009c: 0c053c03 ld s8,192(a0)
800000a0: 0c853c83 ld s9,200(a0)
800000a4: 0d053d03 ld s10,208(a0)
800000a8: 0d853d83 ld s11,216(a0)
800000ac: 0e053e03 ld t3,224(a0)
800000b0: 0e853e83 ld t4,232(a0)
800000b4: 0f053f03 ld t5,240(a0)
800000b8: 0f853f83 ld t6,248(a0)
800000bc: 05053503 ld a0,80(a0)
800000c0: 10200073 sret
00000000800000c4 <trap_entry>:
800000c4: 14011173 csrrw sp,sscratch,sp
800000c8: 00113423 sd ra,8(sp)
800000cc: 00313c23 sd gp,24(sp)
800000d0: 02413023 sd tp,32(sp)
800000d4: 02513423 sd t0,40(sp)
800000d8: 02613823 sd t1,48(sp)
800000dc: 02713c23 sd t2,56(sp)
800000e0: 04813023 sd s0,64(sp)
800000e4: 04913423 sd s1,72(sp)
800000e8: 04a13823 sd a0,80(sp)
800000ec: 04b13c23 sd a1,88(sp)
800000f0: 06c13023 sd a2,96(sp)
800000f4: 06d13423 sd a3,104(sp)
800000f8: 06e13823 sd a4,112(sp)
800000fc: 06f13c23 sd a5,120(sp)
80000100: 09013023 sd a6,128(sp)
80000104: 09113423 sd a7,136(sp)
80000108: 09213823 sd s2,144(sp)
8000010c: 09313c23 sd s3,152(sp)
80000110: 0b413023 sd s4,160(sp)
80000114: 0b513423 sd s5,168(sp)
80000118: 0b613823 sd s6,176(sp)
8000011c: 0b713c23 sd s7,184(sp)
80000120: 0d813023 sd s8,192(sp)
80000124: 0d913423 sd s9,200(sp)
80000128: 0da13823 sd s10,208(sp)
8000012c: 0db13c23 sd s11,216(sp)
80000130: 0fc13023 sd t3,224(sp)
80000134: 0fd13423 sd t4,232(sp)
80000138: 0fe13823 sd t5,240(sp)
8000013c: 0ff13c23 sd t6,248(sp)
80000140: 140112f3 csrrw t0,sscratch,sp
80000144: 00513823 sd t0,16(sp)
80000148: 100022f3 csrr t0,sstatus
8000014c: 10513023 sd t0,256(sp)
80000150: 141022f3 csrr t0,sepc
80000154: 10513423 sd t0,264(sp)
80000158: 143022f3 csrr t0,sbadaddr
8000015c: 10513823 sd t0,272(sp)
80000160: 142022f3 csrr t0,scause
80000164: 10513c23 sd t0,280(sp)
80000168: 00010513 mv a0,sp
8000016c: 4300206f j 8000259c <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 bleu a3,a0,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 bleu a3,a0,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 bleu a2,a0,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 bleu a2,a0,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: 00050713 mv a4,a0
800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
800020c8: 00150513 addi a0,a0,1
800020cc: 00054783 lbu a5,0(a0)
800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
800020d4: 40e50533 sub a0,a0,a4
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: 04079263 bnez a5,8000215c <memcmp+0x4c>
8000211c: ff867693 andi a3,a2,-8
80002120: 00d506b3 add a3,a0,a3
80002124: 00050813 mv a6,a0
80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
8000212c: 00053703 ld a4,0(a0)
80002130: 0005b783 ld a5,0(a1)
80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
80002138: 0240006f j 8000215c <memcmp+0x4c>
8000213c: 00053703 ld a4,0(a0)
80002140: 0005b783 ld a5,0(a1)
80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
80002148: 00850513 addi a0,a0,8
8000214c: 00858593 addi a1,a1,8
80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
80002154: 41050833 sub a6,a0,a6
80002158: 41060633 sub a2,a2,a6
8000215c: 00c58633 add a2,a1,a2
80002160: 0140006f j 80002174 <memcmp+0x64>
80002164: 00158593 addi a1,a1,1
80002168: fff54783 lbu a5,-1(a0)
8000216c: fff5c703 lbu a4,-1(a1)
80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
80002174: 00150513 addi a0,a0,1
80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
8000217c: 00000513 li a0,0
80002180: 00008067 ret
80002184: 40e7853b subw a0,a5,a4
80002188: 00008067 ret
000000008000218c <strcpy>:
8000218c: 00050793 mv a5,a0
80002190: 00158593 addi a1,a1,1
80002194: fff5c703 lbu a4,-1(a1)
80002198: 00178793 addi a5,a5,1
8000219c: fee78fa3 sb a4,-1(a5)
800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
800021a4: 00008067 ret
00000000800021a8 <atol>:
800021a8: 00054783 lbu a5,0(a0)
800021ac: 02000713 li a4,32
800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
800021b4: 00150513 addi a0,a0,1
800021b8: 00054783 lbu a5,0(a0)
800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
800021c0: fd57871b addiw a4,a5,-43
800021c4: 0fd77713 andi a4,a4,253
800021c8: 04070263 beqz a4,8000220c <atol+0x64>
800021cc: 00054683 lbu a3,0(a0)
800021d0: 00050793 mv a5,a0
800021d4: 00000613 li a2,0
800021d8: 04068863 beqz a3,80002228 <atol+0x80>
800021dc: 00000513 li a0,0
800021e0: 00178793 addi a5,a5,1
800021e4: fd06859b addiw a1,a3,-48
800021e8: 00251713 slli a4,a0,0x2
800021ec: 0007c683 lbu a3,0(a5)
800021f0: 00a70533 add a0,a4,a0
800021f4: 00151513 slli a0,a0,0x1
800021f8: 00a58533 add a0,a1,a0
800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
80002200: 00060463 beqz a2,80002208 <atol+0x60>
80002204: 40a00533 neg a0,a0
80002208: 00008067 ret
8000220c: 00154683 lbu a3,1(a0)
80002210: fd378793 addi a5,a5,-45
80002214: 0017b613 seqz a2,a5
80002218: 00150793 addi a5,a0,1
8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
80002220: 00000513 li a0,0
80002224: fddff06f j 80002200 <atol+0x58>
80002228: 00000513 li a0,0
8000222c: 00008067 ret
0000000080002230 <terminate>:
80002230: fffff797 auipc a5,0xfffff
80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
80002238: 0007b703 ld a4,0(a5)
8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
80002240: fffff717 auipc a4,0xfffff
80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
80002248: 0007b703 ld a4,0(a5)
8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
80002250: fffff797 auipc a5,0xfffff
80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
80002258: 0000006f j 80002258 <terminate+0x28>
000000008000225c <wtf>:
8000225c: ff010113 addi sp,sp,-16
80002260: 34900513 li a0,841
80002264: 00113423 sd ra,8(sp)
80002268: fc9ff0ef jal ra,80002230 <terminate>
000000008000226c <printhex>:
8000226c: fe010113 addi sp,sp,-32
80002270: 01710713 addi a4,sp,23
80002274: 00710813 addi a6,sp,7
80002278: 00900593 li a1,9
8000227c: 00f57793 andi a5,a0,15
80002280: 03000613 li a2,48
80002284: 0ff7f693 andi a3,a5,255
80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
8000228c: 05700613 li a2,87
80002290: 00c687bb addw a5,a3,a2
80002294: 00f70023 sb a5,0(a4)
80002298: fff70713 addi a4,a4,-1
8000229c: 00455513 srli a0,a0,0x4
800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
800022a4: 00814783 lbu a5,8(sp)
800022a8: 00010c23 sb zero,24(sp)
800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
800022b0: 10100513 li a0,257
800022b4: 00810693 addi a3,sp,8
800022b8: fffff717 auipc a4,0xfffff
800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
800022c0: 03051513 slli a0,a0,0x30
800022c4: 00073583 ld a1,0(a4)
800022c8: 00168693 addi a3,a3,1
800022cc: 00a7e633 or a2,a5,a0
800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
800022d4: fffff797 auipc a5,0xfffff
800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
800022dc: 00073783 ld a5,0(a4)
800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
800022e4: 0006c783 lbu a5,0(a3)
800022e8: fffff597 auipc a1,0xfffff
800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
800022f4: 02010113 addi sp,sp,32
800022f8: 00008067 ret
00000000800022fc <handle_fault>:
800022fc: fffff8b7 lui a7,0xfffff
80002300: 01150733 add a4,a0,a7
80002304: 0003e7b7 lui a5,0x3e
80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
8000230c: 00c55693 srli a3,a0,0xc
80002310: 60068813 addi a6,a3,1536
80002314: 00002617 auipc a2,0x2
80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
8000231c: 00381793 slli a5,a6,0x3
80002320: 00f607b3 add a5,a2,a5
80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
80002328: 01157533 and a0,a0,a7
8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
80002330: 00006797 auipc a5,0x6
80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
80002338: 0007b583 ld a1,0(a5)
8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
80002340: 0085b783 ld a5,8(a1)
80002344: 00006717 auipc a4,0x6
80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
8000234c: 00073703 ld a4,0(a4)
80002350: 00006897 auipc a7,0x6
80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
8000235c: 0005b783 ld a5,0(a1)
80002360: 00381893 slli a7,a6,0x3
80002364: 011608b3 add a7,a2,a7
80002368: 00c7d793 srli a5,a5,0xc
8000236c: 00a79793 slli a5,a5,0xa
80002370: 0df7e313 ori t1,a5,223
80002374: 01f7e713 ori a4,a5,31
80002378: 0068b023 sd t1,0(a7)
8000237c: 12050073 sfence.vma a0
80002380: 00006797 auipc a5,0x6
80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
80002388: 00469693 slli a3,a3,0x4
8000238c: 00d786b3 add a3,a5,a3
80002390: 0006b783 ld a5,0(a3)
80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
80002398: 0005b783 ld a5,0(a1)
8000239c: 00f6b023 sd a5,0(a3)
800023a0: 0085b783 ld a5,8(a1)
800023a4: 00f6b423 sd a5,8(a3)
800023a8: 000407b7 lui a5,0x40
800023ac: 1007a8f3 csrrs a7,sstatus,a5
800023b0: ffe007b7 lui a5,0xffe00
800023b4: 00f507b3 add a5,a0,a5
800023b8: 000015b7 lui a1,0x1
800023bc: 00050693 mv a3,a0
800023c0: 00b785b3 add a1,a5,a1
800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
800023c8: 0087be83 ld t4,8(a5)
800023cc: 0107be03 ld t3,16(a5)
800023d0: 0187b303 ld t1,24(a5)
800023d4: 01e6b023 sd t5,0(a3)
800023d8: 01d6b423 sd t4,8(a3)
800023dc: 01c6b823 sd t3,16(a3)
800023e0: 0066bc23 sd t1,24(a3)
800023e4: 02078793 addi a5,a5,32
800023e8: 02068693 addi a3,a3,32
800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
800023f0: 10089073 csrw sstatus,a7
800023f4: 00381813 slli a6,a6,0x3
800023f8: 01060633 add a2,a2,a6
800023fc: 00e63023 sd a4,0(a2)
80002400: 12050073 sfence.vma a0
80002404: 0000100f fence.i
80002408: 00008067 ret
8000240c: 04077693 andi a3,a4,64
80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
80002414: 04076713 ori a4,a4,64
80002418: 00e7b023 sd a4,0(a5)
8000241c: 12050073 sfence.vma a0
80002420: 00008067 ret
80002424: 08077693 andi a3,a4,128
80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
8000242c: 00f00693 li a3,15
80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
80002434: 08076713 ori a4,a4,128
80002438: 00e7b023 sd a4,0(a5)
8000243c: 12050073 sfence.vma a0
80002440: 00008067 ret
80002444: 00006797 auipc a5,0x6
80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
8000244c: f11ff06f j 8000235c <handle_fault+0x60>
80002450: 10100613 li a2,257
80002454: 04100713 li a4,65
80002458: 00000697 auipc a3,0x0
8000245c: 71868693 addi a3,a3,1816 # 80002b70 <pass+0xc>
80002460: fffff797 auipc a5,0xfffff
80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
80002468: 03061613 slli a2,a2,0x30
8000246c: 0007b503 ld a0,0(a5)
80002470: 00168693 addi a3,a3,1
80002474: 00c765b3 or a1,a4,a2
80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
8000247c: fffff717 auipc a4,0xfffff
80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
80002484: 0007b703 ld a4,0(a5)
80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
8000248c: 0006c703 lbu a4,0(a3)
80002490: fffff517 auipc a0,0xfffff
80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
8000249c: ff010113 addi sp,sp,-16
800024a0: 00300513 li a0,3
800024a4: 00113423 sd ra,8(sp)
800024a8: d89ff0ef jal ra,80002230 <terminate>
800024ac: 10100693 li a3,257
800024b0: 04100713 li a4,65
800024b4: 00000617 auipc a2,0x0
800024b8: 74c60613 addi a2,a2,1868 # 80002c00 <pass+0x9c>
800024bc: fffff797 auipc a5,0xfffff
800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
800024c4: 03069693 slli a3,a3,0x30
800024c8: 0007b503 ld a0,0(a5)
800024cc: 00160613 addi a2,a2,1
800024d0: 00d765b3 or a1,a4,a3
800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
800024d8: fffff717 auipc a4,0xfffff
800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
800024e0: 0007b703 ld a4,0(a5)
800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
800024e8: 00064703 lbu a4,0(a2)
800024ec: fffff517 auipc a0,0xfffff
800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
800024fc: 10100693 li a3,257
80002500: 04100713 li a4,65
80002504: 00000617 auipc a2,0x0
80002508: 71460613 addi a2,a2,1812 # 80002c18 <pass+0xb4>
8000250c: fffff797 auipc a5,0xfffff
80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
80002514: 03069693 slli a3,a3,0x30
80002518: 0007b503 ld a0,0(a5)
8000251c: 00160613 addi a2,a2,1
80002520: 00d765b3 or a1,a4,a3
80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
80002528: fffff717 auipc a4,0xfffff
8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
80002530: 0007b703 ld a4,0(a5)
80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
80002538: 00064703 lbu a4,0(a2)
8000253c: fffff517 auipc a0,0xfffff
80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
8000254c: 10100613 li a2,257
80002550: 04100713 li a4,65
80002554: 00000697 auipc a3,0x0
80002558: 66468693 addi a3,a3,1636 # 80002bb8 <pass+0x54>
8000255c: fffff797 auipc a5,0xfffff
80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
80002564: 03061613 slli a2,a2,0x30
80002568: 0007b503 ld a0,0(a5)
8000256c: 00168693 addi a3,a3,1
80002570: 00c765b3 or a1,a4,a2
80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
80002578: fffff717 auipc a4,0xfffff
8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
80002580: 0007b703 ld a4,0(a5)
80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
80002588: 0006c703 lbu a4,0(a3)
8000258c: fffff517 auipc a0,0xfffff
80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
000000008000259c <handle_trap>:
8000259c: 11853583 ld a1,280(a0)
800025a0: f9010113 addi sp,sp,-112
800025a4: 06813023 sd s0,96(sp)
800025a8: 06113423 sd ra,104(sp)
800025ac: 04913c23 sd s1,88(sp)
800025b0: 05213823 sd s2,80(sp)
800025b4: 05313423 sd s3,72(sp)
800025b8: 05413023 sd s4,64(sp)
800025bc: 03513c23 sd s5,56(sp)
800025c0: 03613823 sd s6,48(sp)
800025c4: 03713423 sd s7,40(sp)
800025c8: 03813023 sd s8,32(sp)
800025cc: 01913c23 sd s9,24(sp)
800025d0: 01a13823 sd s10,16(sp)
800025d4: 01b13423 sd s11,8(sp)
800025d8: 00800793 li a5,8
800025dc: 00050413 mv s0,a0
800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
800025e4: 00200793 li a5,2
800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
800025f0: 00100713 li a4,1
800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
800025f8: 00f00793 li a5,15
800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
80002600: 11043503 ld a0,272(s0)
80002604: cf9ff0ef jal ra,800022fc <handle_fault>
80002608: 00040513 mv a0,s0
8000260c: 06013403 ld s0,96(sp)
80002610: 06813083 ld ra,104(sp)
80002614: 05813483 ld s1,88(sp)
80002618: 05013903 ld s2,80(sp)
8000261c: 04813983 ld s3,72(sp)
80002620: 04013a03 ld s4,64(sp)
80002624: 03813a83 ld s5,56(sp)
80002628: 03013b03 ld s6,48(sp)
8000262c: 02813b83 ld s7,40(sp)
80002630: 02013c03 ld s8,32(sp)
80002634: 01813c83 ld s9,24(sp)
80002638: 01013d03 ld s10,16(sp)
8000263c: 00813d83 ld s11,8(sp)
80002640: 07010113 addi sp,sp,112
80002644: 9f9fd06f j 8000003c <pop_tf>
80002648: 10853703 ld a4,264(a0)
8000264c: 00377793 andi a5,a4,3
80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
80002658: 00301073 fssr zero
8000265c: 00072703 lw a4,0(a4)
80002660: 0007a783 lw a5,0(a5)
80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
80002668: 10100513 li a0,257
8000266c: 04100793 li a5,65
80002670: 00000697 auipc a3,0x0
80002674: 68068693 addi a3,a3,1664 # 80002cf0 <pass+0x18c>
80002678: fffff717 auipc a4,0xfffff
8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
80002680: 03051513 slli a0,a0,0x30
80002684: 00073583 ld a1,0(a4)
80002688: 00168693 addi a3,a3,1
8000268c: 00a7e633 or a2,a5,a0
80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
80002694: fffff797 auipc a5,0xfffff
80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
8000269c: 00073783 ld a5,0(a4)
800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
800026a4: 0006c783 lbu a5,0(a3)
800026a8: fffff597 auipc a1,0xfffff
800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
800026b4: 00300513 li a0,3
800026b8: b79ff0ef jal ra,80002230 <terminate>
800026bc: 00100513 li a0,1
800026c0: b71ff0ef jal ra,80002230 <terminate>
800026c4: 10100793 li a5,257
800026c8: 00000617 auipc a2,0x0
800026cc: 60060613 addi a2,a2,1536 # 80002cc8 <pass+0x164>
800026d0: 04100693 li a3,65
800026d4: fffff717 auipc a4,0xfffff
800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
800026dc: 03079793 slli a5,a5,0x30
800026e0: 00073503 ld a0,0(a4)
800026e4: 00160613 addi a2,a2,1
800026e8: 00f6e5b3 or a1,a3,a5
800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
800026f0: fffff697 auipc a3,0xfffff
800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
800026f8: 00073683 ld a3,0(a4)
800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
80002700: 00064683 lbu a3,0(a2)
80002704: fffff517 auipc a0,0xfffff
80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
80002714: 05052983 lw s3,80(a0)
80002718: 00001437 lui s0,0x1
8000271c: 00006d17 auipc s10,0x6
80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
80002724: 00002b97 auipc s7,0x2
80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
8000272c: 00040b37 lui s6,0x40
80002730: ffe00ab7 lui s5,0xffe00
80002734: 00006a17 auipc s4,0x6
80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
8000273c: 0003f937 lui s2,0x3f
80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
80002744: 00f73423 sd a5,8(a4)
80002748: 00006717 auipc a4,0x6
8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
80002750: 000017b7 lui a5,0x1
80002754: 00f40433 add s0,s0,a5
80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
8000275c: 00c45793 srli a5,s0,0xc
80002760: 00479493 slli s1,a5,0x4
80002764: 009d0733 add a4,s10,s1
80002768: 00073703 ld a4,0(a4)
8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
80002774: 00379793 slli a5,a5,0x3
80002778: 00fb87b3 add a5,s7,a5
8000277c: 0007bc03 ld s8,0(a5)
80002780: 040c7793 andi a5,s8,64
80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
80002788: 100b2cf3 csrrs s9,sstatus,s6
8000278c: 01540db3 add s11,s0,s5
80002790: 00001637 lui a2,0x1
80002794: 000d8593 mv a1,s11
80002798: 00040513 mv a0,s0
8000279c: 975ff0ef jal ra,80002110 <memcmp>
800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
800027a4: 080c7c13 andi s8,s8,128
800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
800027ac: 00001637 lui a2,0x1
800027b0: 000d8593 mv a1,s11
800027b4: 00040513 mv a0,s0
800027b8: 849ff0ef jal ra,80002000 <memcpy>
800027bc: 009d07b3 add a5,s10,s1
800027c0: 100c9073 csrw sstatus,s9
800027c4: 000a3703 ld a4,0(s4)
800027c8: 0007b023 sd zero,0(a5)
800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
800027d0: 00006717 auipc a4,0x6
800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
800027d8: 00006717 auipc a4,0x6
800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
800027e4: 10100793 li a5,257
800027e8: 04100613 li a2,65
800027ec: 00000697 auipc a3,0x0
800027f0: 53468693 addi a3,a3,1332 # 80002d20 <pass+0x1bc>
800027f4: fffff717 auipc a4,0xfffff
800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
800027fc: 03079793 slli a5,a5,0x30
80002800: 00073503 ld a0,0(a4)
80002804: 00168693 addi a3,a3,1
80002808: 00f665b3 or a1,a2,a5
8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
80002810: fffff617 auipc a2,0xfffff
80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
80002818: 00073603 ld a2,0(a4)
8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
80002820: 0006c603 lbu a2,0(a3)
80002824: ffffe517 auipc a0,0xffffe
80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
80002830: e85ff06f j 800026b4 <handle_trap+0x118>
80002834: 10100793 li a5,257
80002838: 04100613 li a2,65
8000283c: 00000697 auipc a3,0x0
80002840: 45468693 addi a3,a3,1108 # 80002c90 <pass+0x12c>
80002844: ffffe717 auipc a4,0xffffe
80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
8000284c: 03079793 slli a5,a5,0x30
80002850: 00168693 addi a3,a3,1
80002854: 00f665b3 or a1,a2,a5
80002858: 00073603 ld a2,0(a4)
8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
80002860: ffffe617 auipc a2,0xffffe
80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
8000286c: 10100793 li a5,257
80002870: 04100613 li a2,65
80002874: 00000697 auipc a3,0x0
80002878: 3e468693 addi a3,a3,996 # 80002c58 <pass+0xf4>
8000287c: ffffe717 auipc a4,0xffffe
80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
80002884: 03079793 slli a5,a5,0x30
80002888: 00168693 addi a3,a3,1
8000288c: 00f665b3 or a1,a2,a5
80002890: 00073603 ld a2,0(a4)
80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
80002898: ffffe617 auipc a2,0xffffe
8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
800028a4: 00098513 mv a0,s3
800028a8: 989ff0ef jal ra,80002230 <terminate>
800028ac: 0006c603 lbu a2,0(a3)
800028b0: ffffe517 auipc a0,0xffffe
800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
800028c0: 0006c603 lbu a2,0(a3)
800028c4: ffffe517 auipc a0,0xffffe
800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
00000000800028d4 <vm_boot>:
800028d4: f14027f3 csrr a5,mhartid
800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
800028dc: 00002697 auipc a3,0x2
800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
800028e4: 00003717 auipc a4,0x3
800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
800028ec: 00c6d693 srli a3,a3,0xc
800028f0: 00c75713 srli a4,a4,0xc
800028f4: 00004797 auipc a5,0x4
800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
800028fc: 00a69693 slli a3,a3,0xa
80002900: 00a71713 slli a4,a4,0xa
80002904: 0016e693 ori a3,a3,1
80002908: 00176713 ori a4,a4,1
8000290c: 00c7d793 srli a5,a5,0xc
80002910: 00001897 auipc a7,0x1
80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
80002918: 00a79793 slli a5,a5,0xa
8000291c: 00002697 auipc a3,0x2
80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
80002924: 20000737 lui a4,0x20000
80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
8000292c: fff00593 li a1,-1
80002930: 0017e793 ori a5,a5,1
80002934: 00001617 auipc a2,0x1
80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
8000293c: ed010113 addi sp,sp,-304
80002940: 03f59813 slli a6,a1,0x3f
80002944: 00004697 auipc a3,0x4
80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
8000294c: 00002717 auipc a4,0x2
80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
80002954: 00c65793 srli a5,a2,0xc
80002958: 12113423 sd ra,296(sp)
8000295c: 12813023 sd s0,288(sp)
80002960: 0107e7b3 or a5,a5,a6
80002964: 18079073 csrw satp,a5
80002968: 01f00793 li a5,31
8000296c: 00000297 auipc t0,0x0
80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
80002974: 305292f3 csrrw t0,mtvec,t0
80002978: 3b059073 csrw pmpaddr0,a1
8000297c: 3a079073 csrw pmpcfg0,a5
80002980: bff00813 li a6,-1025
80002984: 01581813 slli a6,a6,0x15
80002988: ffffd797 auipc a5,0xffffd
8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
80002990: 010787b3 add a5,a5,a6
80002994: 10579073 csrw stvec,a5
80002998: 340027f3 csrr a5,mscratch
8000299c: 010787b3 add a5,a5,a6
800029a0: 14079073 csrw sscratch,a5
800029a4: 0000b7b7 lui a5,0xb
800029a8: 1007879b addiw a5,a5,256
800029ac: 30279073 csrw medeleg,a5
800029b0: 0001e7b7 lui a5,0x1e
800029b4: 30079073 csrw mstatus,a5
800029b8: 30405073 csrwi mie,0
800029bc: 00005697 auipc a3,0x5
800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
800029c4: 010687b3 add a5,a3,a6
800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
800029cc: 00006617 auipc a2,0x6
800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
800029d4: 00006797 auipc a5,0x6
800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
800029dc: 00006317 auipc t1,0x6
800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
800029e4: 00d00793 li a5,13
800029e8: 000808b7 lui a7,0x80
800029ec: 01080813 addi a6,a6,16
800029f0: 03f7871b addiw a4,a5,63
800029f4: 02071713 slli a4,a4,0x20
800029f8: 0017d61b srliw a2,a5,0x1
800029fc: 02075713 srli a4,a4,0x20
80002a00: 00c7c7b3 xor a5,a5,a2
80002a04: 01170733 add a4,a4,a7
80002a08: 010685b3 add a1,a3,a6
80002a0c: 00c71713 slli a4,a4,0xc
80002a10: 0057979b slliw a5,a5,0x5
80002a14: 00e6b023 sd a4,0(a3)
80002a18: 00b6b423 sd a1,8(a3)
80002a1c: 0207f793 andi a5,a5,32
80002a20: 01068693 addi a3,a3,16
80002a24: 00c7e7b3 or a5,a5,a2
80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
80002a2c: 00050413 mv s0,a0
80002a30: 12000613 li a2,288
80002a34: 00000593 li a1,0
80002a38: 00010513 mv a0,sp
80002a3c: 00006797 auipc a5,0x6
80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
80002a44: e18ff0ef jal ra,8000205c <memset>
80002a48: 800007b7 lui a5,0x80000
80002a4c: 00f40433 add s0,s0,a5
80002a50: 00010513 mv a0,sp
80002a54: 10813423 sd s0,264(sp)
80002a58: de4fd0ef jal ra,8000003c <pop_tf>
80002a5c: 12813083 ld ra,296(sp)
80002a60: 12013403 ld s0,288(sp)
80002a64: 13010113 addi sp,sp,304
80002a68: 00008067 ret
80002a6c: 0a1d57b7 lui a5,0xa1d5
80002a70: 000805b7 lui a1,0x80
80002a74: 90278793 addi a5,a5,-1790 # a1d4902 <_start-0x75e2b6fe>
80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
80002a7c: 00100613 li a2,1
80002a80: 00b7f733 and a4,a5,a1
80002a84: 01f61613 slli a2,a2,0x1f
80002a88: 0017f693 andi a3,a5,1
80002a8c: 02079793 slli a5,a5,0x20
80002a90: 0207d793 srli a5,a5,0x20
80002a94: 00c70733 add a4,a4,a2
80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
80002a9c: 0007202f amoadd.w zero,zero,(a4)
80002aa0: 0017d793 srli a5,a5,0x1
80002aa4: 00b7f733 and a4,a5,a1
80002aa8: 0017f693 andi a3,a5,1
80002aac: 02079793 slli a5,a5,0x20
80002ab0: 0207d793 srli a5,a5,0x20
80002ab4: 00c70733 add a4,a4,a2
80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
80002abc: 00072003 lw zero,0(a4)
80002ac0: 0017d793 srli a5,a5,0x1
80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
0000000080002ac8 <userstart>:
80002ac8: 00301073 fssr zero
80002acc: 00000517 auipc a0,0x0
80002ad0: 53452007 flw ft0,1332(a0) # 80003000 <begin_signature>
80002ad4: 00000517 auipc a0,0x0
80002ad8: 53052087 flw ft1,1328(a0) # 80003004 <three>
80002adc: 1000f0d3 fmul.s ft1,ft1,ft0
0000000080002ae0 <test_2>:
80002ae0: a0102553 feq.s a0,ft0,ft1
80002ae4: 00100e93 li t4,1
80002ae8: 00200193 li gp,2
80002aec: 07d51463 bne a0,t4,80002b54 <fail>
0000000080002af0 <test_3>:
80002af0: a0100553 fle.s a0,ft0,ft1
80002af4: 00100e93 li t4,1
80002af8: 00300193 li gp,3
80002afc: 05d51c63 bne a0,t4,80002b54 <fail>
0000000080002b00 <test_4>:
80002b00: a0101553 flt.s a0,ft0,ft1
80002b04: 00000e93 li t4,0
80002b08: 00400193 li gp,4
80002b0c: 05d51463 bne a0,t4,80002b54 <fail>
80002b10: d0007053 fcvt.s.w ft0,zero
80002b14: 00100513 li a0,1
80002b18: d00570d3 fcvt.s.w ft1,a0
80002b1c: 1000f0d3 fmul.s ft1,ft1,ft0
0000000080002b20 <test_5>:
80002b20: a0102553 feq.s a0,ft0,ft1
80002b24: 00100e93 li t4,1
80002b28: 00500193 li gp,5
80002b2c: 03d51463 bne a0,t4,80002b54 <fail>
0000000080002b30 <test_6>:
80002b30: a0100553 fle.s a0,ft0,ft1
80002b34: 00100e93 li t4,1
80002b38: 00600193 li gp,6
80002b3c: 01d51c63 bne a0,t4,80002b54 <fail>
0000000080002b40 <test_7>:
80002b40: a0101553 flt.s a0,ft0,ft1
80002b44: 00000e93 li t4,0
80002b48: 00700193 li gp,7
80002b4c: 01d51463 bne a0,t4,80002b54 <fail>
80002b50: 00301a63 bne zero,gp,80002b64 <pass>
0000000080002b54 <fail>:
80002b54: 00119513 slli a0,gp,0x1
80002b58: 00050063 beqz a0,80002b58 <fail+0x4>
80002b5c: 00156513 ori a0,a0,1
80002b60: 00000073 ecall
0000000080002b64 <pass>:
80002b64: 00100513 li a0,1
80002b68: 00000073 ecall
80002b6c: 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)