
rv32ui-v-srli:     file format elf32-littleriscv


Disassembly of section .text.init:

80000000 <_start>:
80000000:	00c0006f          	j	8000000c <handle_reset>

80000004 <nmi_vector>:
80000004:	27c0206f          	j	80002280 <wtf>

80000008 <trap_vector>:
80000008:	2780206f          	j	80002280 <wtf>

8000000c <handle_reset>:
8000000c:	00000297          	auipc	t0,0x0
80000010:	ffc28293          	addi	t0,t0,-4 # 80000008 <trap_vector>
80000014:	30529073          	csrw	mtvec,t0
80000018:	00007117          	auipc	sp,0x7
8000001c:	35010113          	addi	sp,sp,848 # 80007368 <_end+0xf70>
80000020:	f14022f3          	csrr	t0,mhartid
80000024:	00c29293          	slli	t0,t0,0xc
80000028:	00510133          	add	sp,sp,t0
8000002c:	34011073          	csrw	mscratch,sp
80000030:	3c1020ef          	jal	ra,80002bf0 <extra_boot>
80000034:	00003517          	auipc	a0,0x3
80000038:	bc050513          	addi	a0,a0,-1088 # 80002bf4 <userstart>
8000003c:	2150206f          	j	80002a50 <vm_boot>

80000040 <pop_tf>:
80000040:	08452283          	lw	t0,132(a0)
80000044:	14129073          	csrw	sepc,t0
80000048:	00452083          	lw	ra,4(a0)
8000004c:	00852103          	lw	sp,8(a0)
80000050:	00c52183          	lw	gp,12(a0)
80000054:	01052203          	lw	tp,16(a0)
80000058:	01452283          	lw	t0,20(a0)
8000005c:	01852303          	lw	t1,24(a0)
80000060:	01c52383          	lw	t2,28(a0)
80000064:	02052403          	lw	s0,32(a0)
80000068:	02452483          	lw	s1,36(a0)
8000006c:	02c52583          	lw	a1,44(a0)
80000070:	03052603          	lw	a2,48(a0)
80000074:	03452683          	lw	a3,52(a0)
80000078:	03852703          	lw	a4,56(a0)
8000007c:	03c52783          	lw	a5,60(a0)
80000080:	04052803          	lw	a6,64(a0)
80000084:	04452883          	lw	a7,68(a0)
80000088:	04852903          	lw	s2,72(a0)
8000008c:	04c52983          	lw	s3,76(a0)
80000090:	05052a03          	lw	s4,80(a0)
80000094:	05452a83          	lw	s5,84(a0)
80000098:	05852b03          	lw	s6,88(a0)
8000009c:	05c52b83          	lw	s7,92(a0)
800000a0:	06052c03          	lw	s8,96(a0)
800000a4:	06452c83          	lw	s9,100(a0)
800000a8:	06852d03          	lw	s10,104(a0)
800000ac:	06c52d83          	lw	s11,108(a0)
800000b0:	07052e03          	lw	t3,112(a0)
800000b4:	07452e83          	lw	t4,116(a0)
800000b8:	07852f03          	lw	t5,120(a0)
800000bc:	07c52f83          	lw	t6,124(a0)
800000c0:	02852503          	lw	a0,40(a0)
800000c4:	10200073          	sret

800000c8 <trap_entry>:
800000c8:	14011173          	csrrw	sp,sscratch,sp
800000cc:	00112223          	sw	ra,4(sp)
800000d0:	00312623          	sw	gp,12(sp)
800000d4:	00412823          	sw	tp,16(sp)
800000d8:	00512a23          	sw	t0,20(sp)
800000dc:	00612c23          	sw	t1,24(sp)
800000e0:	00712e23          	sw	t2,28(sp)
800000e4:	02812023          	sw	s0,32(sp)
800000e8:	02912223          	sw	s1,36(sp)
800000ec:	02a12423          	sw	a0,40(sp)
800000f0:	02b12623          	sw	a1,44(sp)
800000f4:	02c12823          	sw	a2,48(sp)
800000f8:	02d12a23          	sw	a3,52(sp)
800000fc:	02e12c23          	sw	a4,56(sp)
80000100:	02f12e23          	sw	a5,60(sp)
80000104:	05012023          	sw	a6,64(sp)
80000108:	05112223          	sw	a7,68(sp)
8000010c:	05212423          	sw	s2,72(sp)
80000110:	05312623          	sw	s3,76(sp)
80000114:	05412823          	sw	s4,80(sp)
80000118:	05512a23          	sw	s5,84(sp)
8000011c:	05612c23          	sw	s6,88(sp)
80000120:	05712e23          	sw	s7,92(sp)
80000124:	07812023          	sw	s8,96(sp)
80000128:	07912223          	sw	s9,100(sp)
8000012c:	07a12423          	sw	s10,104(sp)
80000130:	07b12623          	sw	s11,108(sp)
80000134:	07c12823          	sw	t3,112(sp)
80000138:	07d12a23          	sw	t4,116(sp)
8000013c:	07e12c23          	sw	t5,120(sp)
80000140:	07f12e23          	sw	t6,124(sp)
80000144:	140112f3          	csrrw	t0,sscratch,sp
80000148:	00512423          	sw	t0,8(sp)
8000014c:	100022f3          	csrr	t0,sstatus
80000150:	08512023          	sw	t0,128(sp)
80000154:	141022f3          	csrr	t0,sepc
80000158:	08512223          	sw	t0,132(sp)
8000015c:	143022f3          	csrr	t0,stval
80000160:	08512423          	sw	t0,136(sp)
80000164:	142022f3          	csrr	t0,scause
80000168:	08512623          	sw	t0,140(sp)
8000016c:	00010513          	mv	a0,sp
80000170:	5180206f          	j	80002688 <handle_trap>

Disassembly of section .text:

80002000 <memcpy>:
80002000:	00c5e7b3          	or	a5,a1,a2
80002004:	00f567b3          	or	a5,a0,a5
80002008:	0037f793          	andi	a5,a5,3
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:	00458593          	addi	a1,a1,4
80002044:	ffc5a703          	lw	a4,-4(a1)
80002048:	00478793          	addi	a5,a5,4
8000204c:	fee7ae23          	sw	a4,-4(a5)
80002050:	fed7e8e3          	bltu	a5,a3,80002040 <memcpy+0x40>
80002054:	00008067          	ret
80002058:	00008067          	ret

8000205c <memset>:
8000205c:	00c567b3          	or	a5,a0,a2
80002060:	0037f793          	andi	a5,a5,3
80002064:	00c50633          	add	a2,a0,a2
80002068:	02078063          	beqz	a5,80002088 <memset+0x2c>
8000206c:	0ff5f593          	andi	a1,a1,255
80002070:	00050793          	mv	a5,a0
80002074:	04c57063          	bgeu	a0,a2,800020b4 <memset+0x58>
80002078:	00178793          	addi	a5,a5,1
8000207c:	feb78fa3          	sb	a1,-1(a5)
80002080:	fef61ce3          	bne	a2,a5,80002078 <memset+0x1c>
80002084:	00008067          	ret
80002088:	0ff5f593          	andi	a1,a1,255
8000208c:	00859793          	slli	a5,a1,0x8
80002090:	00b7e7b3          	or	a5,a5,a1
80002094:	01079593          	slli	a1,a5,0x10
80002098:	00f5e5b3          	or	a1,a1,a5
8000209c:	fec574e3          	bgeu	a0,a2,80002084 <memset+0x28>
800020a0:	00050793          	mv	a5,a0
800020a4:	00478793          	addi	a5,a5,4
800020a8:	feb7ae23          	sw	a1,-4(a5)
800020ac:	fec7ece3          	bltu	a5,a2,800020a4 <memset+0x48>
800020b0:	00008067          	ret
800020b4:	00008067          	ret

800020b8 <strlen>:
800020b8:	00054783          	lbu	a5,0(a0)
800020bc:	00078e63          	beqz	a5,800020d8 <strlen+0x20>
800020c0:	00050793          	mv	a5,a0
800020c4:	00178793          	addi	a5,a5,1
800020c8:	0007c703          	lbu	a4,0(a5)
800020cc:	fe071ce3          	bnez	a4,800020c4 <strlen+0xc>
800020d0:	40a78533          	sub	a0,a5,a0
800020d4:	00008067          	ret
800020d8:	00000513          	li	a0,0
800020dc:	00008067          	ret

