aboutsummaryrefslogtreecommitdiff
path: root/test/riscv-tests/rv64ui-v-lh.dump
diff options
context:
space:
mode:
Diffstat (limited to 'test/riscv-tests/rv64ui-v-lh.dump')
-rw-r--r--test/riscv-tests/rv64ui-v-lh.dump1043
1 files changed, 1043 insertions, 0 deletions
diff --git a/test/riscv-tests/rv64ui-v-lh.dump b/test/riscv-tests/rv64ui-v-lh.dump
new file mode 100644
index 0000000..50f2fdd
--- /dev/null
+++ b/test/riscv-tests/rv64ui-v-lh.dump
@@ -0,0 +1,1043 @@
+
+rv64ui-v-lh: 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: 00001697 auipc a3,0x1
+ 8000245c: 8f868693 addi a3,a3,-1800 # 80002d50 <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: 00001617 auipc a2,0x1
+ 800024b8: 92c60613 addi a2,a2,-1748 # 80002de0 <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: 00001617 auipc a2,0x1
+ 80002508: 8f460613 addi a2,a2,-1804 # 80002df8 <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: 00001697 auipc a3,0x1
+ 80002558: 84468693 addi a3,a3,-1980 # 80002d98 <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: 00001697 auipc a3,0x1
+ 80002674: 86068693 addi a3,a3,-1952 # 80002ed0 <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: 7e060613 addi a2,a2,2016 # 80002ea8 <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: 71468693 addi a3,a3,1812 # 80002f00 <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: 63468693 addi a3,a3,1588 # 80002e70 <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: 5c468693 addi a3,a3,1476 # 80002e38 <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: 00700793 li a5,7
+ 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: 039687b7 lui a5,0x3968
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: c8378793 addi a5,a5,-893 # 3967c83 <_start-0x7c69837d>
+ 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: 00000097 auipc ra,0x0
+ 80002acc: 53808093 addi ra,ra,1336 # 80003000 <begin_signature>
+ 80002ad0: 00009f03 lh t5,0(ra)
+ 80002ad4: 0ff00e93 li t4,255
+ 80002ad8: 00200193 li gp,2
+ 80002adc: 25df1c63 bne t5,t4,80002d34 <fail>
+
+0000000080002ae0 <test_3>:
+ 80002ae0: 00000097 auipc ra,0x0
+ 80002ae4: 52008093 addi ra,ra,1312 # 80003000 <begin_signature>
+ 80002ae8: 00209f03 lh t5,2(ra)
+ 80002aec: f0000e93 li t4,-256
+ 80002af0: 00300193 li gp,3
+ 80002af4: 25df1063 bne t5,t4,80002d34 <fail>
+
+0000000080002af8 <test_4>:
+ 80002af8: 00000097 auipc ra,0x0
+ 80002afc: 50808093 addi ra,ra,1288 # 80003000 <begin_signature>
+ 80002b00: 00409f03 lh t5,4(ra)
+ 80002b04: 00001eb7 lui t4,0x1
+ 80002b08: ff0e8e9b addiw t4,t4,-16
+ 80002b0c: 00400193 li gp,4
+ 80002b10: 23df1263 bne t5,t4,80002d34 <fail>
+
+0000000080002b14 <test_5>:
+ 80002b14: 00000097 auipc ra,0x0
+ 80002b18: 4ec08093 addi ra,ra,1260 # 80003000 <begin_signature>
+ 80002b1c: 00609f03 lh t5,6(ra)
+ 80002b20: fffffeb7 lui t4,0xfffff
+ 80002b24: 00fe8e9b addiw t4,t4,15
+ 80002b28: 00500193 li gp,5
+ 80002b2c: 21df1463 bne t5,t4,80002d34 <fail>
+
+0000000080002b30 <test_6>:
+ 80002b30: 00000097 auipc ra,0x0
+ 80002b34: 4d608093 addi ra,ra,1238 # 80003006 <tdat4>
+ 80002b38: ffa09f03 lh t5,-6(ra)
+ 80002b3c: 0ff00e93 li t4,255
+ 80002b40: 00600193 li gp,6
+ 80002b44: 1fdf1863 bne t5,t4,80002d34 <fail>
+
+0000000080002b48 <test_7>:
+ 80002b48: 00000097 auipc ra,0x0
+ 80002b4c: 4be08093 addi ra,ra,1214 # 80003006 <tdat4>
+ 80002b50: ffc09f03 lh t5,-4(ra)
+ 80002b54: f0000e93 li t4,-256
+ 80002b58: 00700193 li gp,7
+ 80002b5c: 1ddf1c63 bne t5,t4,80002d34 <fail>
+
+0000000080002b60 <test_8>:
+ 80002b60: 00000097 auipc ra,0x0
+ 80002b64: 4a608093 addi ra,ra,1190 # 80003006 <tdat4>
+ 80002b68: ffe09f03 lh t5,-2(ra)
+ 80002b6c: 00001eb7 lui t4,0x1
+ 80002b70: ff0e8e9b addiw t4,t4,-16
+ 80002b74: 00800193 li gp,8
+ 80002b78: 1bdf1e63 bne t5,t4,80002d34 <fail>
+
+0000000080002b7c <test_9>:
+ 80002b7c: 00000097 auipc ra,0x0
+ 80002b80: 48a08093 addi ra,ra,1162 # 80003006 <tdat4>
+ 80002b84: 00009f03 lh t5,0(ra)
+ 80002b88: fffffeb7 lui t4,0xfffff
+ 80002b8c: 00fe8e9b addiw t4,t4,15
+ 80002b90: 00900193 li gp,9
+ 80002b94: 1bdf1063 bne t5,t4,80002d34 <fail>
+
+0000000080002b98 <test_10>:
+ 80002b98: 00000097 auipc ra,0x0
+ 80002b9c: 46808093 addi ra,ra,1128 # 80003000 <begin_signature>
+ 80002ba0: fe008093 addi ra,ra,-32
+ 80002ba4: 02009283 lh t0,32(ra)
+ 80002ba8: 0ff00e93 li t4,255
+ 80002bac: 00a00193 li gp,10
+ 80002bb0: 19d29263 bne t0,t4,80002d34 <fail>
+
+0000000080002bb4 <test_11>:
+ 80002bb4: 00000097 auipc ra,0x0
+ 80002bb8: 44c08093 addi ra,ra,1100 # 80003000 <begin_signature>
+ 80002bbc: ffb08093 addi ra,ra,-5
+ 80002bc0: 00709283 lh t0,7(ra)
+ 80002bc4: f0000e93 li t4,-256
+ 80002bc8: 00b00193 li gp,11
+ 80002bcc: 17d29463 bne t0,t4,80002d34 <fail>
+
+0000000080002bd0 <test_12>:
+ 80002bd0: 00c00193 li gp,12
+ 80002bd4: 00000213 li tp,0
+ 80002bd8: 00000097 auipc ra,0x0
+ 80002bdc: 42a08093 addi ra,ra,1066 # 80003002 <tdat2>
+ 80002be0: 00209f03 lh t5,2(ra)
+ 80002be4: 000f0313 mv t1,t5
+ 80002be8: 00001eb7 lui t4,0x1
+ 80002bec: ff0e8e9b addiw t4,t4,-16
+ 80002bf0: 15d31263 bne t1,t4,80002d34 <fail>
+ 80002bf4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002bf8: 00200293 li t0,2
+ 80002bfc: fc521ee3 bne tp,t0,80002bd8 <test_12+0x8>
+
+0000000080002c00 <test_13>:
+ 80002c00: 00d00193 li gp,13
+ 80002c04: 00000213 li tp,0
+ 80002c08: 00000097 auipc ra,0x0
+ 80002c0c: 3fc08093 addi ra,ra,1020 # 80003004 <tdat3>
+ 80002c10: 00209f03 lh t5,2(ra)
+ 80002c14: 00000013 nop
+ 80002c18: 000f0313 mv t1,t5
+ 80002c1c: fffffeb7 lui t4,0xfffff
+ 80002c20: 00fe8e9b addiw t4,t4,15
+ 80002c24: 11d31863 bne t1,t4,80002d34 <fail>
+ 80002c28: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002c2c: 00200293 li t0,2
+ 80002c30: fc521ce3 bne tp,t0,80002c08 <test_13+0x8>
+
+0000000080002c34 <test_14>:
+ 80002c34: 00e00193 li gp,14
+ 80002c38: 00000213 li tp,0
+ 80002c3c: 00000097 auipc ra,0x0
+ 80002c40: 3c408093 addi ra,ra,964 # 80003000 <begin_signature>
+ 80002c44: 00209f03 lh t5,2(ra)
+ 80002c48: 00000013 nop
+ 80002c4c: 00000013 nop
+ 80002c50: 000f0313 mv t1,t5
+ 80002c54: f0000e93 li t4,-256
+ 80002c58: 0dd31e63 bne t1,t4,80002d34 <fail>
+ 80002c5c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002c60: 00200293 li t0,2
+ 80002c64: fc521ce3 bne tp,t0,80002c3c <test_14+0x8>
+
+0000000080002c68 <test_15>:
+ 80002c68: 00f00193 li gp,15
+ 80002c6c: 00000213 li tp,0
+ 80002c70: 00000097 auipc ra,0x0
+ 80002c74: 39208093 addi ra,ra,914 # 80003002 <tdat2>
+ 80002c78: 00209f03 lh t5,2(ra)
+ 80002c7c: 00001eb7 lui t4,0x1
+ 80002c80: ff0e8e9b addiw t4,t4,-16
+ 80002c84: 0bdf1863 bne t5,t4,80002d34 <fail>
+ 80002c88: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002c8c: 00200293 li t0,2
+ 80002c90: fe5210e3 bne tp,t0,80002c70 <test_15+0x8>
+
+0000000080002c94 <test_16>:
+ 80002c94: 01000193 li gp,16
+ 80002c98: 00000213 li tp,0
+ 80002c9c: 00000097 auipc ra,0x0
+ 80002ca0: 36808093 addi ra,ra,872 # 80003004 <tdat3>
+ 80002ca4: 00000013 nop
+ 80002ca8: 00209f03 lh t5,2(ra)
+ 80002cac: fffffeb7 lui t4,0xfffff
+ 80002cb0: 00fe8e9b addiw t4,t4,15
+ 80002cb4: 09df1063 bne t5,t4,80002d34 <fail>
+ 80002cb8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002cbc: 00200293 li t0,2
+ 80002cc0: fc521ee3 bne tp,t0,80002c9c <test_16+0x8>
+
+0000000080002cc4 <test_17>:
+ 80002cc4: 01100193 li gp,17
+ 80002cc8: 00000213 li tp,0
+ 80002ccc: 00000097 auipc ra,0x0
+ 80002cd0: 33408093 addi ra,ra,820 # 80003000 <begin_signature>
+ 80002cd4: 00000013 nop
+ 80002cd8: 00000013 nop
+ 80002cdc: 00209f03 lh t5,2(ra)
+ 80002ce0: f0000e93 li t4,-256
+ 80002ce4: 05df1863 bne t5,t4,80002d34 <fail>
+ 80002ce8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80002cec: 00200293 li t0,2
+ 80002cf0: fc521ee3 bne tp,t0,80002ccc <test_17+0x8>
+
+0000000080002cf4 <test_18>:
+ 80002cf4: 00000297 auipc t0,0x0
+ 80002cf8: 30c28293 addi t0,t0,780 # 80003000 <begin_signature>
+ 80002cfc: 00029103 lh sp,0(t0)
+ 80002d00: 00200113 li sp,2
+ 80002d04: 00200e93 li t4,2
+ 80002d08: 01200193 li gp,18
+ 80002d0c: 03d11463 bne sp,t4,80002d34 <fail>
+
+0000000080002d10 <test_19>:
+ 80002d10: 00000297 auipc t0,0x0
+ 80002d14: 2f028293 addi t0,t0,752 # 80003000 <begin_signature>
+ 80002d18: 00029103 lh sp,0(t0)
+ 80002d1c: 00000013 nop
+ 80002d20: 00200113 li sp,2
+ 80002d24: 00200e93 li t4,2
+ 80002d28: 01300193 li gp,19
+ 80002d2c: 01d11463 bne sp,t4,80002d34 <fail>
+ 80002d30: 00301a63 bne zero,gp,80002d44 <pass>
+
+0000000080002d34 <fail>:
+ 80002d34: 00119513 slli a0,gp,0x1
+ 80002d38: 00050063 beqz a0,80002d38 <fail+0x4>
+ 80002d3c: 00156513 ori a0,a0,1
+ 80002d40: 00000073 ecall
+
+0000000080002d44 <pass>:
+ 80002d44: 00100513 li a0,1
+ 80002d48: 00000073 ecall
+ 80002d4c: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <begin_signature>:
+ 80003000: 00ff 0xff
+
+0000000080003002 <tdat2>:
+ 80003002: ff00 sd s0,56(a4)
+
+0000000080003004 <tdat3>:
+ 80003004: 0ff0 addi a2,sp,988
+
+0000000080003006 <tdat4>:
+ 80003006: 0xf00f