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