800020e0 <strcmp>:
800020e0:	00150513          	addi	a0,a0,1
800020e4:	fff54783          	lbu	a5,-1(a0)
800020e8:	00158593          	addi	a1,a1,1
800020ec:	fff5c703          	lbu	a4,-1(a1)
800020f0:	00078863          	beqz	a5,80002100 <strcmp+0x20>
800020f4:	fee786e3          	beq	a5,a4,800020e0 <strcmp>
800020f8:	40e78533          	sub	a0,a5,a4
800020fc:	00008067          	ret
80002100:	00000793          	li	a5,0
80002104:	ff5ff06f          	j	800020f8 <strcmp+0x18>

80002108 <memcmp>:
80002108:	00b567b3          	or	a5,a0,a1
8000210c:	0037f793          	andi	a5,a5,3
80002110:	04079463          	bnez	a5,80002158 <memcmp+0x50>
80002114:	ffc67813          	andi	a6,a2,-4
80002118:	01050833          	add	a6,a0,a6
8000211c:	03057e63          	bgeu	a0,a6,80002158 <memcmp+0x50>
80002120:	0005a703          	lw	a4,0(a1)
80002124:	00052783          	lw	a5,0(a0)
80002128:	02f71863          	bne	a4,a5,80002158 <memcmp+0x50>
8000212c:	00050793          	mv	a5,a0
80002130:	0100006f          	j	80002140 <memcmp+0x38>
80002134:	0007a683          	lw	a3,0(a5)
80002138:	0005a703          	lw	a4,0(a1)
8000213c:	00e69863          	bne	a3,a4,8000214c <memcmp+0x44>
80002140:	00478793          	addi	a5,a5,4
80002144:	00458593          	addi	a1,a1,4
80002148:	ff07e6e3          	bltu	a5,a6,80002134 <memcmp+0x2c>
8000214c:	40a78533          	sub	a0,a5,a0
80002150:	40a60633          	sub	a2,a2,a0
80002154:	00078513          	mv	a0,a5
80002158:	00c58633          	add	a2,a1,a2
8000215c:	0140006f          	j	80002170 <memcmp+0x68>
80002160:	00158593          	addi	a1,a1,1
80002164:	fff54783          	lbu	a5,-1(a0)
80002168:	fff5c703          	lbu	a4,-1(a1)
8000216c:	00e79a63          	bne	a5,a4,80002180 <memcmp+0x78>
80002170:	00150513          	addi	a0,a0,1
80002174:	fec596e3          	bne	a1,a2,80002160 <memcmp+0x58>
80002178:	00000513          	li	a0,0
8000217c:	00008067          	ret
80002180:	40e78533          	sub	a0,a5,a4
80002184:	00008067          	ret

80002188 <strcpy>:
80002188:	00050793          	mv	a5,a0
8000218c:	00158593          	addi	a1,a1,1
80002190:	fff5c703          	lbu	a4,-1(a1)
80002194:	00178793          	addi	a5,a5,1
80002198:	fee78fa3          	sb	a4,-1(a5)
8000219c:	fe0718e3          	bnez	a4,8000218c <strcpy+0x4>
800021a0:	00008067          	ret

800021a4 <atol>:
800021a4:	00054783          	lbu	a5,0(a0)
800021a8:	02000713          	li	a4,32
800021ac:	00e79863          	bne	a5,a4,800021bc <atol+0x18>
800021b0:	00150513          	addi	a0,a0,1
800021b4:	00054783          	lbu	a5,0(a0)
800021b8:	fee78ce3          	beq	a5,a4,800021b0 <atol+0xc>
800021bc:	fd578713          	addi	a4,a5,-43
800021c0:	0fd77713          	andi	a4,a4,253
800021c4:	04070263          	beqz	a4,80002208 <atol+0x64>
800021c8:	00054683          	lbu	a3,0(a0)
800021cc:	00050793          	mv	a5,a0
800021d0:	00000613          	li	a2,0
800021d4:	04068863          	beqz	a3,80002224 <atol+0x80>
800021d8:	00000513          	li	a0,0
800021dc:	00178793          	addi	a5,a5,1
800021e0:	fd068593          	addi	a1,a3,-48
800021e4:	00251713          	slli	a4,a0,0x2
800021e8:	0007c683          	lbu	a3,0(a5)
800021ec:	00a70533          	add	a0,a4,a0
800021f0:	00151513          	slli	a0,a0,0x1
800021f4:	00a58533          	add	a0,a1,a0
800021f8:	fe0692e3          	bnez	a3,800021dc <atol+0x38>
800021fc:	00060463          	beqz	a2,80002204 <atol+0x60>
80002200:	40a00533          	neg	a0,a0
80002204:	00008067          	ret
80002208:	00154683          	lbu	a3,1(a0)
8000220c:	fd378793          	addi	a5,a5,-45
80002210:	0017b613          	seqz	a2,a5
80002214:	00150793          	addi	a5,a0,1
80002218:	fc0690e3          	bnez	a3,800021d8 <atol+0x34>
8000221c:	00000513          	li	a0,0
80002220:	fddff06f          	j	800021fc <atol+0x58>
80002224:	00000513          	li	a0,0
80002228:	00008067          	ret

8000222c <terminate>:
8000222c:	fffff697          	auipc	a3,0xfffff
80002230:	dd468693          	addi	a3,a3,-556 # 80001000 <tohost>
80002234:	0006a703          	lw	a4,0(a3)
80002238:	0046a783          	lw	a5,4(a3)
8000223c:	00050813          	mv	a6,a0
80002240:	41f55893          	srai	a7,a0,0x1f
80002244:	00f76733          	or	a4,a4,a5
80002248:	02070663          	beqz	a4,80002274 <terminate+0x48>
8000224c:	fffff617          	auipc	a2,0xfffff
80002250:	df460613          	addi	a2,a2,-524 # 80001040 <fromhost>
80002254:	00000713          	li	a4,0
80002258:	00e62023          	sw	a4,0(a2)
8000225c:	00000793          	li	a5,0
80002260:	00f62223          	sw	a5,4(a2)
80002264:	0006a703          	lw	a4,0(a3)
80002268:	0046a783          	lw	a5,4(a3)
8000226c:	00f76733          	or	a4,a4,a5
80002270:	fe0712e3          	bnez	a4,80002254 <terminate+0x28>
80002274:	0106a023          	sw	a6,0(a3)
80002278:	0116a223          	sw	a7,4(a3)
8000227c:	0000006f          	j	8000227c <terminate+0x50>

80002280 <wtf>:
80002280:	ff010113          	addi	sp,sp,-16
80002284:	34900513          	li	a0,841
80002288:	00112623          	sw	ra,12(sp)
8000228c:	fa1ff0ef          	jal	ra,8000222c <terminate>

