text: 
  rv64ui-v-add:     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 <begin_signature>
      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:	00001697          	auipc	a3,0x1
      80002468:	b8c68693          	addi	a3,a3,-1140 # 80002ff0 <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:	00001697          	auipc	a3,0x1
      800024c4:	b7868693          	addi	a3,a3,-1160 # 80003038 <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:	00001617          	auipc	a2,0x1
      80002514:	b7060613          	addi	a2,a2,-1168 # 80003080 <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:	00001617          	auipc	a2,0x1
      80002564:	b3860613          	addi	a2,a2,-1224 # 80003098 <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:	00001697          	auipc	a3,0x1
      80002680:	af468693          	addi	a3,a3,-1292 # 80003170 <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:	00001617          	auipc	a2,0x1
      800026d8:	a7460613          	addi	a2,a2,-1420 # 80003148 <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 <begin_signature>
      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:	00001697          	auipc	a3,0x1
      800027fc:	9a868693          	addi	a3,a3,-1624 # 800031a0 <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:	00001697          	auipc	a3,0x1
      8000284c:	8c868693          	addi	a3,a3,-1848 # 80003110 <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:	00001697          	auipc	a3,0x1
      80002898:	84468693          	addi	a3,a3,-1980 # 800030d8 <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 <begin_signature+0x1000>
      800028f0:	00003717          	auipc	a4,0x3
      800028f4:	71070713          	addi	a4,a4,1808 # 80006000 <begin_signature+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 <begin_signature+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 <begin_signature>
      80002924:	00a79793          	slli	a5,a5,0xa
      80002928:	00002697          	auipc	a3,0x2
      8000292c:	6ce6b823          	sd	a4,1744(a3) # 80004ff8 <begin_signature+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 <begin_signature>
      80002948:	ed010113          	addi	sp,sp,-304
      8000294c:	03f59813          	slli	a6,a1,0x3f
      80002950:	00004697          	auipc	a3,0x4
      80002954:	6ae6b423          	sd	a4,1704(a3) # 80006ff8 <begin_signature+0x2ff8>
      80002958:	00002717          	auipc	a4,0x2
      8000295c:	6af73423          	sd	a5,1704(a4) # 80005000 <begin_signature+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:	02100793          	li	a5,33
      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:	0f1557b7          	lui	a5,0xf155
      80002a80:	000805b7          	lui	a1,0x80
      80002a84:	1b078793          	addi	a5,a5,432 # f1551b0 <_start-0x70eaae50>
      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:	00000093          	li	ra,0
      80002ae0:	00000113          	li	sp,0
      80002ae4:	00208f33          	add	t5,ra,sp
      80002ae8:	00000e93          	li	t4,0
      80002aec:	00200193          	li	gp,2
      80002af0:	4fdf1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002af4 <test_3>:
      80002af4:	00100093          	li	ra,1
      80002af8:	00100113          	li	sp,1
      80002afc:	00208f33          	add	t5,ra,sp
      80002b00:	00200e93          	li	t4,2
      80002b04:	00300193          	li	gp,3
      80002b08:	4ddf1463          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b0c <test_4>:
      80002b0c:	00300093          	li	ra,3
      80002b10:	00700113          	li	sp,7
      80002b14:	00208f33          	add	t5,ra,sp
      80002b18:	00a00e93          	li	t4,10
      80002b1c:	00400193          	li	gp,4
      80002b20:	4bdf1863          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b24 <test_5>:
      80002b24:	00000093          	li	ra,0
      80002b28:	ffff8137          	lui	sp,0xffff8
      80002b2c:	00208f33          	add	t5,ra,sp
      80002b30:	ffff8eb7          	lui	t4,0xffff8
      80002b34:	00500193          	li	gp,5
      80002b38:	49df1c63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b3c <test_6>:
      80002b3c:	800000b7          	lui	ra,0x80000
      80002b40:	00000113          	li	sp,0
      80002b44:	00208f33          	add	t5,ra,sp
      80002b48:	80000eb7          	lui	t4,0x80000
      80002b4c:	00600193          	li	gp,6
      80002b50:	49df1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b54 <test_7>:
      80002b54:	800000b7          	lui	ra,0x80000
      80002b58:	ffff8137          	lui	sp,0xffff8
      80002b5c:	00208f33          	add	t5,ra,sp
      80002b60:	ffff0eb7          	lui	t4,0xffff0
      80002b64:	fffe8e9b          	addiw	t4,t4,-1
      80002b68:	00fe9e93          	slli	t4,t4,0xf
      80002b6c:	00700193          	li	gp,7
      80002b70:	47df1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b74 <test_8>:
      80002b74:	00000093          	li	ra,0
      80002b78:	00008137          	lui	sp,0x8
      80002b7c:	fff1011b          	addiw	sp,sp,-1
      80002b80:	00208f33          	add	t5,ra,sp
      80002b84:	00008eb7          	lui	t4,0x8
      80002b88:	fffe8e9b          	addiw	t4,t4,-1
      80002b8c:	00800193          	li	gp,8
      80002b90:	45df1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002b94 <test_9>:
      80002b94:	800000b7          	lui	ra,0x80000
      80002b98:	fff0809b          	addiw	ra,ra,-1
      80002b9c:	00000113          	li	sp,0
      80002ba0:	00208f33          	add	t5,ra,sp
      80002ba4:	80000eb7          	lui	t4,0x80000
      80002ba8:	fffe8e9b          	addiw	t4,t4,-1
      80002bac:	00900193          	li	gp,9
      80002bb0:	43df1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002bb4 <test_10>:
      80002bb4:	800000b7          	lui	ra,0x80000
      80002bb8:	fff0809b          	addiw	ra,ra,-1
      80002bbc:	00008137          	lui	sp,0x8
      80002bc0:	fff1011b          	addiw	sp,sp,-1
      80002bc4:	00208f33          	add	t5,ra,sp
      80002bc8:	00010eb7          	lui	t4,0x10
      80002bcc:	001e8e9b          	addiw	t4,t4,1
      80002bd0:	00fe9e93          	slli	t4,t4,0xf
      80002bd4:	ffee8e93          	addi	t4,t4,-2 # fffe <_start-0x7fff0002>
      80002bd8:	00a00193          	li	gp,10
      80002bdc:	3fdf1a63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002be0 <test_11>:
      80002be0:	800000b7          	lui	ra,0x80000
      80002be4:	00008137          	lui	sp,0x8
      80002be8:	fff1011b          	addiw	sp,sp,-1
      80002bec:	00208f33          	add	t5,ra,sp
      80002bf0:	80008eb7          	lui	t4,0x80008
      80002bf4:	fffe8e9b          	addiw	t4,t4,-1
      80002bf8:	00b00193          	li	gp,11
      80002bfc:	3ddf1a63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c00 <test_12>:
      80002c00:	800000b7          	lui	ra,0x80000
      80002c04:	fff0809b          	addiw	ra,ra,-1
      80002c08:	ffff8137          	lui	sp,0xffff8
      80002c0c:	00208f33          	add	t5,ra,sp
      80002c10:	7fff8eb7          	lui	t4,0x7fff8
      80002c14:	fffe8e9b          	addiw	t4,t4,-1
      80002c18:	00c00193          	li	gp,12
      80002c1c:	3bdf1a63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c20 <test_13>:
      80002c20:	00000093          	li	ra,0
      80002c24:	fff00113          	li	sp,-1
      80002c28:	00208f33          	add	t5,ra,sp
      80002c2c:	fff00e93          	li	t4,-1
      80002c30:	00d00193          	li	gp,13
      80002c34:	39df1e63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c38 <test_14>:
      80002c38:	fff00093          	li	ra,-1
      80002c3c:	00100113          	li	sp,1
      80002c40:	00208f33          	add	t5,ra,sp
      80002c44:	00000e93          	li	t4,0
      80002c48:	00e00193          	li	gp,14
      80002c4c:	39df1263          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c50 <test_15>:
      80002c50:	fff00093          	li	ra,-1
      80002c54:	fff00113          	li	sp,-1
      80002c58:	00208f33          	add	t5,ra,sp
      80002c5c:	ffe00e93          	li	t4,-2
      80002c60:	00f00193          	li	gp,15
      80002c64:	37df1663          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c68 <test_16>:
      80002c68:	00100093          	li	ra,1
      80002c6c:	80000137          	lui	sp,0x80000
      80002c70:	fff1011b          	addiw	sp,sp,-1
      80002c74:	00208f33          	add	t5,ra,sp
      80002c78:	00100e9b          	addiw	t4,zero,1
      80002c7c:	01fe9e93          	slli	t4,t4,0x1f
      80002c80:	01000193          	li	gp,16
      80002c84:	35df1663          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002c88 <test_17>:
      80002c88:	00d00093          	li	ra,13
      80002c8c:	00b00113          	li	sp,11
      80002c90:	002080b3          	add	ra,ra,sp
      80002c94:	01800e93          	li	t4,24
      80002c98:	01100193          	li	gp,17
      80002c9c:	33d09a63          	bne	ra,t4,80002fd0 <fail>
  
  0000000080002ca0 <test_18>:
      80002ca0:	00e00093          	li	ra,14
      80002ca4:	00b00113          	li	sp,11
      80002ca8:	00208133          	add	sp,ra,sp
      80002cac:	01900e93          	li	t4,25
      80002cb0:	01200193          	li	gp,18
      80002cb4:	31d11e63          	bne	sp,t4,80002fd0 <fail>
  
  0000000080002cb8 <test_19>:
      80002cb8:	00d00093          	li	ra,13
      80002cbc:	001080b3          	add	ra,ra,ra
      80002cc0:	01a00e93          	li	t4,26
      80002cc4:	01300193          	li	gp,19
      80002cc8:	31d09463          	bne	ra,t4,80002fd0 <fail>
  
  0000000080002ccc <test_20>:
      80002ccc:	00000213          	li	tp,0
      80002cd0:	00d00093          	li	ra,13
      80002cd4:	00b00113          	li	sp,11
      80002cd8:	00208f33          	add	t5,ra,sp
      80002cdc:	000f0313          	mv	t1,t5
      80002ce0:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002ce4:	00200293          	li	t0,2
      80002ce8:	fe5214e3          	bne	tp,t0,80002cd0 <test_20+0x4>
      80002cec:	01800e93          	li	t4,24
      80002cf0:	01400193          	li	gp,20
      80002cf4:	2dd31e63          	bne	t1,t4,80002fd0 <fail>
  
  0000000080002cf8 <test_21>:
      80002cf8:	00000213          	li	tp,0
      80002cfc:	00e00093          	li	ra,14
      80002d00:	00b00113          	li	sp,11
      80002d04:	00208f33          	add	t5,ra,sp
      80002d08:	00000013          	nop
      80002d0c:	000f0313          	mv	t1,t5
      80002d10:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002d14:	00200293          	li	t0,2
      80002d18:	fe5212e3          	bne	tp,t0,80002cfc <test_21+0x4>
      80002d1c:	01900e93          	li	t4,25
      80002d20:	01500193          	li	gp,21
      80002d24:	2bd31663          	bne	t1,t4,80002fd0 <fail>
  
  0000000080002d28 <test_22>:
      80002d28:	00000213          	li	tp,0
      80002d2c:	00f00093          	li	ra,15
      80002d30:	00b00113          	li	sp,11
      80002d34:	00208f33          	add	t5,ra,sp
      80002d38:	00000013          	nop
      80002d3c:	00000013          	nop
      80002d40:	000f0313          	mv	t1,t5
      80002d44:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002d48:	00200293          	li	t0,2
      80002d4c:	fe5210e3          	bne	tp,t0,80002d2c <test_22+0x4>
      80002d50:	01a00e93          	li	t4,26
      80002d54:	01600193          	li	gp,22
      80002d58:	27d31c63          	bne	t1,t4,80002fd0 <fail>
  
  0000000080002d5c <test_23>:
      80002d5c:	00000213          	li	tp,0
      80002d60:	00d00093          	li	ra,13
      80002d64:	00b00113          	li	sp,11
      80002d68:	00208f33          	add	t5,ra,sp
      80002d6c:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002d70:	00200293          	li	t0,2
      80002d74:	fe5216e3          	bne	tp,t0,80002d60 <test_23+0x4>
      80002d78:	01800e93          	li	t4,24
      80002d7c:	01700193          	li	gp,23
      80002d80:	25df1863          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002d84 <test_24>:
      80002d84:	00000213          	li	tp,0
      80002d88:	00e00093          	li	ra,14
      80002d8c:	00b00113          	li	sp,11
      80002d90:	00000013          	nop
      80002d94:	00208f33          	add	t5,ra,sp
      80002d98:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002d9c:	00200293          	li	t0,2
      80002da0:	fe5214e3          	bne	tp,t0,80002d88 <test_24+0x4>
      80002da4:	01900e93          	li	t4,25
      80002da8:	01800193          	li	gp,24
      80002dac:	23df1263          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002db0 <test_25>:
      80002db0:	00000213          	li	tp,0
      80002db4:	00f00093          	li	ra,15
      80002db8:	00b00113          	li	sp,11
      80002dbc:	00000013          	nop
      80002dc0:	00000013          	nop
      80002dc4:	00208f33          	add	t5,ra,sp
      80002dc8:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002dcc:	00200293          	li	t0,2
      80002dd0:	fe5212e3          	bne	tp,t0,80002db4 <test_25+0x4>
      80002dd4:	01a00e93          	li	t4,26
      80002dd8:	01900193          	li	gp,25
      80002ddc:	1fdf1a63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002de0 <test_26>:
      80002de0:	00000213          	li	tp,0
      80002de4:	00d00093          	li	ra,13
      80002de8:	00000013          	nop
      80002dec:	00b00113          	li	sp,11
      80002df0:	00208f33          	add	t5,ra,sp
      80002df4:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002df8:	00200293          	li	t0,2
      80002dfc:	fe5214e3          	bne	tp,t0,80002de4 <test_26+0x4>
      80002e00:	01800e93          	li	t4,24
      80002e04:	01a00193          	li	gp,26
      80002e08:	1ddf1463          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002e0c <test_27>:
      80002e0c:	00000213          	li	tp,0
      80002e10:	00e00093          	li	ra,14
      80002e14:	00000013          	nop
      80002e18:	00b00113          	li	sp,11
      80002e1c:	00000013          	nop
      80002e20:	00208f33          	add	t5,ra,sp
      80002e24:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002e28:	00200293          	li	t0,2
      80002e2c:	fe5212e3          	bne	tp,t0,80002e10 <test_27+0x4>
      80002e30:	01900e93          	li	t4,25
      80002e34:	01b00193          	li	gp,27
      80002e38:	19df1c63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002e3c <test_28>:
      80002e3c:	00000213          	li	tp,0
      80002e40:	00f00093          	li	ra,15
      80002e44:	00000013          	nop
      80002e48:	00000013          	nop
      80002e4c:	00b00113          	li	sp,11
      80002e50:	00208f33          	add	t5,ra,sp
      80002e54:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002e58:	00200293          	li	t0,2
      80002e5c:	fe5212e3          	bne	tp,t0,80002e40 <test_28+0x4>
      80002e60:	01a00e93          	li	t4,26
      80002e64:	01c00193          	li	gp,28
      80002e68:	17df1463          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002e6c <test_29>:
      80002e6c:	00000213          	li	tp,0
      80002e70:	00b00113          	li	sp,11
      80002e74:	00d00093          	li	ra,13
      80002e78:	00208f33          	add	t5,ra,sp
      80002e7c:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002e80:	00200293          	li	t0,2
      80002e84:	fe5216e3          	bne	tp,t0,80002e70 <test_29+0x4>
      80002e88:	01800e93          	li	t4,24
      80002e8c:	01d00193          	li	gp,29
      80002e90:	15df1063          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002e94 <test_30>:
      80002e94:	00000213          	li	tp,0
      80002e98:	00b00113          	li	sp,11
      80002e9c:	00e00093          	li	ra,14
      80002ea0:	00000013          	nop
      80002ea4:	00208f33          	add	t5,ra,sp
      80002ea8:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002eac:	00200293          	li	t0,2
      80002eb0:	fe5214e3          	bne	tp,t0,80002e98 <test_30+0x4>
      80002eb4:	01900e93          	li	t4,25
      80002eb8:	01e00193          	li	gp,30
      80002ebc:	11df1a63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002ec0 <test_31>:
      80002ec0:	00000213          	li	tp,0
      80002ec4:	00b00113          	li	sp,11
      80002ec8:	00f00093          	li	ra,15
      80002ecc:	00000013          	nop
      80002ed0:	00000013          	nop
      80002ed4:	00208f33          	add	t5,ra,sp
      80002ed8:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002edc:	00200293          	li	t0,2
      80002ee0:	fe5212e3          	bne	tp,t0,80002ec4 <test_31+0x4>
      80002ee4:	01a00e93          	li	t4,26
      80002ee8:	01f00193          	li	gp,31
      80002eec:	0fdf1263          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002ef0 <test_32>:
      80002ef0:	00000213          	li	tp,0
      80002ef4:	00b00113          	li	sp,11
      80002ef8:	00000013          	nop
      80002efc:	00d00093          	li	ra,13
      80002f00:	00208f33          	add	t5,ra,sp
      80002f04:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002f08:	00200293          	li	t0,2
      80002f0c:	fe5214e3          	bne	tp,t0,80002ef4 <test_32+0x4>
      80002f10:	01800e93          	li	t4,24
      80002f14:	02000193          	li	gp,32
      80002f18:	0bdf1c63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002f1c <test_33>:
      80002f1c:	00000213          	li	tp,0
      80002f20:	00b00113          	li	sp,11
      80002f24:	00000013          	nop
      80002f28:	00e00093          	li	ra,14
      80002f2c:	00000013          	nop
      80002f30:	00208f33          	add	t5,ra,sp
      80002f34:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002f38:	00200293          	li	t0,2
      80002f3c:	fe5212e3          	bne	tp,t0,80002f20 <test_33+0x4>
      80002f40:	01900e93          	li	t4,25
      80002f44:	02100193          	li	gp,33
      80002f48:	09df1463          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002f4c <test_34>:
      80002f4c:	00000213          	li	tp,0
      80002f50:	00b00113          	li	sp,11
      80002f54:	00000013          	nop
      80002f58:	00000013          	nop
      80002f5c:	00f00093          	li	ra,15
      80002f60:	00208f33          	add	t5,ra,sp
      80002f64:	00120213          	addi	tp,tp,1 # 1 <_start-0x7fffffff>
      80002f68:	00200293          	li	t0,2
      80002f6c:	fe5212e3          	bne	tp,t0,80002f50 <test_34+0x4>
      80002f70:	01a00e93          	li	t4,26
      80002f74:	02200193          	li	gp,34
      80002f78:	05df1c63          	bne	t5,t4,80002fd0 <fail>
  
  0000000080002f7c <test_35>:
      80002f7c:	00f00093          	li	ra,15
      80002f80:	00100133          	add	sp,zero,ra
      80002f84:	00f00e93          	li	t4,15
      80002f88:	02300193          	li	gp,35
      80002f8c:	05d11263          	bne	sp,t4,80002fd0 <fail>
  
  0000000080002f90 <test_36>:
      80002f90:	02000093          	li	ra,32
      80002f94:	00008133          	add	sp,ra,zero
      80002f98:	02000e93          	li	t4,32
      80002f9c:	02400193          	li	gp,36
      80002fa0:	03d11863          	bne	sp,t4,80002fd0 <fail>
  
  0000000080002fa4 <test_37>:
      80002fa4:	000000b3          	add	ra,zero,zero
      80002fa8:	00000e93          	li	t4,0
      80002fac:	02500193          	li	gp,37
      80002fb0:	03d09063          	bne	ra,t4,80002fd0 <fail>
  
  0000000080002fb4 <test_38>:
      80002fb4:	01000093          	li	ra,16
      80002fb8:	01e00113          	li	sp,30
      80002fbc:	00208033          	add	zero,ra,sp
      80002fc0:	00000e93          	li	t4,0
      80002fc4:	02600193          	li	gp,38
      80002fc8:	01d01463          	bne	zero,t4,80002fd0 <fail>
      80002fcc:	00301a63          	bne	zero,gp,80002fe0 <pass>
  
  0000000080002fd0 <fail>:
      80002fd0:	00119513          	slli	a0,gp,0x1
      80002fd4:	00050063          	beqz	a0,80002fd4 <fail+0x4>
      80002fd8:	00156513          	ori	a0,a0,1
      80002fdc:	00000073          	ecall
  
  0000000080002fe0 <pass>:
      80002fe0:	00100513          	li	a0,1
      80002fe4:	00000073          	ecall
      80002fe8:	c0001073          	unimp
  