blob: 553c6e9319864a732f82ca21d94eebe312d44482 [file] [log] [blame]
rv64ui-v-simple: file format elf64-littleriscv
Disassembly of section .text.init:
0000000080000000 <_start>:
80000000: 00c0006f j 8000000c <handle_reset>
0000000080000004 <nmi_vector>:
80000004: 3f40206f j 800023f8 <wtf>
0000000080000008 <trap_vector>:
80000008: 3f00206f j 800023f8 <wtf>
000000008000000c <handle_reset>:
8000000c: 00000093 li ra,0
80000010: 00000113 li sp,0
80000014: 00000193 li gp,0
80000018: 00000213 li tp,0
8000001c: 00000293 li t0,0
80000020: 00000313 li t1,0
80000024: 00000393 li t2,0
80000028: 00000413 li s0,0
8000002c: 00000493 li s1,0
80000030: 00000513 li a0,0
80000034: 00000593 li a1,0
80000038: 00000613 li a2,0
8000003c: 00000693 li a3,0
80000040: 00000713 li a4,0
80000044: 00000793 li a5,0
80000048: 00000813 li a6,0
8000004c: 00000893 li a7,0
80000050: 00000913 li s2,0
80000054: 00000993 li s3,0
80000058: 00000a13 li s4,0
8000005c: 00000a93 li s5,0
80000060: 00000b13 li s6,0
80000064: 00000b93 li s7,0
80000068: 00000c13 li s8,0
8000006c: 00000c93 li s9,0
80000070: 00000d13 li s10,0
80000074: 00000d93 li s11,0
80000078: 00000e13 li t3,0
8000007c: 00000e93 li t4,0
80000080: 00000f13 li t5,0
80000084: 00000f93 li t6,0
80000088: 00000297 auipc t0,0x0
8000008c: f8028293 addi t0,t0,-128 # 80000008 <trap_vector>
80000090: 30529073 csrw mtvec,t0
80000094: 00008117 auipc sp,0x8
80000098: 63c10113 addi sp,sp,1596 # 800086d0 <_end+0xee0>
8000009c: f14022f3 csrr t0,mhartid
800000a0: 00c29293 slli t0,t0,0xc
800000a4: 00510133 add sp,sp,t0
800000a8: 34011073 csrw mscratch,sp
800000ac: 055020ef jal ra,80002900 <extra_boot>
800000b0: 00003517 auipc a0,0x3
800000b4: 85450513 addi a0,a0,-1964 # 80002904 <userstart>
800000b8: 6440206f j 800026fc <vm_boot>
00000000800000bc <pop_tf>:
800000bc: 10853283 ld t0,264(a0)
800000c0: 14129073 csrw sepc,t0
800000c4: 00853083 ld ra,8(a0)
800000c8: 01053103 ld sp,16(a0)
800000cc: 01853183 ld gp,24(a0)
800000d0: 02053203 ld tp,32(a0)
800000d4: 02853283 ld t0,40(a0)
800000d8: 03053303 ld t1,48(a0)
800000dc: 03853383 ld t2,56(a0)
800000e0: 04053403 ld s0,64(a0)
800000e4: 04853483 ld s1,72(a0)
800000e8: 05853583 ld a1,88(a0)
800000ec: 06053603 ld a2,96(a0)
800000f0: 06853683 ld a3,104(a0)
800000f4: 07053703 ld a4,112(a0)
800000f8: 07853783 ld a5,120(a0)
800000fc: 08053803 ld a6,128(a0)
80000100: 08853883 ld a7,136(a0)
80000104: 09053903 ld s2,144(a0)
80000108: 09853983 ld s3,152(a0)
8000010c: 0a053a03 ld s4,160(a0)
80000110: 0a853a83 ld s5,168(a0)
80000114: 0b053b03 ld s6,176(a0)
80000118: 0b853b83 ld s7,184(a0)
8000011c: 0c053c03 ld s8,192(a0)
80000120: 0c853c83 ld s9,200(a0)
80000124: 0d053d03 ld s10,208(a0)
80000128: 0d853d83 ld s11,216(a0)
8000012c: 0e053e03 ld t3,224(a0)
80000130: 0e853e83 ld t4,232(a0)
80000134: 0f053f03 ld t5,240(a0)
80000138: 0f853f83 ld t6,248(a0)
8000013c: 05053503 ld a0,80(a0)
80000140: 10200073 sret
0000000080000144 <trap_entry>:
80000144: 14011173 csrrw sp,sscratch,sp
80000148: 00113423 sd ra,8(sp)
8000014c: 00313c23 sd gp,24(sp)
80000150: 02413023 sd tp,32(sp)
80000154: 02513423 sd t0,40(sp)
80000158: 02613823 sd t1,48(sp)
8000015c: 02713c23 sd t2,56(sp)
80000160: 04813023 sd s0,64(sp)
80000164: 04913423 sd s1,72(sp)
80000168: 04a13823 sd a0,80(sp)
8000016c: 04b13c23 sd a1,88(sp)
80000170: 06c13023 sd a2,96(sp)
80000174: 06d13423 sd a3,104(sp)
80000178: 06e13823 sd a4,112(sp)
8000017c: 06f13c23 sd a5,120(sp)
80000180: 09013023 sd a6,128(sp)
80000184: 09113423 sd a7,136(sp)
80000188: 09213823 sd s2,144(sp)
8000018c: 09313c23 sd s3,152(sp)
80000190: 0b413023 sd s4,160(sp)
80000194: 0b513423 sd s5,168(sp)
80000198: 0b613823 sd s6,176(sp)
8000019c: 0b713c23 sd s7,184(sp)
800001a0: 0d813023 sd s8,192(sp)
800001a4: 0d913423 sd s9,200(sp)
800001a8: 0da13823 sd s10,208(sp)
800001ac: 0db13c23 sd s11,216(sp)
800001b0: 0fc13023 sd t3,224(sp)
800001b4: 0fd13423 sd t4,232(sp)
800001b8: 0fe13823 sd t5,240(sp)
800001bc: 0ff13c23 sd t6,248(sp)
800001c0: 140112f3 csrrw t0,sscratch,sp
800001c4: 00513823 sd t0,16(sp)
800001c8: 100022f3 csrr t0,sstatus
800001cc: 10513023 sd t0,256(sp)
800001d0: 141022f3 csrr t0,sepc
800001d4: 10513423 sd t0,264(sp)
800001d8: 143022f3 csrr t0,stval
800001dc: 10513823 sd t0,272(sp)
800001e0: 142022f3 csrr t0,scause
800001e4: 10513c23 sd t0,280(sp)
800001e8: 00010513 mv a0,sp
800001ec: 2a80206f j 80002494 <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: 0005c703 lbu a4,0(a1)
80002024: 00158593 addi a1,a1,1
80002028: 00178793 addi a5,a5,1
8000202c: fee78fa3 sb a4,-1(a5)
80002030: fec598e3 bne a1,a2,80002020 <memcpy+0x20>
80002034: 00008067 ret
80002038: fed57ee3 bgeu a0,a3,80002034 <memcpy+0x34>
8000203c: 00050793 mv a5,a0
80002040: 0005b703 ld a4,0(a1)
80002044: 00878793 addi a5,a5,8
80002048: 00858593 addi a1,a1,8
8000204c: fee7bc23 sd a4,-8(a5)
80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
80002054: 00008067 ret
80002058: 00008067 ret
000000008000205c <memset>:
8000205c: ff010113 addi sp,sp,-16
80002060: 00c567b3 or a5,a0,a2
80002064: 00813023 sd s0,0(sp)
80002068: 00113423 sd ra,8(sp)
8000206c: 0077f793 andi a5,a5,7
80002070: 00050413 mv s0,a0
80002074: 00c50733 add a4,a0,a2
80002078: 02078263 beqz a5,8000209c <memset+0x40>
8000207c: 00e57663 bgeu a0,a4,80002088 <memset+0x2c>
80002080: 0ff5f593 zext.b a1,a1
80002084: fd9ff0ef jal ra,8000205c <memset>
80002088: 00813083 ld ra,8(sp)
8000208c: 00040513 mv a0,s0
80002090: 00013403 ld s0,0(sp)
80002094: 01010113 addi sp,sp,16
80002098: 00008067 ret
8000209c: 0ff5f593 zext.b a1,a1
800020a0: 00859693 slli a3,a1,0x8
800020a4: 00b6e5b3 or a1,a3,a1
800020a8: 01059693 slli a3,a1,0x10
800020ac: 00b6e5b3 or a1,a3,a1
800020b0: 02059693 slli a3,a1,0x20
800020b4: 00b6e6b3 or a3,a3,a1
800020b8: fce578e3 bgeu a0,a4,80002088 <memset+0x2c>
800020bc: 00050793 mv a5,a0
800020c0: 00878793 addi a5,a5,8
800020c4: fed7bc23 sd a3,-8(a5)
800020c8: fee7ece3 bltu a5,a4,800020c0 <memset+0x64>
800020cc: 00813083 ld ra,8(sp)
800020d0: 00040513 mv a0,s0
800020d4: 00013403 ld s0,0(sp)
800020d8: 01010113 addi sp,sp,16
800020dc: 00008067 ret
00000000800020e0 <strlen>:
800020e0: 00054783 lbu a5,0(a0)
800020e4: 00078e63 beqz a5,80002100 <strlen+0x20>
800020e8: 00050793 mv a5,a0
800020ec: 0017c703 lbu a4,1(a5)
800020f0: 00178793 addi a5,a5,1
800020f4: fe071ce3 bnez a4,800020ec <strlen+0xc>
800020f8: 40a78533 sub a0,a5,a0
800020fc: 00008067 ret
80002100: 00000513 li a0,0
80002104: 00008067 ret
0000000080002108 <strcmp>:
80002108: 00054783 lbu a5,0(a0)
8000210c: 00158593 addi a1,a1,1
80002110: 00150513 addi a0,a0,1
80002114: fff5c703 lbu a4,-1(a1)
80002118: 00078a63 beqz a5,8000212c <strcmp+0x24>
8000211c: fee786e3 beq a5,a4,80002108 <strcmp>
80002120: 0007851b sext.w a0,a5
80002124: 40e5053b subw a0,a0,a4
80002128: 00008067 ret
8000212c: 00000513 li a0,0
80002130: ff5ff06f j 80002124 <strcmp+0x1c>
0000000080002134 <memcmp>:
80002134: 00b567b3 or a5,a0,a1
80002138: 0077f793 andi a5,a5,7
8000213c: 02079e63 bnez a5,80002178 <memcmp+0x44>
80002140: ff867813 andi a6,a2,-8
80002144: 01050833 add a6,a0,a6
80002148: 03057863 bgeu a0,a6,80002178 <memcmp+0x44>
8000214c: 00050793 mv a5,a0
80002150: 0100006f j 80002160 <memcmp+0x2c>
80002154: 00878793 addi a5,a5,8
80002158: 00858593 addi a1,a1,8
8000215c: 0107f863 bgeu a5,a6,8000216c <memcmp+0x38>
80002160: 0007b683 ld a3,0(a5)
80002164: 0005b703 ld a4,0(a1)
80002168: fee686e3 beq a3,a4,80002154 <memcmp+0x20>
8000216c: 40a78533 sub a0,a5,a0
80002170: 40a60633 sub a2,a2,a0
80002174: 00078513 mv a0,a5
80002178: 00c58633 add a2,a1,a2
8000217c: 0140006f j 80002190 <memcmp+0x5c>
80002180: 0005c703 lbu a4,0(a1)
80002184: fff54783 lbu a5,-1(a0)
80002188: 00158593 addi a1,a1,1
8000218c: 00e79a63 bne a5,a4,800021a0 <memcmp+0x6c>
80002190: 00150513 addi a0,a0,1
80002194: fec596e3 bne a1,a2,80002180 <memcmp+0x4c>
80002198: 00000513 li a0,0
8000219c: 00008067 ret
800021a0: 40e7853b subw a0,a5,a4
800021a4: 00008067 ret
00000000800021a8 <strcpy>:
800021a8: 00050793 mv a5,a0
800021ac: 0005c703 lbu a4,0(a1)
800021b0: 00178793 addi a5,a5,1
800021b4: 00158593 addi a1,a1,1
800021b8: fee78fa3 sb a4,-1(a5)
800021bc: fe0718e3 bnez a4,800021ac <strcpy+0x4>
800021c0: 00008067 ret
00000000800021c4 <atol>:
800021c4: 00054703 lbu a4,0(a0)
800021c8: 02000693 li a3,32
800021cc: 00050793 mv a5,a0
800021d0: 00d71863 bne a4,a3,800021e0 <atol+0x1c>
800021d4: 0017c703 lbu a4,1(a5)
800021d8: 00178793 addi a5,a5,1
800021dc: fed70ce3 beq a4,a3,800021d4 <atol+0x10>
800021e0: 02d00693 li a3,45
800021e4: 06d70063 beq a4,a3,80002244 <atol+0x80>
800021e8: 02b00693 li a3,43
800021ec: 04d70063 beq a4,a3,8000222c <atol+0x68>
800021f0: 0007c683 lbu a3,0(a5)
800021f4: 00000593 li a1,0
800021f8: 04068263 beqz a3,8000223c <atol+0x78>
800021fc: 00000513 li a0,0
80002200: 00178793 addi a5,a5,1
80002204: fd06861b addiw a2,a3,-48
80002208: 00251713 slli a4,a0,0x2
8000220c: 0007c683 lbu a3,0(a5)
80002210: 00a70533 add a0,a4,a0
80002214: 00151513 slli a0,a0,0x1
80002218: 00a60533 add a0,a2,a0
8000221c: fe0692e3 bnez a3,80002200 <atol+0x3c>
80002220: 02058063 beqz a1,80002240 <atol+0x7c>
80002224: 40a00533 neg a0,a0
80002228: 00008067 ret
8000222c: 0017c683 lbu a3,1(a5)
80002230: 00000593 li a1,0
80002234: 00178793 addi a5,a5,1
80002238: fc0692e3 bnez a3,800021fc <atol+0x38>
8000223c: 00000513 li a0,0
80002240: 00008067 ret
80002244: 0017c683 lbu a3,1(a5)
80002248: 00100593 li a1,1
8000224c: 00178793 addi a5,a5,1
80002250: fa0696e3 bnez a3,800021fc <atol+0x38>
80002254: 00000513 li a0,0
80002258: fe9ff06f j 80002240 <atol+0x7c>
000000008000225c <handle_fault.part.0>:
8000225c: 00c55693 srli a3,a0,0xc
80002260: 60068813 addi a6,a3,1536
80002264: 00001617 auipc a2,0x1
80002268: d9c60613 addi a2,a2,-612 # 80003000 <pt>
8000226c: 00381793 slli a5,a6,0x3
80002270: 00f607b3 add a5,a2,a5
80002274: 0007b703 ld a4,0(a5)
80002278: fffff8b7 lui a7,0xfffff
8000227c: 01157533 and a0,a0,a7
80002280: 02070a63 beqz a4,800022b4 <handle_fault.part.0+0x58>
80002284: 04077693 andi a3,a4,64
80002288: 0a068463 beqz a3,80002330 <handle_fault.part.0+0xd4>
8000228c: 08077693 andi a3,a4,128
80002290: 0a068863 beqz a3,80002340 <handle_fault.part.0+0xe4>
80002294: 07300713 li a4,115
80002298: 00000797 auipc a5,0x0
8000229c: 67878793 addi a5,a5,1656 # 80002910 <userstart+0xc>
800022a0: 0080006f j 800022a8 <handle_fault.part.0+0x4c>
800022a4: 0017c703 lbu a4,1(a5)
800022a8: 00178793 addi a5,a5,1
800022ac: fe071ce3 bnez a4,800022a4 <handle_fault.part.0+0x48>
800022b0: 0000006f j 800022b0 <handle_fault.part.0+0x54>
800022b4: 00005717 auipc a4,0x5
800022b8: 53470713 addi a4,a4,1332 # 800077e8 <freelist_head>
800022bc: 00073783 ld a5,0(a4)
800022c0: 08078a63 beqz a5,80002354 <handle_fault.part.0+0xf8>
800022c4: 0087b583 ld a1,8(a5)
800022c8: 00005897 auipc a7,0x5
800022cc: 5188b883 ld a7,1304(a7) # 800077e0 <freelist_tail>
800022d0: 00b73023 sd a1,0(a4)
800022d4: 11158c63 beq a1,a7,800023ec <handle_fault.part.0+0x190>
800022d8: 0007b703 ld a4,0(a5)
800022dc: 00381593 slli a1,a6,0x3
800022e0: 00b605b3 add a1,a2,a1
800022e4: 00c75713 srli a4,a4,0xc
800022e8: 00a71713 slli a4,a4,0xa
800022ec: 0df76893 ori a7,a4,223
800022f0: 0115b023 sd a7,0(a1)
800022f4: 12050073 sfence.vma a0
800022f8: 00005597 auipc a1,0x5
800022fc: 0f858593 addi a1,a1,248 # 800073f0 <user_mapping>
80002300: 00469693 slli a3,a3,0x4
80002304: 00d586b3 add a3,a1,a3
80002308: 0006b583 ld a1,0(a3)
8000230c: 06058463 beqz a1,80002374 <handle_fault.part.0+0x118>
80002310: 07300713 li a4,115
80002314: 00000797 auipc a5,0x0
80002318: 65c78793 addi a5,a5,1628 # 80002970 <userstart+0x6c>
8000231c: 0080006f j 80002324 <handle_fault.part.0+0xc8>
80002320: 0017c703 lbu a4,1(a5)
80002324: 00178793 addi a5,a5,1
80002328: fe071ce3 bnez a4,80002320 <handle_fault.part.0+0xc4>
8000232c: 0000006f j 8000232c <handle_fault.part.0+0xd0>
80002330: 04076713 ori a4,a4,64
80002334: 00e7b023 sd a4,0(a5)
80002338: 12050073 sfence.vma a0
8000233c: 00008067 ret
80002340: 00f00693 li a3,15
80002344: f4d598e3 bne a1,a3,80002294 <handle_fault.part.0+0x38>
80002348: 08076713 ori a4,a4,128
8000234c: 00e7b023 sd a4,0(a5)
80002350: fe9ff06f j 80002338 <handle_fault.part.0+0xdc>
80002354: 07300713 li a4,115
80002358: 00000797 auipc a5,0x0
8000235c: 60078793 addi a5,a5,1536 # 80002958 <userstart+0x54>
80002360: 0080006f j 80002368 <handle_fault.part.0+0x10c>
80002364: 0017c703 lbu a4,1(a5)
80002368: 00178793 addi a5,a5,1
8000236c: fe071ce3 bnez a4,80002364 <handle_fault.part.0+0x108>
80002370: 0000006f j 80002370 <handle_fault.part.0+0x114>
80002374: 0007b583 ld a1,0(a5)
80002378: 00040f37 lui t5,0x40
8000237c: 00b6b023 sd a1,0(a3)
80002380: 0087b783 ld a5,8(a5)
80002384: 00f6b423 sd a5,8(a3)
80002388: 100f2f73 csrrs t5,sstatus,t5
8000238c: ffe007b7 lui a5,0xffe00
80002390: 00f507b3 add a5,a0,a5
80002394: 00001eb7 lui t4,0x1
80002398: 00050693 mv a3,a0
8000239c: 01d78eb3 add t4,a5,t4
800023a0: 0007be03 ld t3,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf8810>
800023a4: 0087b303 ld t1,8(a5)
800023a8: 0107b883 ld a7,16(a5)
800023ac: 0187b583 ld a1,24(a5)
800023b0: 01c6b023 sd t3,0(a3)
800023b4: 0066b423 sd t1,8(a3)
800023b8: 0116b823 sd a7,16(a3)
800023bc: 00b6bc23 sd a1,24(a3)
800023c0: 02078793 addi a5,a5,32
800023c4: 02068693 addi a3,a3,32
800023c8: fdd79ce3 bne a5,t4,800023a0 <handle_fault.part.0+0x144>
800023cc: 100f1073 csrw sstatus,t5
800023d0: 00381813 slli a6,a6,0x3
800023d4: 01060633 add a2,a2,a6
800023d8: 01f76713 ori a4,a4,31
800023dc: 00e63023 sd a4,0(a2)
800023e0: 12050073 sfence.vma a0
800023e4: 0000100f fence.i
800023e8: 00008067 ret
800023ec: 00005717 auipc a4,0x5
800023f0: 3e073a23 sd zero,1012(a4) # 800077e0 <freelist_tail>
800023f4: ee5ff06f j 800022d8 <handle_fault.part.0+0x7c>
00000000800023f8 <wtf>:
800023f8: 0000006f j 800023f8 <wtf>
00000000800023fc <printhex>:
800023fc: fe010113 addi sp,sp,-32
80002400: 00810613 addi a2,sp,8
80002404: 01710693 addi a3,sp,23
80002408: 00900813 li a6,9
8000240c: 0080006f j 80002414 <printhex+0x18>
80002410: 00078693 mv a3,a5
80002414: 00f57713 andi a4,a0,15
80002418: 00070793 mv a5,a4
8000241c: 03000593 li a1,48
80002420: 00e87463 bgeu a6,a4,80002428 <printhex+0x2c>
80002424: 05700593 li a1,87
80002428: 00b787bb addw a5,a5,a1
8000242c: 00f68023 sb a5,0(a3)
80002430: 00455513 srli a0,a0,0x4
80002434: fff68793 addi a5,a3,-1
80002438: fcd61ce3 bne a2,a3,80002410 <printhex+0x14>
8000243c: 00814783 lbu a5,8(sp)
80002440: 00010c23 sb zero,24(sp)
80002444: 00078a63 beqz a5,80002458 <printhex+0x5c>
80002448: 00060793 mv a5,a2
8000244c: 0017c703 lbu a4,1(a5)
80002450: 00178793 addi a5,a5,1
80002454: fe071ce3 bnez a4,8000244c <printhex+0x50>
80002458: 02010113 addi sp,sp,32
8000245c: 00008067 ret
0000000080002460 <handle_fault>:
80002460: fffff7b7 lui a5,0xfffff
80002464: 00f507b3 add a5,a0,a5
80002468: 0003e737 lui a4,0x3e
8000246c: 02e7e263 bltu a5,a4,80002490 <handle_fault+0x30>
80002470: 07300713 li a4,115
80002474: 00000797 auipc a5,0x0
80002478: 53c78793 addi a5,a5,1340 # 800029b0 <userstart+0xac>
8000247c: 0080006f j 80002484 <handle_fault+0x24>
80002480: 0017c703 lbu a4,1(a5)
80002484: 00178793 addi a5,a5,1
80002488: fe071ce3 bnez a4,80002480 <handle_fault+0x20>
8000248c: 0000006f j 8000248c <handle_fault+0x2c>
80002490: dcdff06f j 8000225c <handle_fault.part.0>
0000000080002494 <handle_trap>:
80002494: 11853583 ld a1,280(a0)
80002498: f9010113 addi sp,sp,-112
8000249c: 06113423 sd ra,104(sp)
800024a0: 06813023 sd s0,96(sp)
800024a4: 04913c23 sd s1,88(sp)
800024a8: 05213823 sd s2,80(sp)
800024ac: 05313423 sd s3,72(sp)
800024b0: 05413023 sd s4,64(sp)
800024b4: 03513c23 sd s5,56(sp)
800024b8: 03613823 sd s6,48(sp)
800024bc: 03713423 sd s7,40(sp)
800024c0: 03813023 sd s8,32(sp)
800024c4: 01913c23 sd s9,24(sp)
800024c8: 01a13823 sd s10,16(sp)
800024cc: 01b13423 sd s11,8(sp)
800024d0: 00800793 li a5,8
800024d4: 08f58263 beq a1,a5,80002558 <handle_trap+0xc4>
800024d8: 00200793 li a5,2
800024dc: 00050413 mv s0,a0
800024e0: 02f58c63 beq a1,a5,80002518 <handle_trap+0x84>
800024e4: ff458793 addi a5,a1,-12
800024e8: 00100713 li a4,1
800024ec: 0ef77463 bgeu a4,a5,800025d4 <handle_trap+0x140>
800024f0: 00f00693 li a3,15
800024f4: 07300713 li a4,115
800024f8: 00000797 auipc a5,0x0
800024fc: 5c878793 addi a5,a5,1480 # 80002ac0 <userstart+0x1bc>
80002500: 00d59663 bne a1,a3,8000250c <handle_trap+0x78>
80002504: 0d00006f j 800025d4 <handle_trap+0x140>
80002508: 0017c703 lbu a4,1(a5)
8000250c: 00178793 addi a5,a5,1
80002510: fe071ce3 bnez a4,80002508 <handle_trap+0x74>
80002514: 0000006f j 80002514 <handle_trap+0x80>
80002518: 10853783 ld a5,264(a0)
8000251c: 0037f713 andi a4,a5,3
80002520: 0e071463 bnez a4,80002608 <handle_trap+0x174>
80002524: 0080076f jal a4,8000252c <handle_trap+0x98>
80002528: 00301073 fscsr zero
8000252c: 0007a603 lw a2,0(a5)
80002530: 00072683 lw a3,0(a4) # 3e000 <_start-0x7ffc2000>
80002534: 00000797 auipc a5,0x0
80002538: 55c78793 addi a5,a5,1372 # 80002a90 <userstart+0x18c>
8000253c: 07300713 li a4,115
80002540: 00d61663 bne a2,a3,8000254c <handle_trap+0xb8>
80002544: 0e40006f j 80002628 <handle_trap+0x194>
80002548: 0017c703 lbu a4,1(a5)
8000254c: 00178793 addi a5,a5,1
80002550: fe071ce3 bnez a4,80002548 <handle_trap+0xb4>
80002554: 0000006f j 80002554 <handle_trap+0xc0>
80002558: 000014b7 lui s1,0x1
8000255c: 00005917 auipc s2,0x5
80002560: e9490913 addi s2,s2,-364 # 800073f0 <user_mapping>
80002564: 00001997 auipc s3,0x1
80002568: a9c98993 addi s3,s3,-1380 # 80003000 <pt>
8000256c: 00005a97 auipc s5,0x5
80002570: 274a8a93 addi s5,s5,628 # 800077e0 <freelist_tail>
80002574: 00005d17 auipc s10,0x5
80002578: 274d0d13 addi s10,s10,628 # 800077e8 <freelist_head>
8000257c: 00040bb7 lui s7,0x40
80002580: ffe00b37 lui s6,0xffe00
80002584: 0003fa37 lui s4,0x3f
80002588: 00c4d793 srli a5,s1,0xc
8000258c: 00479413 slli s0,a5,0x4
80002590: 60078713 addi a4,a5,1536
80002594: 008907b3 add a5,s2,s0
80002598: 0007b783 ld a5,0(a5)
8000259c: 00371713 slli a4,a4,0x3
800025a0: 00e98733 add a4,s3,a4
800025a4: 12078e63 beqz a5,800026e0 <handle_trap+0x24c>
800025a8: 00073c03 ld s8,0(a4)
800025ac: 040c7793 andi a5,s8,64
800025b0: 0c079063 bnez a5,80002670 <handle_trap+0x1dc>
800025b4: 07300713 li a4,115
800025b8: 00000797 auipc a5,0x0
800025bc: 44078793 addi a5,a5,1088 # 800029f8 <userstart+0xf4>
800025c0: 0080006f j 800025c8 <handle_trap+0x134>
800025c4: 0017c703 lbu a4,1(a5)
800025c8: 00178793 addi a5,a5,1
800025cc: fe071ce3 bnez a4,800025c4 <handle_trap+0x130>
800025d0: 0000006f j 800025d0 <handle_trap+0x13c>
800025d4: 11043503 ld a0,272(s0)
800025d8: fffff7b7 lui a5,0xfffff
800025dc: 0003e737 lui a4,0x3e
800025e0: 00f507b3 add a5,a0,a5
800025e4: 04e7e463 bltu a5,a4,8000262c <handle_trap+0x198>
800025e8: 07300713 li a4,115
800025ec: 00000797 auipc a5,0x0
800025f0: 3c478793 addi a5,a5,964 # 800029b0 <userstart+0xac>
800025f4: 0080006f j 800025fc <handle_trap+0x168>
800025f8: 0017c703 lbu a4,1(a5)
800025fc: 00178793 addi a5,a5,1
80002600: fe071ce3 bnez a4,800025f8 <handle_trap+0x164>
80002604: 0000006f j 80002604 <handle_trap+0x170>
80002608: 07300713 li a4,115
8000260c: 00000797 auipc a5,0x0
80002610: 45c78793 addi a5,a5,1116 # 80002a68 <userstart+0x164>
80002614: 0080006f j 8000261c <handle_trap+0x188>
80002618: 0017c703 lbu a4,1(a5)
8000261c: 00178793 addi a5,a5,1
80002620: fe071ce3 bnez a4,80002618 <handle_trap+0x184>
80002624: 0000006f j 80002624 <handle_trap+0x190>
80002628: 0000006f j 80002628 <handle_trap+0x194>
8000262c: c31ff0ef jal ra,8000225c <handle_fault.part.0>
80002630: 00040513 mv a0,s0
80002634: 06013403 ld s0,96(sp)
80002638: 06813083 ld ra,104(sp)
8000263c: 05813483 ld s1,88(sp)
80002640: 05013903 ld s2,80(sp)
80002644: 04813983 ld s3,72(sp)
80002648: 04013a03 ld s4,64(sp)
8000264c: 03813a83 ld s5,56(sp)
80002650: 03013b03 ld s6,48(sp)
80002654: 02813b83 ld s7,40(sp)
80002658: 02013c03 ld s8,32(sp)
8000265c: 01813c83 ld s9,24(sp)
80002660: 01013d03 ld s10,16(sp)
80002664: 00813d83 ld s11,8(sp)
80002668: 07010113 addi sp,sp,112
8000266c: a51fd06f j 800000bc <pop_tf>
80002670: 100bacf3 csrrs s9,sstatus,s7
80002674: 01648db3 add s11,s1,s6
80002678: 00001637 lui a2,0x1
8000267c: 000d8593 mv a1,s11
80002680: 00048513 mv a0,s1
80002684: ab1ff0ef jal ra,80002134 <memcmp>
80002688: 080c7c13 andi s8,s8,128
8000268c: 02050c63 beqz a0,800026c4 <handle_trap+0x230>
80002690: 020c1263 bnez s8,800026b4 <handle_trap+0x220>
80002694: 07300713 li a4,115
80002698: 00000797 auipc a5,0x0
8000269c: 39878793 addi a5,a5,920 # 80002a30 <userstart+0x12c>
800026a0: 0080006f j 800026a8 <handle_trap+0x214>
800026a4: 0017c703 lbu a4,1(a5)
800026a8: 00178793 addi a5,a5,1
800026ac: fe071ce3 bnez a4,800026a4 <handle_trap+0x210>
800026b0: 0000006f j 800026b0 <handle_trap+0x21c>
800026b4: 00001637 lui a2,0x1
800026b8: 000d8593 mv a1,s11
800026bc: 00048513 mv a0,s1
800026c0: 941ff0ef jal ra,80002000 <memcpy>
800026c4: 008907b3 add a5,s2,s0
800026c8: 100c9073 csrw sstatus,s9
800026cc: 000ab703 ld a4,0(s5)
800026d0: 0007b023 sd zero,0(a5)
800026d4: 00070e63 beqz a4,800026f0 <handle_trap+0x25c>
800026d8: 00f73423 sd a5,8(a4) # 3e008 <_start-0x7ffc1ff8>
800026dc: 00fab023 sd a5,0(s5)
800026e0: 000017b7 lui a5,0x1
800026e4: 00f484b3 add s1,s1,a5
800026e8: eb4490e3 bne s1,s4,80002588 <handle_trap+0xf4>
800026ec: 0000006f j 800026ec <handle_trap+0x258>
800026f0: 00fab023 sd a5,0(s5)
800026f4: 00fd3023 sd a5,0(s10)
800026f8: fe9ff06f j 800026e0 <handle_trap+0x24c>
00000000800026fc <vm_boot>:
800026fc: f14027f3 csrr a5,mhartid
80002700: 1a079863 bnez a5,800028b0 <vm_boot+0x1b4>
80002704: 00003797 auipc a5,0x3
80002708: 8fc78793 addi a5,a5,-1796 # 80005000 <pt+0x2000>
8000270c: 00c7d793 srli a5,a5,0xc
80002710: 00002597 auipc a1,0x2
80002714: 8f058593 addi a1,a1,-1808 # 80004000 <pt+0x1000>
80002718: ed010113 addi sp,sp,-304
8000271c: 00004817 auipc a6,0x4
80002720: 8e480813 addi a6,a6,-1820 # 80006000 <pt+0x3000>
80002724: 00a79793 slli a5,a5,0xa
80002728: 12813023 sd s0,288(sp)
8000272c: 12113423 sd ra,296(sp)
80002730: 00c5d693 srli a3,a1,0xc
80002734: 00c85713 srli a4,a6,0xc
80002738: 0017e793 ori a5,a5,1
8000273c: 00001897 auipc a7,0x1
80002740: 8c488893 addi a7,a7,-1852 # 80003000 <pt>
80002744: 00050413 mv s0,a0
80002748: fef5bc23 sd a5,-8(a1)
8000274c: fff00513 li a0,-1
80002750: 00a69693 slli a3,a3,0xa
80002754: 00a71713 slli a4,a4,0xa
80002758: 200007b7 lui a5,0x20000
8000275c: 0016e693 ori a3,a3,1
80002760: 00176713 ori a4,a4,1
80002764: 00c8d613 srli a2,a7,0xc
80002768: 03f51313 slli t1,a0,0x3f
8000276c: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
80002770: fef83c23 sd a5,-8(a6)
80002774: 00d8b023 sd a3,0(a7)
80002778: 00e5b023 sd a4,0(a1)
8000277c: 006667b3 or a5,a2,t1
80002780: 18079073 csrw satp,a5
80002784: 18002773 csrr a4,satp
80002788: 02e78263 beq a5,a4,800027ac <vm_boot+0xb0>
8000278c: 07300713 li a4,115
80002790: 00000797 auipc a5,0x0
80002794: 36078793 addi a5,a5,864 # 80002af0 <userstart+0x1ec>
80002798: 0080006f j 800027a0 <vm_boot+0xa4>
8000279c: 0017c703 lbu a4,1(a5)
800027a0: 00178793 addi a5,a5,1
800027a4: fe071ce3 bnez a4,8000279c <vm_boot+0xa0>
800027a8: 0000006f j 800027a8 <vm_boot+0xac>
800027ac: 00b55513 srli a0,a0,0xb
800027b0: 01f00793 li a5,31
800027b4: 00000297 auipc t0,0x0
800027b8: 01428293 addi t0,t0,20 # 800027c8 <vm_boot+0xcc>
800027bc: 305292f3 csrrw t0,mtvec,t0
800027c0: 3b051073 csrw pmpaddr0,a0
800027c4: 3a079073 csrw pmpcfg0,a5
800027c8: 30529073 csrw mtvec,t0
800027cc: bff00813 li a6,-1025
800027d0: 01581813 slli a6,a6,0x15
800027d4: ffffe797 auipc a5,0xffffe
800027d8: 97078793 addi a5,a5,-1680 # 80000144 <trap_entry>
800027dc: 010787b3 add a5,a5,a6
800027e0: 10579073 csrw stvec,a5
800027e4: 340027f3 csrr a5,mscratch
800027e8: 010787b3 add a5,a5,a6
800027ec: 14079073 csrw sscratch,a5
800027f0: 0000b7b7 lui a5,0xb
800027f4: 1007879b addiw a5,a5,256
800027f8: 30279073 csrw medeleg,a5
800027fc: 0001e7b7 lui a5,0x1e
80002800: 6007879b addiw a5,a5,1536
80002804: 30079073 csrw mstatus,a5
80002808: 30405073 csrwi mie,0
8000280c: 00004717 auipc a4,0x4
80002810: 7f470713 addi a4,a4,2036 # 80007000 <freelist_nodes>
80002814: 010707b3 add a5,a4,a6
80002818: 3e078693 addi a3,a5,992 # 1e3e0 <_start-0x7ffe1c20>
8000281c: 00005617 auipc a2,0x5
80002820: fcf63623 sd a5,-52(a2) # 800077e8 <freelist_head>
80002824: 000808b7 lui a7,0x80
80002828: 00005797 auipc a5,0x5
8000282c: fad7bc23 sd a3,-72(a5) # 800077e0 <freelist_tail>
80002830: 00005317 auipc t1,0x5
80002834: bc030313 addi t1,t1,-1088 # 800073f0 <user_mapping>
80002838: 03000793 li a5,48
8000283c: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
80002840: 01080813 addi a6,a6,16
80002844: 0017d613 srli a2,a5,0x1
80002848: 011786b3 add a3,a5,a7
8000284c: 00f647b3 xor a5,a2,a5
80002850: 010705b3 add a1,a4,a6
80002854: 00c69693 slli a3,a3,0xc
80002858: 00579793 slli a5,a5,0x5
8000285c: 00d73023 sd a3,0(a4)
80002860: 00b73423 sd a1,8(a4)
80002864: 0207f793 andi a5,a5,32
80002868: 01070713 addi a4,a4,16
8000286c: 00f667b3 or a5,a2,a5
80002870: fce31ae3 bne t1,a4,80002844 <vm_boot+0x148>
80002874: 12000613 li a2,288
80002878: 00000593 li a1,0
8000287c: 00010513 mv a0,sp
80002880: 00005797 auipc a5,0x5
80002884: b607b423 sd zero,-1176(a5) # 800073e8 <freelist_nodes+0x3e8>
80002888: fd4ff0ef jal ra,8000205c <memset>
8000288c: 800007b7 lui a5,0x80000
80002890: 00f40433 add s0,s0,a5
80002894: 00010513 mv a0,sp
80002898: 10813423 sd s0,264(sp)
8000289c: 821fd0ef jal ra,800000bc <pop_tf>
800028a0: 12813083 ld ra,296(sp)
800028a4: 12013403 ld s0,288(sp)
800028a8: 13010113 addi sp,sp,304
800028ac: 00008067 ret
800028b0: 00100713 li a4,1
800028b4: 07a657b7 lui a5,0x7a65
800028b8: 00080637 lui a2,0x80
800028bc: bab78793 addi a5,a5,-1109 # 7a64bab <_start-0x7859b455>
800028c0: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
800028c4: 01f71513 slli a0,a4,0x1f
800028c8: 03e71693 slli a3,a4,0x3e
800028cc: 01c0006f j 800028e8 <vm_boot+0x1ec>
800028d0: 0007202f amoadd.w zero,zero,(a4)
800028d4: 0017d713 srli a4,a5,0x1
800028d8: 00e7c7b3 xor a5,a5,a4
800028dc: 03e79793 slli a5,a5,0x3e
800028e0: 00d7f7b3 and a5,a5,a3
800028e4: 00e7e7b3 or a5,a5,a4
800028e8: 00c7f733 and a4,a5,a2
800028ec: 0017f593 andi a1,a5,1
800028f0: 00a70733 add a4,a4,a0
800028f4: fc059ee3 bnez a1,800028d0 <vm_boot+0x1d4>
800028f8: 00072003 lw zero,0(a4)
800028fc: fd9ff06f j 800028d4 <vm_boot+0x1d8>
0000000080002900 <extra_boot>:
80002900: 00008067 ret
0000000080002904 <userstart>:
80002904: 00100193 li gp,1
80002908: 00000073 ecall
8000290c: c0001073 unimp