80002290 <printhex>:
80002290:	fe010113          	addi	sp,sp,-32
80002294:	00c10613          	addi	a2,sp,12
80002298:	01b10793          	addi	a5,sp,27
8000229c:	00900e93          	li	t4,9
800022a0:	0080006f          	j	800022a8 <printhex+0x18>
800022a4:	00070793          	mv	a5,a4
800022a8:	00f57693          	andi	a3,a0,15
800022ac:	01c59e13          	slli	t3,a1,0x1c
800022b0:	00455513          	srli	a0,a0,0x4
800022b4:	05700313          	li	t1,87
800022b8:	0ff6f713          	andi	a4,a3,255
800022bc:	00dee463          	bltu	t4,a3,800022c4 <printhex+0x34>
800022c0:	03000313          	li	t1,48
800022c4:	00670733          	add	a4,a4,t1
800022c8:	00e78023          	sb	a4,0(a5)
800022cc:	00ae6533          	or	a0,t3,a0
800022d0:	fff78713          	addi	a4,a5,-1
800022d4:	0045d593          	srli	a1,a1,0x4
800022d8:	fcf616e3          	bne	a2,a5,800022a4 <printhex+0x14>
800022dc:	00c14503          	lbu	a0,12(sp)
800022e0:	00010e23          	sb	zero,28(sp)
800022e4:	06050263          	beqz	a0,80002348 <printhex+0xb8>
800022e8:	00060593          	mv	a1,a2
800022ec:	fffff697          	auipc	a3,0xfffff
800022f0:	d1468693          	addi	a3,a3,-748 # 80001000 <tohost>
800022f4:	fffff617          	auipc	a2,0xfffff
800022f8:	d4c60613          	addi	a2,a2,-692 # 80001040 <fromhost>
800022fc:	0006a703          	lw	a4,0(a3)
80002300:	0046a783          	lw	a5,4(a3)
80002304:	00050813          	mv	a6,a0
80002308:	00158593          	addi	a1,a1,1
8000230c:	00f76733          	or	a4,a4,a5
80002310:	010108b7          	lui	a7,0x1010
80002314:	02070263          	beqz	a4,80002338 <printhex+0xa8>
80002318:	00000713          	li	a4,0
8000231c:	00e62023          	sw	a4,0(a2)
80002320:	00000793          	li	a5,0
80002324:	00f62223          	sw	a5,4(a2)
80002328:	0006a703          	lw	a4,0(a3)
8000232c:	0046a783          	lw	a5,4(a3)
80002330:	00f76733          	or	a4,a4,a5
80002334:	fe0712e3          	bnez	a4,80002318 <printhex+0x88>
80002338:	0005c503          	lbu	a0,0(a1)
8000233c:	0106a023          	sw	a6,0(a3)
80002340:	0116a223          	sw	a7,4(a3)
80002344:	fa051ce3          	bnez	a0,800022fc <printhex+0x6c>
80002348:	02010113          	addi	sp,sp,32
8000234c:	00008067          	ret

80002350 <handle_fault>:
80002350:	ff010113          	addi	sp,sp,-16
80002354:	fffff637          	lui	a2,0xfffff
80002358:	00112623          	sw	ra,12(sp)
8000235c:	00812423          	sw	s0,8(sp)
80002360:	00912223          	sw	s1,4(sp)
80002364:	00c50733          	add	a4,a0,a2
80002368:	0003e7b7          	lui	a5,0x3e
8000236c:	16f77463          	bgeu	a4,a5,800024d4 <handle_fault+0x184>
80002370:	00c55693          	srli	a3,a0,0xc
80002374:	40068e13          	addi	t3,a3,1024
80002378:	00002317          	auipc	t1,0x2
8000237c:	c8830313          	addi	t1,t1,-888 # 80004000 <begin_signature>
80002380:	002e1793          	slli	a5,t3,0x2
80002384:	00f307b3          	add	a5,t1,a5
80002388:	0007a703          	lw	a4,0(a5) # 3e000 <_start-0x7ffc2000>
8000238c:	00c57533          	and	a0,a0,a2
80002390:	0e071863          	bnez	a4,80002480 <handle_fault+0x130>
80002394:	00004797          	auipc	a5,0x4
80002398:	06078793          	addi	a5,a5,96 # 800063f4 <freelist_head>
8000239c:	0007a583          	lw	a1,0(a5)
800023a0:	20058863          	beqz	a1,800025b0 <handle_fault+0x260>
800023a4:	0045a783          	lw	a5,4(a1)
800023a8:	00004717          	auipc	a4,0x4
800023ac:	04870713          	addi	a4,a4,72 # 800063f0 <freelist_tail>
800023b0:	00072703          	lw	a4,0(a4)
800023b4:	00004617          	auipc	a2,0x4
800023b8:	04f62023          	sw	a5,64(a2) # 800063f4 <freelist_head>
800023bc:	10e78663          	beq	a5,a4,800024c8 <handle_fault+0x178>
800023c0:	0005a703          	lw	a4,0(a1)
800023c4:	002e1793          	slli	a5,t3,0x2
800023c8:	00f307b3          	add	a5,t1,a5
800023cc:	00c75713          	srli	a4,a4,0xc
800023d0:	00a71713          	slli	a4,a4,0xa
800023d4:	0df76e93          	ori	t4,a4,223
800023d8:	01f76613          	ori	a2,a4,31
800023dc:	01d7a023          	sw	t4,0(a5)
800023e0:	12050073          	sfence.vma	a0
800023e4:	00004797          	auipc	a5,0x4
800023e8:	e1478793          	addi	a5,a5,-492 # 800061f8 <user_mapping>
800023ec:	00369693          	slli	a3,a3,0x3
800023f0:	00d786b3          	add	a3,a5,a3
800023f4:	0006a783          	lw	a5,0(a3)
800023f8:	22079263          	bnez	a5,8000261c <handle_fault+0x2cc>
800023fc:	0005a783          	lw	a5,0(a1)
80002400:	00f6a023          	sw	a5,0(a3)
80002404:	0045a783          	lw	a5,4(a1)
80002408:	000405b7          	lui	a1,0x40
8000240c:	00f6a223          	sw	a5,4(a3)
80002410:	1005a5f3          	csrrs	a1,sstatus,a1
80002414:	ffc007b7          	lui	a5,0xffc00
80002418:	00f507b3          	add	a5,a0,a5
8000241c:	000016b7          	lui	a3,0x1
80002420:	00050713          	mv	a4,a0
80002424:	00d786b3          	add	a3,a5,a3
80002428:	0007af03          	lw	t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
8000242c:	0047ae83          	lw	t4,4(a5)
80002430:	0087a883          	lw	a7,8(a5)
80002434:	00c7a803          	lw	a6,12(a5)
80002438:	01e72023          	sw	t5,0(a4)
8000243c:	01d72223          	sw	t4,4(a4)
80002440:	01172423          	sw	a7,8(a4)
80002444:	01072623          	sw	a6,12(a4)
80002448:	01078793          	addi	a5,a5,16
8000244c:	01070713          	addi	a4,a4,16
80002450:	fcd79ce3          	bne	a5,a3,80002428 <handle_fault+0xd8>
80002454:	10059073          	csrw	sstatus,a1
80002458:	002e1793          	slli	a5,t3,0x2
8000245c:	00f307b3          	add	a5,t1,a5
80002460:	00c7a023          	sw	a2,0(a5)
80002464:	12050073          	sfence.vma	a0
80002468:	0000100f          	fence.i
8000246c:	00c12083          	lw	ra,12(sp)
80002470:	00812403          	lw	s0,8(sp)
80002474:	00412483          	lw	s1,4(sp)
80002478:	01010113          	addi	sp,sp,16
8000247c:	00008067          	ret
80002480:	04077693          	andi	a3,a4,64
80002484:	02068a63          	beqz	a3,800024b8 <handle_fault+0x168>
80002488:	08077693          	andi	a3,a4,128
8000248c:	0a069c63          	bnez	a3,80002544 <handle_fault+0x1f4>
80002490:	00f00693          	li	a3,15
80002494:	0ad59863          	bne	a1,a3,80002544 <handle_fault+0x1f4>
80002498:	08076713          	ori	a4,a4,128
8000249c:	00e7a023          	sw	a4,0(a5)
800024a0:	12050073          	sfence.vma	a0
800024a4:	00c12083          	lw	ra,12(sp)
800024a8:	00812403          	lw	s0,8(sp)
800024ac:	00412483          	lw	s1,4(sp)
800024b0:	01010113          	addi	sp,sp,16
800024b4:	00008067          	ret
800024b8:	04076713          	ori	a4,a4,64
800024bc:	00e7a023          	sw	a4,0(a5)
800024c0:	12050073          	sfence.vma	a0
800024c4:	fe1ff06f          	j	800024a4 <handle_fault+0x154>
800024c8:	00004797          	auipc	a5,0x4
800024cc:	f207a423          	sw	zero,-216(a5) # 800063f0 <freelist_tail>
800024d0:	ef1ff06f          	j	800023c0 <handle_fault+0x70>
800024d4:	04100513          	li	a0,65
800024d8:	00001597          	auipc	a1,0x1
800024dc:	9d858593          	addi	a1,a1,-1576 # 80002eb0 <pass+0xc>
800024e0:	fffff697          	auipc	a3,0xfffff
800024e4:	b2068693          	addi	a3,a3,-1248 # 80001000 <tohost>
800024e8:	fffff617          	auipc	a2,0xfffff
800024ec:	b5860613          	addi	a2,a2,-1192 # 80001040 <fromhost>
800024f0:	0006a703          	lw	a4,0(a3)
800024f4:	0046a783          	lw	a5,4(a3)
800024f8:	00050313          	mv	t1,a0
800024fc:	00158593          	addi	a1,a1,1
80002500:	00f76733          	or	a4,a4,a5
80002504:	010103b7          	lui	t2,0x1010
80002508:	02070263          	beqz	a4,8000252c <handle_fault+0x1dc>
8000250c:	00000793          	li	a5,0
80002510:	00f62023          	sw	a5,0(a2)
80002514:	00000813          	li	a6,0
80002518:	01062223          	sw	a6,4(a2)
8000251c:	0006a703          	lw	a4,0(a3)
80002520:	0046a783          	lw	a5,4(a3)
80002524:	00f76733          	or	a4,a4,a5
80002528:	fe0712e3          	bnez	a4,8000250c <handle_fault+0x1bc>
8000252c:	0005c503          	lbu	a0,0(a1)
80002530:	0066a023          	sw	t1,0(a3)
80002534:	0076a223          	sw	t2,4(a3)
80002538:	fa051ce3          	bnez	a0,800024f0 <handle_fault+0x1a0>
8000253c:	00300513          	li	a0,3
80002540:	cedff0ef          	jal	ra,8000222c <terminate>
80002544:	04100513          	li	a0,65
80002548:	00001597          	auipc	a1,0x1
8000254c:	9ac58593          	addi	a1,a1,-1620 # 80002ef4 <pass+0x50>
80002550:	fffff697          	auipc	a3,0xfffff
80002554:	ab068693          	addi	a3,a3,-1360 # 80001000 <tohost>
80002558:	fffff617          	auipc	a2,0xfffff
8000255c:	ae860613          	addi	a2,a2,-1304 # 80001040 <fromhost>
80002560:	0006a703          	lw	a4,0(a3)
80002564:	0046a783          	lw	a5,4(a3)
80002568:	00050f13          	mv	t5,a0
8000256c:	00158593          	addi	a1,a1,1
80002570:	00f76733          	or	a4,a4,a5
80002574:	01010fb7          	lui	t6,0x1010
80002578:	02070263          	beqz	a4,8000259c <handle_fault+0x24c>
8000257c:	00000793          	li	a5,0
80002580:	00f62023          	sw	a5,0(a2)
80002584:	00000813          	li	a6,0
80002588:	01062223          	sw	a6,4(a2)
8000258c:	0006a703          	lw	a4,0(a3)
80002590:	0046a783          	lw	a5,4(a3)
80002594:	00f76733          	or	a4,a4,a5
80002598:	fe0712e3          	bnez	a4,8000257c <handle_fault+0x22c>
8000259c:	0005c503          	lbu	a0,0(a1)
800025a0:	01e6a023          	sw	t5,0(a3)
800025a4:	01f6a223          	sw	t6,4(a3)
800025a8:	fa051ce3          	bnez	a0,80002560 <handle_fault+0x210>
800025ac:	f91ff06f          	j	8000253c <handle_fault+0x1ec>
800025b0:	04100513          	li	a0,65
800025b4:	00001597          	auipc	a1,0x1
800025b8:	98858593          	addi	a1,a1,-1656 # 80002f3c <pass+0x98>
800025bc:	fffff697          	auipc	a3,0xfffff
800025c0:	a4468693          	addi	a3,a3,-1468 # 80001000 <tohost>
800025c4:	fffff617          	auipc	a2,0xfffff
800025c8:	a7c60613          	addi	a2,a2,-1412 # 80001040 <fromhost>
800025cc:	0006a703          	lw	a4,0(a3)
800025d0:	0046a783          	lw	a5,4(a3)
800025d4:	00050413          	mv	s0,a0
800025d8:	00158593          	addi	a1,a1,1
800025dc:	00f76733          	or	a4,a4,a5
800025e0:	010104b7          	lui	s1,0x1010
800025e4:	02070263          	beqz	a4,80002608 <handle_fault+0x2b8>
800025e8:	00000793          	li	a5,0
800025ec:	00f62023          	sw	a5,0(a2)
800025f0:	00000813          	li	a6,0
800025f4:	01062223          	sw	a6,4(a2)
800025f8:	0006a703          	lw	a4,0(a3)
800025fc:	0046a783          	lw	a5,4(a3)
80002600:	00f76733          	or	a4,a4,a5
80002604:	fe0712e3          	bnez	a4,800025e8 <handle_fault+0x298>
80002608:	0005c503          	lbu	a0,0(a1)
8000260c:	0086a023          	sw	s0,0(a3)
80002610:	0096a223          	sw	s1,4(a3)
80002614:	fa051ce3          	bnez	a0,800025cc <handle_fault+0x27c>
80002618:	f25ff06f          	j	8000253c <handle_fault+0x1ec>
8000261c:	04100513          	li	a0,65
80002620:	00001597          	auipc	a1,0x1
80002624:	93458593          	addi	a1,a1,-1740 # 80002f54 <pass+0xb0>
80002628:	fffff697          	auipc	a3,0xfffff
8000262c:	9d868693          	addi	a3,a3,-1576 # 80001000 <tohost>
80002630:	fffff617          	auipc	a2,0xfffff
80002634:	a1060613          	addi	a2,a2,-1520 # 80001040 <fromhost>
80002638:	0006a703          	lw	a4,0(a3)
8000263c:	0046a783          	lw	a5,4(a3)
80002640:	00050813          	mv	a6,a0
80002644:	00158593          	addi	a1,a1,1
80002648:	00f76733          	or	a4,a4,a5
8000264c:	010108b7          	lui	a7,0x1010
80002650:	02070263          	beqz	a4,80002674 <handle_fault+0x324>
80002654:	00000713          	li	a4,0
80002658:	00e62023          	sw	a4,0(a2)
8000265c:	00000793          	li	a5,0
80002660:	00f62223          	sw	a5,4(a2)
80002664:	0006a703          	lw	a4,0(a3)
80002668:	0046a783          	lw	a5,4(a3)
8000266c:	00f76733          	or	a4,a4,a5
80002670:	fe0712e3          	bnez	a4,80002654 <handle_fault+0x304>
80002674:	0005c503          	lbu	a0,0(a1)
80002678:	0106a023          	sw	a6,0(a3)
8000267c:	0116a223          	sw	a7,4(a3)
80002680:	fa051ce3          	bnez	a0,80002638 <handle_fault+0x2e8>
80002684:	eb9ff06f          	j	8000253c <handle_fault+0x1ec>

80002688 <handle_trap>:
80002688:	08c52583          	lw	a1,140(a0)
8000268c:	fb010113          	addi	sp,sp,-80
80002690:	04812423          	sw	s0,72(sp)
80002694:	04112623          	sw	ra,76(sp)
80002698:	04912223          	sw	s1,68(sp)
8000269c:	05212023          	sw	s2,64(sp)
800026a0:	03312e23          	sw	s3,60(sp)
800026a4:	03412c23          	sw	s4,56(sp)
800026a8:	03512a23          	sw	s5,52(sp)
800026ac:	03612823          	sw	s6,48(sp)
800026b0:	03712623          	sw	s7,44(sp)
800026b4:	03812423          	sw	s8,40(sp)
800026b8:	03912223          	sw	s9,36(sp)
800026bc:	03a12023          	sw	s10,32(sp)
800026c0:	01b12e23          	sw	s11,28(sp)
800026c4:	00800793          	li	a5,8
800026c8:	00050413          	mv	s0,a0
800026cc:	16f58663          	beq	a1,a5,80002838 <handle_trap+0x1b0>
800026d0:	00200793          	li	a5,2
800026d4:	06f58063          	beq	a1,a5,80002734 <handle_trap+0xac>
800026d8:	ff458793          	addi	a5,a1,-12
800026dc:	00100713          	li	a4,1
800026e0:	00f77663          	bgeu	a4,a5,800026ec <handle_trap+0x64>
800026e4:	00f00793          	li	a5,15
800026e8:	22f59a63          	bne	a1,a5,8000291c <handle_trap+0x294>
800026ec:	08842503          	lw	a0,136(s0)
800026f0:	c61ff0ef          	jal	ra,80002350 <handle_fault>
800026f4:	00040513          	mv	a0,s0
800026f8:	04812403          	lw	s0,72(sp)
800026fc:	04c12083          	lw	ra,76(sp)
80002700:	04412483          	lw	s1,68(sp)
80002704:	04012903          	lw	s2,64(sp)
80002708:	03c12983          	lw	s3,60(sp)
8000270c:	03812a03          	lw	s4,56(sp)
80002710:	03412a83          	lw	s5,52(sp)
80002714:	03012b03          	lw	s6,48(sp)
80002718:	02c12b83          	lw	s7,44(sp)
8000271c:	02812c03          	lw	s8,40(sp)
80002720:	02412c83          	lw	s9,36(sp)
80002724:	02012d03          	lw	s10,32(sp)
80002728:	01c12d83          	lw	s11,28(sp)
8000272c:	05010113          	addi	sp,sp,80
80002730:	911fd06f          	j	80000040 <pop_tf>
80002734:	08452703          	lw	a4,132(a0)
80002738:	00377793          	andi	a5,a4,3
8000273c:	08079863          	bnez	a5,800027cc <handle_trap+0x144>
80002740:	008007ef          	jal	a5,80002748 <handle_trap+0xc0>
80002744:	00301073          	fssr	zero
80002748:	00072703          	lw	a4,0(a4)
8000274c:	0007a783          	lw	a5,0(a5)
80002750:	06f70a63          	beq	a4,a5,800027c4 <handle_trap+0x13c>
80002754:	04100513          	li	a0,65
80002758:	00001597          	auipc	a1,0x1
8000275c:	8c458593          	addi	a1,a1,-1852 # 8000301c <pass+0x178>
80002760:	fffff697          	auipc	a3,0xfffff
80002764:	8a068693          	addi	a3,a3,-1888 # 80001000 <tohost>
80002768:	fffff617          	auipc	a2,0xfffff
8000276c:	8d860613          	addi	a2,a2,-1832 # 80001040 <fromhost>
80002770:	0006a703          	lw	a4,0(a3)
80002774:	0046a783          	lw	a5,4(a3)
80002778:	00050813          	mv	a6,a0
8000277c:	00158593          	addi	a1,a1,1
80002780:	00f76733          	or	a4,a4,a5
80002784:	010108b7          	lui	a7,0x1010
80002788:	02070263          	beqz	a4,800027ac <handle_trap+0x124>
8000278c:	00000713          	li	a4,0
80002790:	00e62023          	sw	a4,0(a2)
80002794:	00000793          	li	a5,0
80002798:	00f62223          	sw	a5,4(a2)
8000279c:	0006a703          	lw	a4,0(a3)
800027a0:	0046a783          	lw	a5,4(a3)
800027a4:	00f76733          	or	a4,a4,a5
800027a8:	fe0712e3          	bnez	a4,8000278c <handle_trap+0x104>
800027ac:	0005c503          	lbu	a0,0(a1)
800027b0:	0106a023          	sw	a6,0(a3)
800027b4:	0116a223          	sw	a7,4(a3)
800027b8:	fa051ce3          	bnez	a0,80002770 <handle_trap+0xe8>
800027bc:	00300513          	li	a0,3
800027c0:	a6dff0ef          	jal	ra,8000222c <terminate>
800027c4:	00100513          	li	a0,1
800027c8:	a65ff0ef          	jal	ra,8000222c <terminate>
800027cc:	00001597          	auipc	a1,0x1
800027d0:	82c58593          	addi	a1,a1,-2004 # 80002ff8 <pass+0x154>
800027d4:	04100613          	li	a2,65
800027d8:	fffff697          	auipc	a3,0xfffff
800027dc:	82868693          	addi	a3,a3,-2008 # 80001000 <tohost>
800027e0:	fffff517          	auipc	a0,0xfffff
800027e4:	86050513          	addi	a0,a0,-1952 # 80001040 <fromhost>
800027e8:	0006a703          	lw	a4,0(a3)
800027ec:	0046a783          	lw	a5,4(a3)
800027f0:	00060e13          	mv	t3,a2
800027f4:	00158593          	addi	a1,a1,1
800027f8:	00f76733          	or	a4,a4,a5
800027fc:	01010eb7          	lui	t4,0x1010
80002800:	02070263          	beqz	a4,80002824 <handle_trap+0x19c>
80002804:	00000793          	li	a5,0
80002808:	00f52023          	sw	a5,0(a0)
8000280c:	00000813          	li	a6,0
80002810:	01052223          	sw	a6,4(a0)
80002814:	0006a703          	lw	a4,0(a3)
80002818:	0046a783          	lw	a5,4(a3)
8000281c:	00f76733          	or	a4,a4,a5
80002820:	fe0712e3          	bnez	a4,80002804 <handle_trap+0x17c>
80002824:	0005c603          	lbu	a2,0(a1)
80002828:	01c6a023          	sw	t3,0(a3)
8000282c:	01d6a223          	sw	t4,4(a3)
80002830:	fa061ce3          	bnez	a2,800027e8 <handle_trap+0x160>
80002834:	f89ff06f          	j	800027bc <handle_trap+0x134>
80002838:	02852783          	lw	a5,40(a0)
8000283c:	00001b37          	lui	s6,0x1
80002840:	00004497          	auipc	s1,0x4
80002844:	9b848493          	addi	s1,s1,-1608 # 800061f8 <user_mapping>
80002848:	00f12223          	sw	a5,4(sp)
8000284c:	00001d17          	auipc	s10,0x1
80002850:	7b4d0d13          	addi	s10,s10,1972 # 80004000 <begin_signature>
80002854:	00040cb7          	lui	s9,0x40
80002858:	ffc00c37          	lui	s8,0xffc00
8000285c:	00004b97          	auipc	s7,0x4
80002860:	b94b8b93          	addi	s7,s7,-1132 # 800063f0 <freelist_tail>
80002864:	0200006f          	j	80002884 <handle_trap+0x1fc>
80002868:	0087a223          	sw	s0,4(a5)
8000286c:	00004797          	auipc	a5,0x4
80002870:	b887a223          	sw	s0,-1148(a5) # 800063f0 <freelist_tail>
80002874:	000017b7          	lui	a5,0x1
80002878:	00fb0b33          	add	s6,s6,a5
8000287c:	0003f7b7          	lui	a5,0x3f
80002880:	1cfb0463          	beq	s6,a5,80002a48 <handle_trap+0x3c0>
80002884:	00cb5793          	srli	a5,s6,0xc
80002888:	00379413          	slli	s0,a5,0x3
8000288c:	008486b3          	add	a3,s1,s0
80002890:	0006a683          	lw	a3,0(a3)
80002894:	fe0680e3          	beqz	a3,80002874 <handle_trap+0x1ec>
80002898:	40078793          	addi	a5,a5,1024 # 3f400 <_start-0x7ffc0c00>
8000289c:	00279793          	slli	a5,a5,0x2
800028a0:	00fd07b3          	add	a5,s10,a5
800028a4:	0007a783          	lw	a5,0(a5)
800028a8:	0407f693          	andi	a3,a5,64
800028ac:	12068e63          	beqz	a3,800029e8 <handle_trap+0x360>
800028b0:	00f12623          	sw	a5,12(sp)
800028b4:	100cadf3          	csrrs	s11,sstatus,s9
800028b8:	018b06b3          	add	a3,s6,s8
800028bc:	00001637          	lui	a2,0x1
800028c0:	00068593          	mv	a1,a3
800028c4:	000b0513          	mv	a0,s6
800028c8:	00d12423          	sw	a3,8(sp)
800028cc:	83dff0ef          	jal	ra,80002108 <memcmp>
800028d0:	02050263          	beqz	a0,800028f4 <handle_trap+0x26c>
800028d4:	00c12783          	lw	a5,12(sp)
800028d8:	00812683          	lw	a3,8(sp)
800028dc:	0807f793          	andi	a5,a5,128
800028e0:	0a078463          	beqz	a5,80002988 <handle_trap+0x300>
800028e4:	00001637          	lui	a2,0x1
800028e8:	00068593          	mv	a1,a3
800028ec:	000b0513          	mv	a0,s6
800028f0:	f10ff0ef          	jal	ra,80002000 <memcpy>
800028f4:	00848433          	add	s0,s1,s0
800028f8:	100d9073          	csrw	sstatus,s11
800028fc:	000ba783          	lw	a5,0(s7)
80002900:	00042023          	sw	zero,0(s0)
80002904:	f60792e3          	bnez	a5,80002868 <handle_trap+0x1e0>
80002908:	00004797          	auipc	a5,0x4
8000290c:	ae87a423          	sw	s0,-1304(a5) # 800063f0 <freelist_tail>
80002910:	00004797          	auipc	a5,0x4
80002914:	ae87a223          	sw	s0,-1308(a5) # 800063f4 <freelist_head>
80002918:	f5dff06f          	j	80002874 <handle_trap+0x1ec>
8000291c:	04100593          	li	a1,65
80002920:	00000617          	auipc	a2,0x0
80002924:	72860613          	addi	a2,a2,1832 # 80003048 <pass+0x1a4>
80002928:	ffffe697          	auipc	a3,0xffffe
8000292c:	6d868693          	addi	a3,a3,1752 # 80001000 <tohost>
80002930:	ffffe517          	auipc	a0,0xffffe
80002934:	71050513          	addi	a0,a0,1808 # 80001040 <fromhost>
80002938:	0006a703          	lw	a4,0(a3)
8000293c:	0046a783          	lw	a5,4(a3)
80002940:	00058313          	mv	t1,a1
80002944:	00160613          	addi	a2,a2,1
80002948:	00f76733          	or	a4,a4,a5
8000294c:	010103b7          	lui	t2,0x1010
80002950:	02070263          	beqz	a4,80002974 <handle_trap+0x2ec>
80002954:	00000793          	li	a5,0
80002958:	00f52023          	sw	a5,0(a0)
8000295c:	00000813          	li	a6,0
80002960:	01052223          	sw	a6,4(a0)
80002964:	0006a703          	lw	a4,0(a3)
80002968:	0046a783          	lw	a5,4(a3)
8000296c:	00f76733          	or	a4,a4,a5
80002970:	fe0712e3          	bnez	a4,80002954 <handle_trap+0x2cc>
80002974:	00064583          	lbu	a1,0(a2)
80002978:	0066a023          	sw	t1,0(a3)
8000297c:	0076a223          	sw	t2,4(a3)
80002980:	fa059ce3          	bnez	a1,80002938 <handle_trap+0x2b0>
80002984:	e39ff06f          	j	800027bc <handle_trap+0x134>
80002988:	04100793          	li	a5,65
8000298c:	00000617          	auipc	a2,0x0
80002990:	63860613          	addi	a2,a2,1592 # 80002fc4 <pass+0x120>
80002994:	ffffe697          	auipc	a3,0xffffe
80002998:	66c68693          	addi	a3,a3,1644 # 80001000 <tohost>
8000299c:	ffffe597          	auipc	a1,0xffffe
800029a0:	6a458593          	addi	a1,a1,1700 # 80001040 <fromhost>
800029a4:	00078913          	mv	s2,a5
800029a8:	00160613          	addi	a2,a2,1
800029ac:	010109b7          	lui	s3,0x1010
800029b0:	0140006f          	j	800029c4 <handle_trap+0x33c>
800029b4:	00000793          	li	a5,0
800029b8:	00000813          	li	a6,0
800029bc:	00f5a023          	sw	a5,0(a1)
800029c0:	0105a223          	sw	a6,4(a1)
800029c4:	0006a703          	lw	a4,0(a3)
800029c8:	0046a783          	lw	a5,4(a3)
800029cc:	00f76733          	or	a4,a4,a5
800029d0:	fe0712e3          	bnez	a4,800029b4 <handle_trap+0x32c>
800029d4:	00064783          	lbu	a5,0(a2)
800029d8:	0126a023          	sw	s2,0(a3)
800029dc:	0136a223          	sw	s3,4(a3)
800029e0:	fc0792e3          	bnez	a5,800029a4 <handle_trap+0x31c>
800029e4:	dd9ff06f          	j	800027bc <handle_trap+0x134>
800029e8:	04100793          	li	a5,65
800029ec:	00000617          	auipc	a2,0x0
800029f0:	5a460613          	addi	a2,a2,1444 # 80002f90 <pass+0xec>
800029f4:	ffffe697          	auipc	a3,0xffffe
800029f8:	60c68693          	addi	a3,a3,1548 # 80001000 <tohost>
800029fc:	ffffe597          	auipc	a1,0xffffe
80002a00:	64458593          	addi	a1,a1,1604 # 80001040 <fromhost>
80002a04:	00078a13          	mv	s4,a5
80002a08:	00160613          	addi	a2,a2,1
80002a0c:	01010ab7          	lui	s5,0x1010
80002a10:	0140006f          	j	80002a24 <handle_trap+0x39c>
80002a14:	00000793          	li	a5,0
80002a18:	00000813          	li	a6,0
80002a1c:	00f5a023          	sw	a5,0(a1)
80002a20:	0105a223          	sw	a6,4(a1)
80002a24:	0006a703          	lw	a4,0(a3)
80002a28:	0046a783          	lw	a5,4(a3)
80002a2c:	00f76733          	or	a4,a4,a5
80002a30:	fe0712e3          	bnez	a4,80002a14 <handle_trap+0x38c>
80002a34:	00064783          	lbu	a5,0(a2)
80002a38:	0146a023          	sw	s4,0(a3)
80002a3c:	0156a223          	sw	s5,4(a3)
80002a40:	fc0792e3          	bnez	a5,80002a04 <handle_trap+0x37c>
80002a44:	d79ff06f          	j	800027bc <handle_trap+0x134>
80002a48:	00412503          	lw	a0,4(sp)
80002a4c:	fe0ff0ef          	jal	ra,8000222c <terminate>

80002a50 <vm_boot>:
80002a50:	f14027f3          	csrr	a5,mhartid
80002a54:	14079a63          	bnez	a5,80002ba8 <vm_boot+0x158>
80002a58:	00002797          	auipc	a5,0x2
80002a5c:	5a878793          	addi	a5,a5,1448 # 80005000 <begin_signature+0x1000>
80002a60:	00c7d793          	srli	a5,a5,0xc
80002a64:	00a79793          	slli	a5,a5,0xa
80002a68:	0017e793          	ori	a5,a5,1
80002a6c:	00001617          	auipc	a2,0x1
80002a70:	58f62a23          	sw	a5,1428(a2) # 80004000 <begin_signature>
80002a74:	200007b7          	lui	a5,0x20000
80002a78:	00001717          	auipc	a4,0x1
80002a7c:	58870713          	addi	a4,a4,1416 # 80004000 <begin_signature>
80002a80:	0cf78793          	addi	a5,a5,207 # 200000cf <_start-0x5fffff31>
80002a84:	f6010113          	addi	sp,sp,-160
80002a88:	800006b7          	lui	a3,0x80000
80002a8c:	00002617          	auipc	a2,0x2
80002a90:	56f62823          	sw	a5,1392(a2) # 80004ffc <begin_signature+0xffc>
80002a94:	00c75793          	srli	a5,a4,0xc
80002a98:	08112e23          	sw	ra,156(sp)
80002a9c:	08812c23          	sw	s0,152(sp)
80002aa0:	00d7e7b3          	or	a5,a5,a3
80002aa4:	18079073          	csrw	satp,a5
80002aa8:	01f00793          	li	a5,31
80002aac:	fff6c693          	not	a3,a3
80002ab0:	00000297          	auipc	t0,0x0
80002ab4:	01428293          	addi	t0,t0,20 # 80002ac4 <vm_boot+0x74>
80002ab8:	305292f3          	csrrw	t0,mtvec,t0
80002abc:	3b069073          	csrw	pmpaddr0,a3
80002ac0:	3a079073          	csrw	pmpcfg0,a5
80002ac4:	7fbfd797          	auipc	a5,0x7fbfd
80002ac8:	60478793          	addi	a5,a5,1540 # ffc000c8 <_end+0x7fbf9cd0>
80002acc:	10579073          	csrw	stvec,a5
80002ad0:	340027f3          	csrr	a5,mscratch
80002ad4:	7fc00837          	lui	a6,0x7fc00
80002ad8:	010787b3          	add	a5,a5,a6
80002adc:	14079073          	csrw	sscratch,a5
80002ae0:	0000b7b7          	lui	a5,0xb
80002ae4:	10078793          	addi	a5,a5,256 # b100 <_start-0x7fff4f00>
80002ae8:	30279073          	csrw	medeleg,a5
80002aec:	0001e7b7          	lui	a5,0x1e
80002af0:	30079073          	csrw	mstatus,a5
80002af4:	30405073          	csrwi	mie,0
80002af8:	7fc03797          	auipc	a5,0x7fc03
80002afc:	50878793          	addi	a5,a5,1288 # ffc06000 <_end+0x7fbffc08>
80002b00:	00004717          	auipc	a4,0x4
80002b04:	8ef72a23          	sw	a5,-1804(a4) # 800063f4 <freelist_head>
80002b08:	7fc03797          	auipc	a5,0x7fc03
80002b0c:	6e878793          	addi	a5,a5,1768 # ffc061f0 <_end+0x7fbffdf8>
80002b10:	00004717          	auipc	a4,0x4
80002b14:	8ef72023          	sw	a5,-1824(a4) # 800063f0 <freelist_tail>
80002b18:	000808b7          	lui	a7,0x80
80002b1c:	00003717          	auipc	a4,0x3
80002b20:	4e470713          	addi	a4,a4,1252 # 80006000 <freelist_nodes>
80002b24:	00003317          	auipc	t1,0x3
80002b28:	6d430313          	addi	t1,t1,1748 # 800061f8 <user_mapping>
80002b2c:	01000793          	li	a5,16
80002b30:	03f88893          	addi	a7,a7,63 # 8003f <_start-0x7ff7ffc1>
80002b34:	00880813          	addi	a6,a6,8 # 7fc00008 <_start-0x3ffff8>
80002b38:	0017d613          	srli	a2,a5,0x1
80002b3c:	011786b3          	add	a3,a5,a7
80002b40:	00f647b3          	xor	a5,a2,a5
80002b44:	010705b3          	add	a1,a4,a6
80002b48:	00c69693          	slli	a3,a3,0xc
80002b4c:	00579793          	slli	a5,a5,0x5
80002b50:	00d72023          	sw	a3,0(a4)
80002b54:	00b72223          	sw	a1,4(a4)
80002b58:	0207f793          	andi	a5,a5,32
80002b5c:	00870713          	addi	a4,a4,8
80002b60:	00f667b3          	or	a5,a2,a5
80002b64:	fce31ae3          	bne	t1,a4,80002b38 <vm_boot+0xe8>
80002b68:	00050413          	mv	s0,a0
80002b6c:	09000613          	li	a2,144
80002b70:	00000593          	li	a1,0
80002b74:	00010513          	mv	a0,sp
80002b78:	00003797          	auipc	a5,0x3
80002b7c:	6607ae23          	sw	zero,1660(a5) # 800061f4 <freelist_nodes+0x1f4>
80002b80:	cdcff0ef          	jal	ra,8000205c <memset>
80002b84:	800007b7          	lui	a5,0x80000
80002b88:	00f40433          	add	s0,s0,a5
80002b8c:	00010513          	mv	a0,sp
80002b90:	08812223          	sw	s0,132(sp)
80002b94:	cacfd0ef          	jal	ra,80000040 <pop_tf>
80002b98:	09c12083          	lw	ra,156(sp)
80002b9c:	09812403          	lw	s0,152(sp)
80002ba0:	0a010113          	addi	sp,sp,160
80002ba4:	00008067          	ret
80002ba8:	08bac7b7          	lui	a5,0x8bac
80002bac:	00080637          	lui	a2,0x80
80002bb0:	e3378793          	addi	a5,a5,-461 # 8babe33 <_start-0x774541cd>
80002bb4:	ffc60613          	addi	a2,a2,-4 # 7fffc <_start-0x7ff80004>
80002bb8:	800005b7          	lui	a1,0x80000
80002bbc:	00c7f733          	and	a4,a5,a2
80002bc0:	0017f693          	andi	a3,a5,1
80002bc4:	00b70733          	add	a4,a4,a1
80002bc8:	00068e63          	beqz	a3,80002be4 <vm_boot+0x194>
80002bcc:	0007202f          	amoadd.w	zero,zero,(a4)
80002bd0:	0017d793          	srli	a5,a5,0x1
80002bd4:	00c7f733          	and	a4,a5,a2
80002bd8:	0017f693          	andi	a3,a5,1
80002bdc:	00b70733          	add	a4,a4,a1
80002be0:	fe0696e3          	bnez	a3,80002bcc <vm_boot+0x17c>
80002be4:	00072003          	lw	zero,0(a4)
80002be8:	0017d793          	srli	a5,a5,0x1
80002bec:	fe9ff06f          	j	80002bd4 <vm_boot+0x184>

80002bf0 <extra_boot>:
80002bf0:	00008067          	ret

80002bf4 <userstart>:
80002bf4:	800000b7          	lui	ra,0x80000
80002bf8:	0000df13          	srli	t5,ra,0x0
80002bfc:	80000eb7          	lui	t4,0x80000
80002c00:	00200193          	li	gp,2
80002c04:	29df1863          	bne	t5,t4,80002e94 <fail>

80002c08 <test_3>:
80002c08:	800000b7          	lui	ra,0x80000
80002c0c:	0010df13          	srli	t5,ra,0x1
80002c10:	40000eb7          	lui	t4,0x40000
80002c14:	00300193          	li	gp,3
80002c18:	27df1e63          	bne	t5,t4,80002e94 <fail>

80002c1c <test_4>:
80002c1c:	800000b7          	lui	ra,0x80000
80002c20:	0070df13          	srli	t5,ra,0x7
80002c24:	01000eb7          	lui	t4,0x1000
80002c28:	00400193          	li	gp,4
80002c2c:	27df1463          	bne	t5,t4,80002e94 <fail>

80002c30 <test_5>:
80002c30:	800000b7          	lui	ra,0x80000
80002c34:	00e0df13          	srli	t5,ra,0xe
80002c38:	00020eb7          	lui	t4,0x20
80002c3c:	00500193          	li	gp,5
80002c40:	25df1a63          	bne	t5,t4,80002e94 <fail>

80002c44 <test_6>:
80002c44:	800000b7          	lui	ra,0x80000
80002c48:	00108093          	addi	ra,ra,1 # 80000001 <_end+0xffff9c09>
80002c4c:	01f0df13          	srli	t5,ra,0x1f
80002c50:	00100e93          	li	t4,1
80002c54:	00600193          	li	gp,6
80002c58:	23df1e63          	bne	t5,t4,80002e94 <fail>

80002c5c <test_7>:
80002c5c:	fff00093          	li	ra,-1
80002c60:	0000df13          	srli	t5,ra,0x0
80002c64:	fff00e93          	li	t4,-1
80002c68:	00700193          	li	gp,7
80002c6c:	23df1463          	bne	t5,t4,80002e94 <fail>

80002c70 <test_8>:
80002c70:	fff00093          	li	ra,-1
80002c74:	0010df13          	srli	t5,ra,0x1
80002c78:	80000eb7          	lui	t4,0x80000
80002c7c:	fffe8e93          	addi	t4,t4,-1 # 7fffffff <_end+0xffff9c07>
80002c80:	00800193          	li	gp,8
80002c84:	21df1863          	bne	t5,t4,80002e94 <fail>

80002c88 <test_9>:
80002c88:	fff00093          	li	ra,-1
80002c8c:	0070df13          	srli	t5,ra,0x7
80002c90:	02000eb7          	lui	t4,0x2000
80002c94:	fffe8e93          	addi	t4,t4,-1 # 1ffffff <_start-0x7e000001>
80002c98:	00900193          	li	gp,9
80002c9c:	1fdf1c63          	bne	t5,t4,80002e94 <fail>

80002ca0 <test_10>:
80002ca0:	fff00093          	li	ra,-1
80002ca4:	00e0df13          	srli	t5,ra,0xe
80002ca8:	00040eb7          	lui	t4,0x40
80002cac:	fffe8e93          	addi	t4,t4,-1 # 3ffff <_start-0x7ffc0001>
80002cb0:	00a00193          	li	gp,10
80002cb4:	1fdf1063          	bne	t5,t4,80002e94 <fail>

80002cb8 <test_11>:
80002cb8:	fff00093          	li	ra,-1
80002cbc:	01f0df13          	srli	t5,ra,0x1f
80002cc0:	00100e93          	li	t4,1
80002cc4:	00b00193          	li	gp,11
80002cc8:	1ddf1663          	bne	t5,t4,80002e94 <fail>

80002ccc <test_12>:
80002ccc:	212120b7          	lui	ra,0x21212
80002cd0:	12108093          	addi	ra,ra,289 # 21212121 <_start-0x5edededf>
80002cd4:	0000df13          	srli	t5,ra,0x0
80002cd8:	21212eb7          	lui	t4,0x21212
80002cdc:	121e8e93          	addi	t4,t4,289 # 21212121 <_start-0x5edededf>
80002ce0:	00c00193          	li	gp,12
80002ce4:	1bdf1863          	bne	t5,t4,80002e94 <fail>

80002ce8 <test_13>:
80002ce8:	212120b7          	lui	ra,0x21212
80002cec:	12108093          	addi	ra,ra,289 # 21212121 <_start-0x5edededf>
80002cf0:	0010df13          	srli	t5,ra,0x1
80002cf4:	10909eb7          	lui	t4,0x10909
80002cf8:	090e8e93          	addi	t4,t4,144 # 10909090 <_start-0x6f6f6f70>
80002cfc:	00d00193          	li	gp,13
80002d00:	19df1a63          	bne	t5,t4,80002e94 <fail>

80002d04 <test_14>:
80002d04:	212120b7          	lui	ra,0x21212
80002d08:	12108093          	addi	ra,ra,289 # 21212121 <_start-0x5edededf>
80002d0c:	0070df13          	srli	t5,ra,0x7
80002d10:	00424eb7          	lui	t4,0x424
80002d14:	242e8e93          	addi	t4,t4,578 # 424242 <_start-0x7fbdbdbe>
80002d18:	00e00193          	li	gp,14
80002d1c:	17df1c63          	bne	t5,t4,80002e94 <fail>

80002d20 <test_15>:
80002d20:	212120b7          	lui	ra,0x21212
80002d24:	12108093          	addi	ra,ra,289 # 21212121 <_start-0x5edededf>
80002d28:	00e0df13          	srli	t5,ra,0xe
80002d2c:	00008eb7          	lui	t4,0x8
80002d30:	484e8e93          	addi	t4,t4,1156 # 8484 <_start-0x7fff7b7c>
80002d34:	00f00193          	li	gp,15
80002d38:	15df1e63          	bne	t5,t4,80002e94 <fail>

80002d3c <test_16>:
80002d3c:	212120b7          	lui	ra,0x21212
80002d40:	12108093          	addi	ra,ra,289 # 21212121 <_start-0x5edededf>
80002d44:	01f0df13          	srli	t5,ra,0x1f
80002d48:	00000e93          	li	t4,0
80002d4c:	01000193          	li	gp,16
80002d50:	15df1263          	bne	t5,t4,80002e94 <fail>

80002d54 <test_17>:
80002d54:	800000b7          	lui	ra,0x80000
80002d58:	0070d093          	srli	ra,ra,0x7
80002d5c:	01000eb7          	lui	t4,0x1000
80002d60:	01100193          	li	gp,17
80002d64:	13d09863          	bne	ra,t4,80002e94 <fail>

80002d68 <test_18>:
80002d68:	00000213          	li	tp,0
80002d6c:	800000b7          	lui	ra,0x80000
80002d70:	0070df13          	srli	t5,ra,0x7
80002d74:	000f0313          	mv	t1,t5
80002d78:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002d7c:	00200293          	li	t0,2
80002d80:	fe5216e3          	bne	tp,t0,80002d6c <test_18+0x4>
80002d84:	01000eb7          	lui	t4,0x1000
80002d88:	01200193          	li	gp,18
80002d8c:	11d31463          	bne	t1,t4,80002e94 <fail>

80002d90 <test_19>:
80002d90:	00000213          	li	tp,0
80002d94:	800000b7          	lui	ra,0x80000
80002d98:	00e0df13          	srli	t5,ra,0xe
80002d9c:	00000013          	nop
80002da0:	000f0313          	mv	t1,t5
80002da4:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002da8:	00200293          	li	t0,2
80002dac:	fe5214e3          	bne	tp,t0,80002d94 <test_19+0x4>
80002db0:	00020eb7          	lui	t4,0x20
80002db4:	01300193          	li	gp,19
80002db8:	0dd31e63          	bne	t1,t4,80002e94 <fail>

80002dbc <test_20>:
80002dbc:	00000213          	li	tp,0
80002dc0:	800000b7          	lui	ra,0x80000
80002dc4:	00108093          	addi	ra,ra,1 # 80000001 <_end+0xffff9c09>
80002dc8:	01f0df13          	srli	t5,ra,0x1f
80002dcc:	00000013          	nop
80002dd0:	00000013          	nop
80002dd4:	000f0313          	mv	t1,t5
80002dd8:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002ddc:	00200293          	li	t0,2
80002de0:	fe5210e3          	bne	tp,t0,80002dc0 <test_20+0x4>
80002de4:	00100e93          	li	t4,1
80002de8:	01400193          	li	gp,20
80002dec:	0bd31463          	bne	t1,t4,80002e94 <fail>

80002df0 <test_21>:
80002df0:	00000213          	li	tp,0
80002df4:	800000b7          	lui	ra,0x80000
80002df8:	0070df13          	srli	t5,ra,0x7
80002dfc:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002e00:	00200293          	li	t0,2
80002e04:	fe5218e3          	bne	tp,t0,80002df4 <test_21+0x4>
80002e08:	01000eb7          	lui	t4,0x1000
80002e0c:	01500193          	li	gp,21
80002e10:	09df1263          	bne	t5,t4,80002e94 <fail>

80002e14 <test_22>:
80002e14:	00000213          	li	tp,0
80002e18:	800000b7          	lui	ra,0x80000
80002e1c:	00000013          	nop
80002e20:	00e0df13          	srli	t5,ra,0xe
80002e24:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002e28:	00200293          	li	t0,2
80002e2c:	fe5216e3          	bne	tp,t0,80002e18 <test_22+0x4>
80002e30:	00020eb7          	lui	t4,0x20
80002e34:	01600193          	li	gp,22
80002e38:	05df1e63          	bne	t5,t4,80002e94 <fail>

80002e3c <test_23>:
80002e3c:	00000213          	li	tp,0
80002e40:	800000b7          	lui	ra,0x80000
80002e44:	00108093          	addi	ra,ra,1 # 80000001 <_end+0xffff9c09>
80002e48:	00000013          	nop
80002e4c:	00000013          	nop
80002e50:	01f0df13          	srli	t5,ra,0x1f
80002e54:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
80002e58:	00200293          	li	t0,2
80002e5c:	fe5212e3          	bne	tp,t0,80002e40 <test_23+0x4>
80002e60:	00100e93          	li	t4,1
80002e64:	01700193          	li	gp,23
80002e68:	03df1663          	bne	t5,t4,80002e94 <fail>

80002e6c <test_24>:
80002e6c:	00405093          	srli	ra,zero,0x4
80002e70:	00000e93          	li	t4,0
80002e74:	01800193          	li	gp,24
80002e78:	01d09e63          	bne	ra,t4,80002e94 <fail>

80002e7c <test_25>:
80002e7c:	02100093          	li	ra,33
80002e80:	00a0d013          	srli	zero,ra,0xa
80002e84:	00000e93          	li	t4,0
80002e88:	01900193          	li	gp,25
80002e8c:	01d01463          	bne	zero,t4,80002e94 <fail>
80002e90:	00301a63          	bne	zero,gp,80002ea4 <pass>

80002e94 <fail>:
80002e94:	00119513          	slli	a0,gp,0x1
80002e98:	00050063          	beqz	a0,80002e98 <fail+0x4>
80002e9c:	00156513          	ori	a0,a0,1
80002ea0:	00000073          	ecall

80002ea4 <pass>:
80002ea4:	00100513          	li	a0,1
80002ea8:	00000073          	ecall
80002eac:	c0001073          	unimp
