changeset 1:b4cd5b4e571a

add uefi boot on qemu
author kono
date Thu, 18 Jan 2024 11:20:51 +0900
parents 07bbca19ea77
children 04d36d597077
files xv6-aarch64/Makefile xv6-aarch64/kernel/kernel.asm xv6-aarch64/kernel/kernel.sym xv6-aarch64/kernel/spinlock.d
diffstat 4 files changed, 3 insertions(+), 7608 deletions(-) [+]
line wrap: on
line diff
--- a/xv6-aarch64/Makefile	Thu Jan 18 10:56:41 2024 +0900
+++ b/xv6-aarch64/Makefile	Thu Jan 18 11:20:51 2024 +0900
@@ -167,3 +167,6 @@
 	@echo "*** Now run 'gdb' in another window." 1>&2
 	$(QEMU) $(QEMUOPTS) -S $(QEMUGDB)
 
+uefi:  $K/kernel fs.img
+	$(QEMU) -bios QEMU_EFI.fd fat:rw:EFI/BOOT/  $(QEMUOPTS) 
+
--- a/xv6-aarch64/kernel/kernel.asm	Thu Jan 18 10:56:41 2024 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7324 +0,0 @@
-
-kernel/kernel:     file format elf64-littleaarch64
-
-
-Disassembly of section .text:
-
-ffffff8040000000 <_entry>:
-        // kernel.ld causes the following code to
-        // be placed at 0x40000000.
-.section ".text"
-.global _entry
-_entry:
-        mrs x1, mpidr_el1
-ffffff8040000000:	d53800a1 	mrs	x1, mpidr_el1
-        and x1, x1, #0x3
-ffffff8040000004:	92400421 	and	x1, x1, #0x3
-        cbz x1, entry         // primary
-ffffff8040000008:	b4000041 	cbz	x1, ffffff8040000010 <entry>
-        b entryothers         // secondary
-ffffff804000000c:	14000034 	b	ffffff80400000dc <entryothers>
-
-ffffff8040000010 <entry>:
-
-entry:
-        // clear .bss
-        adrp x1, bss_start
-ffffff8040000010:	d0000041 	adrp	x1, ffffff804000a000 <l2kpgt>
-        ldr w2, =bss_size
-ffffff8040000014:	18000982 	ldr	w2, ffffff8040000144 <psci_call+0x8>
-1:
-        cbz w2, 2f
-ffffff8040000018:	34000082 	cbz	w2, ffffff8040000028 <entry+0x18>
-        str xzr, [x1], #8
-ffffff804000001c:	f800843f 	str	xzr, [x1], #8
-        sub w2, w2, #1
-ffffff8040000020:	51000442 	sub	w2, w2, #0x1
-        b 1b
-ffffff8040000024:	17fffffd 	b	ffffff8040000018 <entry+0x8>
-        // map [0xffffff8040000000,VA(end)) to [0x40000000,PA(end))
-        // memory type is normal.
-
-        // Phase 1
-        // map [0x40000000,PA(end)) to [0x40000000,PA(end))
-        adrp x0, l2entrypgt
-ffffff8040000028:	90000060 	adrp	x0, ffffff804000c000 <l2entrypgt>
-
-        mov x1, #0x40000000
-ffffff804000002c:	d2a80001 	mov	x1, #0x40000000            	// #1073741824
-        ldr x2, =V2P_WO(end)-1
-ffffff8040000030:	580008c2 	ldr	x2, ffffff8040000148 <psci_call+0xc>
-
-        lsr x3, x1, #PXSHIFT(2)
-ffffff8040000034:	d355fc23 	lsr	x3, x1, #21
-        and x3, x3, #PXMASK   // PX(2, x1)
-ffffff8040000038:	92402063 	and	x3, x3, #0x1ff
-        lsr x4, x2, #PXSHIFT(2)
-ffffff804000003c:	d355fc44 	lsr	x4, x2, #21
-        and x4, x4, #PXMASK   // PX(2, x2)
-ffffff8040000040:	92402084 	and	x4, x4, #0x1ff
-        mov x5, #(PTE_AF | PTE_INDX(AI_NORMAL_NC_IDX) | PTE_VALID) // entry attr
-ffffff8040000044:	d28080a5 	mov	x5, #0x405                 	// #1029
-        orr x6, x1, x5      // block entry
-ffffff8040000048:	aa050026 	orr	x6, x1, x5
-
-ffffff804000004c <l2epgt_loop>:
-l2epgt_loop:
-        str x6, [x0, x3, lsl #3]  // l2entrypgt[l2idx] = block entry
-ffffff804000004c:	f8237806 	str	x6, [x0, x3, lsl #3]
-        add x3, x3, #1          // next index
-ffffff8040000050:	91000463 	add	x3, x3, #0x1
-        add x6, x6, #0x200000   // next block, block size is 2MB
-ffffff8040000054:	914800c6 	add	x6, x6, #0x200, lsl #12
-        cmp x3, x4
-ffffff8040000058:	eb04007f 	cmp	x3, x4
-        b.ls l2epgt_loop    // if start va idx <= end va idx
-ffffff804000005c:	54ffff89 	b.ls	ffffff804000004c <l2epgt_loop>  // b.plast
-
-        adrp x0, l1entrypgt
-ffffff8040000060:	b0000060 	adrp	x0, ffffff804000d000 <l1entrypgt>
-
-        lsr x3, x1, #PXSHIFT(1)
-ffffff8040000064:	d35efc23 	lsr	x3, x1, #30
-        and x3, x3, #PXMASK     // start va level1 index
-ffffff8040000068:	92402063 	and	x3, x3, #0x1ff
-
-        mov x4, #(PTE_TABLE | PTE_VALID)  // entry attr
-ffffff804000006c:	d2800064 	mov	x4, #0x3                   	// #3
-        adrp x5, l2entrypgt
-ffffff8040000070:	90000065 	adrp	x5, ffffff804000c000 <l2entrypgt>
-        orr x6, x4, x5    // table entry
-ffffff8040000074:	aa050086 	orr	x6, x4, x5
-
-        str x6, [x0, x3, lsl #3]    // l1entrypgt[l1idx] = table entry
-ffffff8040000078:	f8237806 	str	x6, [x0, x3, lsl #3]
-
-        // Phase 2
-        // map [0xffffff8040000000,VA(end)) to [0x40000000,PA(end))
-        adrp x0, l2kpgt
-ffffff804000007c:	d0000040 	adrp	x0, ffffff804000a000 <l2kpgt>
-
-        mov x1, #0x40000000   // start pa
-ffffff8040000080:	d2a80001 	mov	x1, #0x40000000            	// #1073741824
-        ldr x2, =V2P_WO(end)-1   // end pa
-ffffff8040000084:	58000622 	ldr	x2, ffffff8040000148 <psci_call+0xc>
-        mov x3, #KERNBASE
-ffffff8040000088:	b25963e3 	mov	x3, #0xffffff8000000000    	// #-549755813888
-        add x4, x1, x3    // start va
-ffffff804000008c:	8b030024 	add	x4, x1, x3
-        add x5, x2, x3    // end va
-ffffff8040000090:	8b030045 	add	x5, x2, x3
-
-        lsr x6, x4, #PXSHIFT(2)
-ffffff8040000094:	d355fc86 	lsr	x6, x4, #21
-        and x6, x6, #PXMASK   // x6 = PX(2,x4)
-ffffff8040000098:	924020c6 	and	x6, x6, #0x1ff
-        lsr x7, x5, #PXSHIFT(2)
-ffffff804000009c:	d355fca7 	lsr	x7, x5, #21
-        and x7, x7, #PXMASK   // x7 = PX(2,x5)
-ffffff80400000a0:	924020e7 	and	x7, x7, #0x1ff
-        mov x8, #(PTE_AF | PTE_INDX(AI_NORMAL_NC_IDX) | PTE_VALID) // entry attr
-ffffff80400000a4:	d28080a8 	mov	x8, #0x405                 	// #1029
-        orr x9, x1, x8      // block entry
-ffffff80400000a8:	aa080029 	orr	x9, x1, x8
-
-ffffff80400000ac <l2kpgt_loop>:
-l2kpgt_loop:
-        str x9, [x0, x6, lsl #3]  // l2entrypgt[l2idx] = block entry
-ffffff80400000ac:	f8267809 	str	x9, [x0, x6, lsl #3]
-        add x6, x6, #1          // next index
-ffffff80400000b0:	910004c6 	add	x6, x6, #0x1
-        add x9, x9, #0x200000   // next block, block size is 2MB
-ffffff80400000b4:	91480129 	add	x9, x9, #0x200, lsl #12
-        cmp x6, x7
-ffffff80400000b8:	eb0700df 	cmp	x6, x7
-        b.ls l2kpgt_loop    // if start va idx <= end va idx
-ffffff80400000bc:	54ffff89 	b.ls	ffffff80400000ac <l2kpgt_loop>  // b.plast
-
-        adrp x0, l1kpgt
-ffffff80400000c0:	f0000040 	adrp	x0, ffffff804000b000 <l1kpgt>
-
-        lsr x5, x4, #PXSHIFT(1)
-ffffff80400000c4:	d35efc85 	lsr	x5, x4, #30
-        and x5, x5, #PXMASK  // x5 = PX(1,x4)
-ffffff80400000c8:	924020a5 	and	x5, x5, #0x1ff
-
-        mov x6, #(PTE_TABLE | PTE_VALID)  // entry attr
-ffffff80400000cc:	d2800066 	mov	x6, #0x3                   	// #3
-        adrp x7, l2kpgt
-ffffff80400000d0:	d0000047 	adrp	x7, ffffff804000a000 <l2kpgt>
-        orr x8, x6, x7    // table entry
-ffffff80400000d4:	aa0700c8 	orr	x8, x6, x7
-
-        str x8, [x0, x5, lsl #3]    // l1kpgt[l1idx] = table entry
-ffffff80400000d8:	f8257808 	str	x8, [x0, x5, lsl #3]
-
-ffffff80400000dc <entryothers>:
-
-entryothers:  // secondary CPU starts here
-        // load pagetable
-        adrp x0, l1entrypgt
-ffffff80400000dc:	b0000060 	adrp	x0, ffffff804000d000 <l1entrypgt>
-        adrp x1, l1kpgt
-ffffff80400000e0:	f0000041 	adrp	x1, ffffff804000b000 <l1kpgt>
-        msr ttbr0_el1, x0
-ffffff80400000e4:	d5182000 	msr	ttbr0_el1, x0
-        msr ttbr1_el1, x1
-ffffff80400000e8:	d5182021 	msr	ttbr1_el1, x1
-
-        // setup tcr
-        ldr x0, =(TCR_T0SZ(25)|TCR_T1SZ(25)|TCR_TG0(0)|TCR_TG1(2)|TCR_IPS(0))
-ffffff80400000ec:	58000320 	ldr	x0, ffffff8040000150 <psci_call+0x14>
-        msr tcr_el1, x0
-ffffff80400000f0:	d5182040 	msr	tcr_el1, x0
-
-        // setup mair
-        ldr x1, =((MT_DEVICE_nGnRnE<<(8*AI_DEVICE_nGnRnE_IDX)) | (MT_NORMAL_NC<<(8*AI_NORMAL_NC_IDX)))
-ffffff80400000f4:	58000321 	ldr	x1, ffffff8040000158 <psci_call+0x1c>
-        msr mair_el1, x1
-ffffff80400000f8:	d518a201 	msr	mair_el1, x1
-
-        isb
-ffffff80400000fc:	d5033fdf 	isb
-
-        ldr x1, =_start   // x1 = VA(_start)
-ffffff8040000100:	58000301 	ldr	x1, ffffff8040000160 <psci_call+0x24>
-
-        // enable paging
-        mrs x0, sctlr_el1
-ffffff8040000104:	d5381000 	mrs	x0, sctlr_el1
-        orr x0, x0, #1
-ffffff8040000108:	b2400000 	orr	x0, x0, #0x1
-        msr sctlr_el1, x0
-ffffff804000010c:	d5181000 	msr	sctlr_el1, x0
-
-        br x1       // jump to higher address (0xffffff8000000000~)
-ffffff8040000110:	d61f0020 	br	x1
-
-ffffff8040000114 <_start>:
-        // set up a stack for C.
-        // stack0 is declared in start.c,
-        // with a 4096-byte stack per CPU.
-        // sp = stack0 + ((cpuid+1) * 4096)
-        // cpuid = mpidr_el1 & 0xff
-        ldr x0, =stack0
-ffffff8040000114:	580002a0 	ldr	x0, ffffff8040000168 <psci_call+0x2c>
-        mov x1, #1024*4
-ffffff8040000118:	d2820001 	mov	x1, #0x1000                	// #4096
-        mrs x2, mpidr_el1
-ffffff804000011c:	d53800a2 	mrs	x2, mpidr_el1
-        and x2, x2, #0x3
-ffffff8040000120:	92400442 	and	x2, x2, #0x3
-        add x2, x2, #1
-ffffff8040000124:	91000442 	add	x2, x2, #0x1
-        mul x1, x1, x2
-ffffff8040000128:	9b027c21 	mul	x1, x1, x2
-        add x0, x0, x1
-ffffff804000012c:	8b010000 	add	x0, x0, x1
-        mov sp, x0
-ffffff8040000130:	9100001f 	mov	sp, x0
-        // jump to main()
-        b main
-ffffff8040000134:	14000349 	b	ffffff8040000e58 <main>
-
-        b .   // spin
-ffffff8040000138:	14000000 	b	ffffff8040000138 <_start+0x24>
-
-ffffff804000013c <psci_call>:
-
-.global psci_call
-psci_call:
-        hvc #0
-ffffff804000013c:	d4000002 	hvc	#0x0
-        ret
-ffffff8040000140:	d65f03c0 	ret
-ffffff8040000144:	00004202 	.word	0x00004202
-ffffff8040000148:	4002b00f 	.word	0x4002b00f
-ffffff804000014c:	00000000 	.word	0x00000000
-ffffff8040000150:	80190019 	.word	0x80190019
-ffffff8040000154:	00000000 	.word	0x00000000
-ffffff8040000158:	00004400 	.word	0x00004400
-ffffff804000015c:	00000000 	.word	0x00000000
-ffffff8040000160:	40000114 	.word	0x40000114
-ffffff8040000164:	ffffff80 	.word	0xffffff80
-ffffff8040000168:	4000e000 	.word	0x4000e000
-ffffff804000016c:	ffffff80 	.word	0xffffff80
-
-ffffff8040000170 <start>:
-ffffff8040000170:	1400033a 	b	ffffff8040000e58 <main>
-
-ffffff8040000174 <consolewrite>:
-ffffff8040000174:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff8040000178:	910003fd 	mov	x29, sp
-ffffff804000017c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000180:	2a0203f4 	mov	w20, w2
-ffffff8040000184:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff8040000188:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000018c:	2a0003f5 	mov	w21, w0
-ffffff8040000190:	aa0103f6 	mov	x22, x1
-ffffff8040000194:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040000198:	6b13029f 	cmp	w20, w19
-ffffff804000019c:	2a1303f7 	mov	w23, w19
-ffffff80400001a0:	540000ec 	b.gt	ffffff80400001bc <consolewrite+0x48>
-ffffff80400001a4:	2a1703e0 	mov	w0, w23
-ffffff80400001a8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400001ac:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400001b0:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff80400001b4:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff80400001b8:	d65f03c0 	ret
-ffffff80400001bc:	8b1302c2 	add	x2, x22, x19
-ffffff80400001c0:	d2800023 	mov	x3, #0x1                   	// #1
-ffffff80400001c4:	2a1503e1 	mov	w1, w21
-ffffff80400001c8:	91013fe0 	add	x0, sp, #0x4f
-ffffff80400001cc:	940008aa 	bl	ffffff8040002474 <either_copyin>
-ffffff80400001d0:	3100041f 	cmn	w0, #0x1
-ffffff80400001d4:	91000673 	add	x19, x19, #0x1
-ffffff80400001d8:	54fffe60 	b.eq	ffffff80400001a4 <consolewrite+0x30>  // b.none
-ffffff80400001dc:	39413fe0 	ldrb	w0, [sp, #79]
-ffffff80400001e0:	940001c3 	bl	ffffff80400008ec <uartputc>
-ffffff80400001e4:	17ffffed 	b	ffffff8040000198 <consolewrite+0x24>
-
-ffffff80400001e8 <consoleread>:
-ffffff80400001e8:	a9ba7bfd 	stp	x29, x30, [sp, #-96]!
-ffffff80400001ec:	910003fd 	mov	x29, sp
-ffffff80400001f0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400001f4:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400001f8:	91000273 	add	x19, x19, #0x0
-ffffff80400001fc:	2a0203f4 	mov	w20, w2
-ffffff8040000200:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040000204:	2a0003f7 	mov	w23, w0
-ffffff8040000208:	aa1303e0 	mov	x0, x19
-ffffff804000020c:	f90023f9 	str	x25, [sp, #64]
-ffffff8040000210:	91026279 	add	x25, x19, #0x98
-ffffff8040000214:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040000218:	aa0103f6 	mov	x22, x1
-ffffff804000021c:	2a0203f5 	mov	w21, w2
-ffffff8040000220:	94000278 	bl	ffffff8040000c00 <acquire>
-ffffff8040000224:	7100029f 	cmp	w20, #0x0
-ffffff8040000228:	5400022c 	b.gt	ffffff804000026c <consoleread+0x84>
-ffffff804000022c:	1400001d 	b	ffffff80400002a0 <consoleread+0xb8>
-ffffff8040000230:	9400064f 	bl	ffffff8040001b6c <myproc>
-ffffff8040000234:	b9402800 	ldr	w0, [x0, #40]
-ffffff8040000238:	34000140 	cbz	w0, ffffff8040000260 <consoleread+0x78>
-ffffff804000023c:	aa1303e0 	mov	x0, x19
-ffffff8040000240:	9400029b 	bl	ffffff8040000cac <release>
-ffffff8040000244:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040000248:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000024c:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040000250:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040000254:	f94023f9 	ldr	x25, [sp, #64]
-ffffff8040000258:	a8c67bfd 	ldp	x29, x30, [sp], #96
-ffffff804000025c:	d65f03c0 	ret
-ffffff8040000260:	aa1303e1 	mov	x1, x19
-ffffff8040000264:	aa1903e0 	mov	x0, x25
-ffffff8040000268:	94000788 	bl	ffffff8040002088 <sleep>
-ffffff804000026c:	29530261 	ldp	w1, w0, [x19, #152]
-ffffff8040000270:	6b00003f 	cmp	w1, w0
-ffffff8040000274:	54fffde0 	b.eq	ffffff8040000230 <consoleread+0x48>  // b.none
-ffffff8040000278:	11000420 	add	w0, w1, #0x1
-ffffff804000027c:	b9009a60 	str	w0, [x19, #152]
-ffffff8040000280:	92401820 	and	x0, x1, #0x7f
-ffffff8040000284:	8b000260 	add	x0, x19, x0
-ffffff8040000288:	39406018 	ldrb	w24, [x0, #24]
-ffffff804000028c:	7100131f 	cmp	w24, #0x4
-ffffff8040000290:	54000101 	b.ne	ffffff80400002b0 <consoleread+0xc8>  // b.any
-ffffff8040000294:	6b15029f 	cmp	w20, w21
-ffffff8040000298:	54000042 	b.cs	ffffff80400002a0 <consoleread+0xb8>  // b.hs, b.nlast
-ffffff804000029c:	b9009a61 	str	w1, [x19, #152]
-ffffff80400002a0:	aa1303e0 	mov	x0, x19
-ffffff80400002a4:	94000282 	bl	ffffff8040000cac <release>
-ffffff80400002a8:	4b1402a0 	sub	w0, w21, w20
-ffffff80400002ac:	17ffffe7 	b	ffffff8040000248 <consoleread+0x60>
-ffffff80400002b0:	d2800023 	mov	x3, #0x1                   	// #1
-ffffff80400002b4:	91017fe2 	add	x2, sp, #0x5f
-ffffff80400002b8:	39017ff8 	strb	w24, [sp, #95]
-ffffff80400002bc:	aa1603e1 	mov	x1, x22
-ffffff80400002c0:	2a1703e0 	mov	w0, w23
-ffffff80400002c4:	94000851 	bl	ffffff8040002408 <either_copyout>
-ffffff80400002c8:	3100041f 	cmn	w0, #0x1
-ffffff80400002cc:	54fffea0 	b.eq	ffffff80400002a0 <consoleread+0xb8>  // b.none
-ffffff80400002d0:	71002b1f 	cmp	w24, #0xa
-ffffff80400002d4:	910006d6 	add	x22, x22, #0x1
-ffffff80400002d8:	51000694 	sub	w20, w20, #0x1
-ffffff80400002dc:	54fffa41 	b.ne	ffffff8040000224 <consoleread+0x3c>  // b.any
-ffffff80400002e0:	17fffff0 	b	ffffff80400002a0 <consoleread+0xb8>
-
-ffffff80400002e4 <consputc.part.0>:
-ffffff80400002e4:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff80400002e8:	52800100 	mov	w0, #0x8                   	// #8
-ffffff80400002ec:	910003fd 	mov	x29, sp
-ffffff80400002f0:	9400014b 	bl	ffffff804000081c <uartputc_sync>
-ffffff80400002f4:	52800400 	mov	w0, #0x20                  	// #32
-ffffff80400002f8:	94000149 	bl	ffffff804000081c <uartputc_sync>
-ffffff80400002fc:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040000300:	52800100 	mov	w0, #0x8                   	// #8
-ffffff8040000304:	14000146 	b	ffffff804000081c <uartputc_sync>
-
-ffffff8040000308 <consputc>:
-ffffff8040000308:	7104001f 	cmp	w0, #0x100
-ffffff804000030c:	54000041 	b.ne	ffffff8040000314 <consputc+0xc>  // b.any
-ffffff8040000310:	17fffff5 	b	ffffff80400002e4 <consputc.part.0>
-ffffff8040000314:	14000142 	b	ffffff804000081c <uartputc_sync>
-
-ffffff8040000318 <consoleintr>:
-ffffff8040000318:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff804000031c:	910003fd 	mov	x29, sp
-ffffff8040000320:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000324:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040000328:	91000273 	add	x19, x19, #0x0
-ffffff804000032c:	2a0003f4 	mov	w20, w0
-ffffff8040000330:	aa1303e0 	mov	x0, x19
-ffffff8040000334:	94000233 	bl	ffffff8040000c00 <acquire>
-ffffff8040000338:	7100569f 	cmp	w20, #0x15
-ffffff804000033c:	54000580 	b.eq	ffffff80400003ec <consoleintr+0xd4>  // b.none
-ffffff8040000340:	540000ec 	b.gt	ffffff804000035c <consoleintr+0x44>
-ffffff8040000344:	7100229f 	cmp	w20, #0x8
-ffffff8040000348:	54000660 	b.eq	ffffff8040000414 <consoleintr+0xfc>  // b.none
-ffffff804000034c:	7100429f 	cmp	w20, #0x10
-ffffff8040000350:	54000400 	b.eq	ffffff80400003d0 <consoleintr+0xb8>  // b.none
-ffffff8040000354:	34000414 	cbz	w20, ffffff80400003d4 <consoleintr+0xbc>
-ffffff8040000358:	14000003 	b	ffffff8040000364 <consoleintr+0x4c>
-ffffff804000035c:	7101fe9f 	cmp	w20, #0x7f
-ffffff8040000360:	540005a0 	b.eq	ffffff8040000414 <consoleintr+0xfc>  // b.none
-ffffff8040000364:	b9409a61 	ldr	w1, [x19, #152]
-ffffff8040000368:	b940a260 	ldr	w0, [x19, #160]
-ffffff804000036c:	4b010000 	sub	w0, w0, w1
-ffffff8040000370:	7101fc1f 	cmp	w0, #0x7f
-ffffff8040000374:	54000308 	b.hi	ffffff80400003d4 <consoleintr+0xbc>  // b.pmore
-ffffff8040000378:	52800140 	mov	w0, #0xa                   	// #10
-ffffff804000037c:	7100369f 	cmp	w20, #0xd
-ffffff8040000380:	1a801294 	csel	w20, w20, w0, ne  // ne = any
-ffffff8040000384:	2a1403e0 	mov	w0, w20
-ffffff8040000388:	97ffffe0 	bl	ffffff8040000308 <consputc>
-ffffff804000038c:	b940a260 	ldr	w0, [x19, #160]
-ffffff8040000390:	71002a9f 	cmp	w20, #0xa
-ffffff8040000394:	7a441a84 	ccmp	w20, #0x4, #0x4, ne  // ne = any
-ffffff8040000398:	11000401 	add	w1, w0, #0x1
-ffffff804000039c:	92401800 	and	x0, x0, #0x7f
-ffffff80400003a0:	8b000260 	add	x0, x19, x0
-ffffff80400003a4:	b900a261 	str	w1, [x19, #160]
-ffffff80400003a8:	39006014 	strb	w20, [x0, #24]
-ffffff80400003ac:	540000a0 	b.eq	ffffff80400003c0 <consoleintr+0xa8>  // b.none
-ffffff80400003b0:	b9409a60 	ldr	w0, [x19, #152]
-ffffff80400003b4:	11020000 	add	w0, w0, #0x80
-ffffff80400003b8:	6b00003f 	cmp	w1, w0
-ffffff80400003bc:	540000c1 	b.ne	ffffff80400003d4 <consoleintr+0xbc>  // b.any
-ffffff80400003c0:	91026260 	add	x0, x19, #0x98
-ffffff80400003c4:	b9009e61 	str	w1, [x19, #156]
-ffffff80400003c8:	94000789 	bl	ffffff80400021ec <wakeup>
-ffffff80400003cc:	14000002 	b	ffffff80400003d4 <consoleintr+0xbc>
-ffffff80400003d0:	94000844 	bl	ffffff80400024e0 <procdump>
-ffffff80400003d4:	aa1303e0 	mov	x0, x19
-ffffff80400003d8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400003dc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400003e0:	14000233 	b	ffffff8040000cac <release>
-ffffff80400003e4:	b900a260 	str	w0, [x19, #160]
-ffffff80400003e8:	97ffffbf 	bl	ffffff80400002e4 <consputc.part.0>
-ffffff80400003ec:	29538261 	ldp	w1, w0, [x19, #156]
-ffffff80400003f0:	6b01001f 	cmp	w0, w1
-ffffff80400003f4:	54ffff00 	b.eq	ffffff80400003d4 <consoleintr+0xbc>  // b.none
-ffffff80400003f8:	51000400 	sub	w0, w0, #0x1
-ffffff80400003fc:	92401801 	and	x1, x0, #0x7f
-ffffff8040000400:	8b010261 	add	x1, x19, x1
-ffffff8040000404:	39406021 	ldrb	w1, [x1, #24]
-ffffff8040000408:	7100283f 	cmp	w1, #0xa
-ffffff804000040c:	54fffec1 	b.ne	ffffff80400003e4 <consoleintr+0xcc>  // b.any
-ffffff8040000410:	17fffff1 	b	ffffff80400003d4 <consoleintr+0xbc>
-ffffff8040000414:	29538261 	ldp	w1, w0, [x19, #156]
-ffffff8040000418:	6b01001f 	cmp	w0, w1
-ffffff804000041c:	54fffdc0 	b.eq	ffffff80400003d4 <consoleintr+0xbc>  // b.none
-ffffff8040000420:	51000400 	sub	w0, w0, #0x1
-ffffff8040000424:	b900a260 	str	w0, [x19, #160]
-ffffff8040000428:	97ffffaf 	bl	ffffff80400002e4 <consputc.part.0>
-ffffff804000042c:	17ffffea 	b	ffffff80400003d4 <consoleintr+0xbc>
-
-ffffff8040000430 <consoleinit>:
-ffffff8040000430:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040000434:	f0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040000438:	91000021 	add	x1, x1, #0x0
-ffffff804000043c:	910003fd 	mov	x29, sp
-ffffff8040000440:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000444:	91000000 	add	x0, x0, #0x0
-ffffff8040000448:	940001c9 	bl	ffffff8040000b6c <initlock>
-ffffff804000044c:	940000de 	bl	ffffff80400007c4 <uartinit>
-ffffff8040000450:	f0000120 	adrp	x0, ffffff8040027000 <ftable+0xe30>
-ffffff8040000454:	91062000 	add	x0, x0, #0x188
-ffffff8040000458:	90000001 	adrp	x1, ffffff8040000000 <_entry>
-ffffff804000045c:	9107a021 	add	x1, x1, #0x1e8
-ffffff8040000460:	f9000801 	str	x1, [x0, #16]
-ffffff8040000464:	90000001 	adrp	x1, ffffff8040000000 <_entry>
-ffffff8040000468:	9105d021 	add	x1, x1, #0x174
-ffffff804000046c:	f9000c01 	str	x1, [x0, #24]
-ffffff8040000470:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040000474:	d65f03c0 	ret
-
-ffffff8040000478 <printint.constprop.0>:
-ffffff8040000478:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff804000047c:	910003fd 	mov	x29, sp
-ffffff8040000480:	f0000024 	adrp	x4, ffffff8040007000 <etext>
-ffffff8040000484:	91008084 	add	x4, x4, #0x20
-ffffff8040000488:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff804000048c:	7100001f 	cmp	w0, #0x0
-ffffff8040000490:	5a80a403 	cneg	w3, w0, lt  // lt = tstop
-ffffff8040000494:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000498:	910083f4 	add	x20, sp, #0x20
-ffffff804000049c:	1ac10865 	udiv	w5, w3, w1
-ffffff80400004a0:	2a0203e6 	mov	w6, w2
-ffffff80400004a4:	11000453 	add	w19, w2, #0x1
-ffffff80400004a8:	1b018ca7 	msub	w7, w5, w1, w3
-ffffff80400004ac:	38676887 	ldrb	w7, [x4, x7]
-ffffff80400004b0:	38346847 	strb	w7, [x2, x20]
-ffffff80400004b4:	2a0303e7 	mov	w7, w3
-ffffff80400004b8:	91000442 	add	x2, x2, #0x1
-ffffff80400004bc:	6b07003f 	cmp	w1, w7
-ffffff80400004c0:	2a0503e3 	mov	w3, w5
-ffffff80400004c4:	54fffec9 	b.ls	ffffff804000049c <printint.constprop.0+0x24>  // b.plast
-ffffff80400004c8:	36f80080 	tbz	w0, #31, ffffff80400004d8 <printint.constprop.0+0x60>
-ffffff80400004cc:	528005a0 	mov	w0, #0x2d                  	// #45
-ffffff80400004d0:	3833ca80 	strb	w0, [x20, w19, sxtw]
-ffffff80400004d4:	110008d3 	add	w19, w6, #0x2
-ffffff80400004d8:	93407e73 	sxtw	x19, w19
-ffffff80400004dc:	d1000673 	sub	x19, x19, #0x1
-ffffff80400004e0:	3100067f 	cmn	w19, #0x1
-ffffff80400004e4:	54000081 	b.ne	ffffff80400004f4 <printint.constprop.0+0x7c>  // b.any
-ffffff80400004e8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400004ec:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400004f0:	d65f03c0 	ret
-ffffff80400004f4:	38736a80 	ldrb	w0, [x20, x19]
-ffffff80400004f8:	97ffff84 	bl	ffffff8040000308 <consputc>
-ffffff80400004fc:	17fffff8 	b	ffffff80400004dc <printint.constprop.0+0x64>
-
-ffffff8040000500 <panic>:
-ffffff8040000500:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000504:	910003fd 	mov	x29, sp
-ffffff8040000508:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000050c:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040000510:	9102a273 	add	x19, x19, #0xa8
-ffffff8040000514:	aa0003f4 	mov	x20, x0
-ffffff8040000518:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000051c:	91001400 	add	x0, x0, #0x5
-ffffff8040000520:	b9001a7f 	str	wzr, [x19, #24]
-ffffff8040000524:	94000009 	bl	ffffff8040000548 <printf>
-ffffff8040000528:	aa1403e0 	mov	x0, x20
-ffffff804000052c:	94000007 	bl	ffffff8040000548 <printf>
-ffffff8040000530:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000534:	910ccc00 	add	x0, x0, #0x333
-ffffff8040000538:	94000004 	bl	ffffff8040000548 <printf>
-ffffff804000053c:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040000540:	b9002260 	str	w0, [x19, #32]
-ffffff8040000544:	14000000 	b	ffffff8040000544 <panic+0x44>
-
-ffffff8040000548 <printf>:
-ffffff8040000548:	a9b57bfd 	stp	x29, x30, [sp, #-176]!
-ffffff804000054c:	910003fd 	mov	x29, sp
-ffffff8040000550:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040000554:	d00000b5 	adrp	x21, ffffff8040016000 <cons>
-ffffff8040000558:	9102a2b5 	add	x21, x21, #0xa8
-ffffff804000055c:	aa0003f6 	mov	x22, x0
-ffffff8040000560:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000564:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040000568:	b9401ab8 	ldr	w24, [x21, #24]
-ffffff804000056c:	f90023f9 	str	x25, [sp, #64]
-ffffff8040000570:	a9078be1 	stp	x1, x2, [sp, #120]
-ffffff8040000574:	a90893e3 	stp	x3, x4, [sp, #136]
-ffffff8040000578:	a9099be5 	stp	x5, x6, [sp, #152]
-ffffff804000057c:	f90057e7 	str	x7, [sp, #168]
-ffffff8040000580:	34000078 	cbz	w24, ffffff804000058c <printf+0x44>
-ffffff8040000584:	aa1503e0 	mov	x0, x21
-ffffff8040000588:	9400019e 	bl	ffffff8040000c00 <acquire>
-ffffff804000058c:	b5000096 	cbnz	x22, ffffff804000059c <printf+0x54>
-ffffff8040000590:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000594:	91005000 	add	x0, x0, #0x14
-ffffff8040000598:	97ffffda 	bl	ffffff8040000500 <panic>
-ffffff804000059c:	9102c3e0 	add	x0, sp, #0xb0
-ffffff80400005a0:	f0000037 	adrp	x23, ffffff8040007000 <etext>
-ffffff80400005a4:	910082f7 	add	x23, x23, #0x20
-ffffff80400005a8:	52800014 	mov	w20, #0x0                   	// #0
-ffffff80400005ac:	b9006fff 	str	wzr, [sp, #108]
-ffffff80400005b0:	a90503e0 	stp	x0, x0, [sp, #80]
-ffffff80400005b4:	9101c3e0 	add	x0, sp, #0x70
-ffffff80400005b8:	f90033e0 	str	x0, [sp, #96]
-ffffff80400005bc:	128006e0 	mov	w0, #0xffffffc8            	// #-56
-ffffff80400005c0:	b9006be0 	str	w0, [sp, #104]
-ffffff80400005c4:	3874cac0 	ldrb	w0, [x22, w20, sxtw]
-ffffff80400005c8:	35000140 	cbnz	w0, ffffff80400005f0 <printf+0xa8>
-ffffff80400005cc:	34000078 	cbz	w24, ffffff80400005d8 <printf+0x90>
-ffffff80400005d0:	aa1503e0 	mov	x0, x21
-ffffff80400005d4:	940001b6 	bl	ffffff8040000cac <release>
-ffffff80400005d8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400005dc:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400005e0:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400005e4:	f94023f9 	ldr	x25, [sp, #64]
-ffffff80400005e8:	a8cb7bfd 	ldp	x29, x30, [sp], #176
-ffffff80400005ec:	d65f03c0 	ret
-ffffff80400005f0:	7100941f 	cmp	w0, #0x25
-ffffff80400005f4:	54000060 	b.eq	ffffff8040000600 <printf+0xb8>  // b.none
-ffffff80400005f8:	97ffff44 	bl	ffffff8040000308 <consputc>
-ffffff80400005fc:	14000024 	b	ffffff804000068c <printf+0x144>
-ffffff8040000600:	11000694 	add	w20, w20, #0x1
-ffffff8040000604:	3874cad3 	ldrb	w19, [x22, w20, sxtw]
-ffffff8040000608:	34fffe33 	cbz	w19, ffffff80400005cc <printf+0x84>
-ffffff804000060c:	7101c27f 	cmp	w19, #0x70
-ffffff8040000610:	540005e0 	b.eq	ffffff80400006cc <printf+0x184>  // b.none
-ffffff8040000614:	54000128 	b.hi	ffffff8040000638 <printf+0xf0>  // b.pmore
-ffffff8040000618:	7100967f 	cmp	w19, #0x25
-ffffff804000061c:	540000a0 	b.eq	ffffff8040000630 <printf+0xe8>  // b.none
-ffffff8040000620:	7101927f 	cmp	w19, #0x64
-ffffff8040000624:	54000220 	b.eq	ffffff8040000668 <printf+0x120>  // b.none
-ffffff8040000628:	528004a0 	mov	w0, #0x25                  	// #37
-ffffff804000062c:	97ffff37 	bl	ffffff8040000308 <consputc>
-ffffff8040000630:	2a1303e0 	mov	w0, w19
-ffffff8040000634:	17fffff1 	b	ffffff80400005f8 <printf+0xb0>
-ffffff8040000638:	7101ce7f 	cmp	w19, #0x73
-ffffff804000063c:	540007c0 	b.eq	ffffff8040000734 <printf+0x1ec>  // b.none
-ffffff8040000640:	7101e27f 	cmp	w19, #0x78
-ffffff8040000644:	54ffff21 	b.ne	ffffff8040000628 <printf+0xe0>  // b.any
-ffffff8040000648:	b9406be1 	ldr	w1, [sp, #104]
-ffffff804000064c:	f9402be0 	ldr	x0, [sp, #80]
-ffffff8040000650:	37f80301 	tbnz	w1, #31, ffffff80400006b0 <printf+0x168>
-ffffff8040000654:	91002c01 	add	x1, x0, #0xb
-ffffff8040000658:	927df021 	and	x1, x1, #0xfffffffffffffff8
-ffffff804000065c:	f9002be1 	str	x1, [sp, #80]
-ffffff8040000660:	52800201 	mov	w1, #0x10                  	// #16
-ffffff8040000664:	14000008 	b	ffffff8040000684 <printf+0x13c>
-ffffff8040000668:	b9406be1 	ldr	w1, [sp, #104]
-ffffff804000066c:	f9402be0 	ldr	x0, [sp, #80]
-ffffff8040000670:	37f80121 	tbnz	w1, #31, ffffff8040000694 <printf+0x14c>
-ffffff8040000674:	91002c01 	add	x1, x0, #0xb
-ffffff8040000678:	927df021 	and	x1, x1, #0xfffffffffffffff8
-ffffff804000067c:	f9002be1 	str	x1, [sp, #80]
-ffffff8040000680:	52800141 	mov	w1, #0xa                   	// #10
-ffffff8040000684:	b9400000 	ldr	w0, [x0]
-ffffff8040000688:	97ffff7c 	bl	ffffff8040000478 <printint.constprop.0>
-ffffff804000068c:	11000694 	add	w20, w20, #0x1
-ffffff8040000690:	17ffffcd 	b	ffffff80400005c4 <printf+0x7c>
-ffffff8040000694:	11002022 	add	w2, w1, #0x8
-ffffff8040000698:	7100005f 	cmp	w2, #0x0
-ffffff804000069c:	b9006be2 	str	w2, [sp, #104]
-ffffff80400006a0:	54fffeac 	b.gt	ffffff8040000674 <printf+0x12c>
-ffffff80400006a4:	f9402fe0 	ldr	x0, [sp, #88]
-ffffff80400006a8:	8b21c000 	add	x0, x0, w1, sxtw
-ffffff80400006ac:	17fffff5 	b	ffffff8040000680 <printf+0x138>
-ffffff80400006b0:	11002022 	add	w2, w1, #0x8
-ffffff80400006b4:	7100005f 	cmp	w2, #0x0
-ffffff80400006b8:	b9006be2 	str	w2, [sp, #104]
-ffffff80400006bc:	54fffccc 	b.gt	ffffff8040000654 <printf+0x10c>
-ffffff80400006c0:	f9402fe0 	ldr	x0, [sp, #88]
-ffffff80400006c4:	8b21c000 	add	x0, x0, w1, sxtw
-ffffff80400006c8:	17ffffe6 	b	ffffff8040000660 <printf+0x118>
-ffffff80400006cc:	b9406be1 	ldr	w1, [sp, #104]
-ffffff80400006d0:	f9402be0 	ldr	x0, [sp, #80]
-ffffff80400006d4:	37f80221 	tbnz	w1, #31, ffffff8040000718 <printf+0x1d0>
-ffffff80400006d8:	91003c01 	add	x1, x0, #0xf
-ffffff80400006dc:	927df021 	and	x1, x1, #0xfffffffffffffff8
-ffffff80400006e0:	f9002be1 	str	x1, [sp, #80]
-ffffff80400006e4:	f9400019 	ldr	x25, [x0]
-ffffff80400006e8:	52800600 	mov	w0, #0x30                  	// #48
-ffffff80400006ec:	52800213 	mov	w19, #0x10                  	// #16
-ffffff80400006f0:	97ffff06 	bl	ffffff8040000308 <consputc>
-ffffff80400006f4:	52800f00 	mov	w0, #0x78                  	// #120
-ffffff80400006f8:	97ffff04 	bl	ffffff8040000308 <consputc>
-ffffff80400006fc:	d37cff20 	lsr	x0, x25, #60
-ffffff8040000700:	d37cef39 	lsl	x25, x25, #4
-ffffff8040000704:	38606ae0 	ldrb	w0, [x23, x0]
-ffffff8040000708:	97ffff00 	bl	ffffff8040000308 <consputc>
-ffffff804000070c:	71000673 	subs	w19, w19, #0x1
-ffffff8040000710:	54ffff61 	b.ne	ffffff80400006fc <printf+0x1b4>  // b.any
-ffffff8040000714:	17ffffde 	b	ffffff804000068c <printf+0x144>
-ffffff8040000718:	11002022 	add	w2, w1, #0x8
-ffffff804000071c:	7100005f 	cmp	w2, #0x0
-ffffff8040000720:	b9006be2 	str	w2, [sp, #104]
-ffffff8040000724:	54fffdac 	b.gt	ffffff80400006d8 <printf+0x190>
-ffffff8040000728:	f9402fe0 	ldr	x0, [sp, #88]
-ffffff804000072c:	8b21c000 	add	x0, x0, w1, sxtw
-ffffff8040000730:	17ffffed 	b	ffffff80400006e4 <printf+0x19c>
-ffffff8040000734:	b9406be0 	ldr	w0, [sp, #104]
-ffffff8040000738:	f9402be1 	ldr	x1, [sp, #80]
-ffffff804000073c:	37f801a0 	tbnz	w0, #31, ffffff8040000770 <printf+0x228>
-ffffff8040000740:	91003c20 	add	x0, x1, #0xf
-ffffff8040000744:	927df000 	and	x0, x0, #0xfffffffffffffff8
-ffffff8040000748:	f9002be0 	str	x0, [sp, #80]
-ffffff804000074c:	f9400033 	ldr	x19, [x1]
-ffffff8040000750:	b5000073 	cbnz	x19, ffffff804000075c <printf+0x214>
-ffffff8040000754:	f0000033 	adrp	x19, ffffff8040007000 <etext>
-ffffff8040000758:	91003673 	add	x19, x19, #0xd
-ffffff804000075c:	39400260 	ldrb	w0, [x19]
-ffffff8040000760:	34fff960 	cbz	w0, ffffff804000068c <printf+0x144>
-ffffff8040000764:	91000673 	add	x19, x19, #0x1
-ffffff8040000768:	97fffee8 	bl	ffffff8040000308 <consputc>
-ffffff804000076c:	17fffffc 	b	ffffff804000075c <printf+0x214>
-ffffff8040000770:	11002002 	add	w2, w0, #0x8
-ffffff8040000774:	7100005f 	cmp	w2, #0x0
-ffffff8040000778:	b9006be2 	str	w2, [sp, #104]
-ffffff804000077c:	54fffe2c 	b.gt	ffffff8040000740 <printf+0x1f8>
-ffffff8040000780:	f9402fe1 	ldr	x1, [sp, #88]
-ffffff8040000784:	8b20c021 	add	x1, x1, w0, sxtw
-ffffff8040000788:	17fffff1 	b	ffffff804000074c <printf+0x204>
-
-ffffff804000078c <printfinit>:
-ffffff804000078c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000790:	910003fd 	mov	x29, sp
-ffffff8040000794:	f0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040000798:	91007421 	add	x1, x1, #0x1d
-ffffff804000079c:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400007a0:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400007a4:	9102a273 	add	x19, x19, #0xa8
-ffffff80400007a8:	aa1303e0 	mov	x0, x19
-ffffff80400007ac:	940000f0 	bl	ffffff8040000b6c <initlock>
-ffffff80400007b0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff80400007b4:	b9001a60 	str	w0, [x19, #24]
-ffffff80400007b8:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff80400007bc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400007c0:	d65f03c0 	ret
-
-ffffff80400007c4 <uartinit>:
-ffffff80400007c4:	929ff9e1 	mov	x1, #0xffffffffffff0030    	// #-65488
-ffffff80400007c8:	f2a12001 	movk	x1, #0x900, lsl #16
-ffffff80400007cc:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff80400007d0:	929ff8e0 	mov	x0, #0xffffffffffff0038    	// #-65480
-ffffff80400007d4:	f2a12000 	movk	x0, #0x900, lsl #16
-ffffff80400007d8:	929ffa62 	mov	x2, #0xffffffffffff002c    	// #-65492
-ffffff80400007dc:	f2a12002 	movk	x2, #0x900, lsl #16
-ffffff80400007e0:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff80400007e4:	b900003f 	str	wzr, [x1]
-ffffff80400007e8:	f2dff002 	movk	x2, #0xff80, lsl #32
-ffffff80400007ec:	52800e03 	mov	w3, #0x70                  	// #112
-ffffff80400007f0:	b900001f 	str	wzr, [x0]
-ffffff80400007f4:	b9000043 	str	w3, [x2]
-ffffff80400007f8:	52806022 	mov	w2, #0x301                 	// #769
-ffffff80400007fc:	b9000022 	str	w2, [x1]
-ffffff8040000800:	52800601 	mov	w1, #0x30                  	// #48
-ffffff8040000804:	b9000001 	str	w1, [x0]
-ffffff8040000808:	f0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff804000080c:	9100c421 	add	x1, x1, #0x31
-ffffff8040000810:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000814:	91034000 	add	x0, x0, #0xd0
-ffffff8040000818:	140000d5 	b	ffffff8040000b6c <initlock>
-
-ffffff804000081c <uartputc_sync>:
-ffffff804000081c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000820:	910003fd 	mov	x29, sp
-ffffff8040000824:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040000828:	2a0003f3 	mov	w19, w0
-ffffff804000082c:	940000e1 	bl	ffffff8040000bb0 <push_off>
-ffffff8040000830:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000834:	b940c800 	ldr	w0, [x0, #200]
-ffffff8040000838:	35000180 	cbnz	w0, ffffff8040000868 <uartputc_sync+0x4c>
-ffffff804000083c:	929ffce1 	mov	x1, #0xffffffffffff0018    	// #-65512
-ffffff8040000840:	f2a12001 	movk	x1, #0x900, lsl #16
-ffffff8040000844:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff8040000848:	b9400020 	ldr	w0, [x1]
-ffffff804000084c:	372fffe0 	tbnz	w0, #5, ffffff8040000848 <uartputc_sync+0x2c>
-ffffff8040000850:	b25963e0 	mov	x0, #0xffffff8000000000    	// #-549755813888
-ffffff8040000854:	f2a12000 	movk	x0, #0x900, lsl #16
-ffffff8040000858:	b9000013 	str	w19, [x0]
-ffffff804000085c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040000860:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000864:	140000fc 	b	ffffff8040000c54 <pop_off>
-ffffff8040000868:	14000000 	b	ffffff8040000868 <uartputc_sync+0x4c>
-
-ffffff804000086c <uartstart>:
-ffffff804000086c:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040000870:	910003fd 	mov	x29, sp
-ffffff8040000874:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000878:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff804000087c:	91034273 	add	x19, x19, #0xd0
-ffffff8040000880:	b25963f4 	mov	x20, #0xffffff8000000000    	// #-549755813888
-ffffff8040000884:	f2a12014 	movk	x20, #0x900, lsl #16
-ffffff8040000888:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff804000088c:	929ffcf8 	mov	x24, #0xffffffffffff0018    	// #-65512
-ffffff8040000890:	f2a12018 	movk	x24, #0x900, lsl #16
-ffffff8040000894:	f2dff018 	movk	x24, #0xff80, lsl #32
-ffffff8040000898:	9100a277 	add	x23, x19, #0x28
-ffffff804000089c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400008a0:	91006276 	add	x22, x19, #0x18
-ffffff80400008a4:	a9418261 	ldp	x1, x0, [x19, #24]
-ffffff80400008a8:	eb01001f 	cmp	x0, x1
-ffffff80400008ac:	54000160 	b.eq	ffffff80400008d8 <uartstart+0x6c>  // b.none
-ffffff80400008b0:	b9400300 	ldr	w0, [x24]
-ffffff80400008b4:	37280120 	tbnz	w0, #5, ffffff80400008d8 <uartstart+0x6c>
-ffffff80400008b8:	92401020 	and	x0, x1, #0x1f
-ffffff80400008bc:	91000421 	add	x1, x1, #0x1
-ffffff80400008c0:	38606af5 	ldrb	w21, [x23, x0]
-ffffff80400008c4:	aa1603e0 	mov	x0, x22
-ffffff80400008c8:	f9000e61 	str	x1, [x19, #24]
-ffffff80400008cc:	94000648 	bl	ffffff80400021ec <wakeup>
-ffffff80400008d0:	b9000295 	str	w21, [x20]
-ffffff80400008d4:	17fffff4 	b	ffffff80400008a4 <uartstart+0x38>
-ffffff80400008d8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400008dc:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400008e0:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400008e4:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400008e8:	d65f03c0 	ret
-
-ffffff80400008ec <uartputc>:
-ffffff80400008ec:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff80400008f0:	910003fd 	mov	x29, sp
-ffffff80400008f4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400008f8:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400008fc:	91034273 	add	x19, x19, #0xd0
-ffffff8040000900:	2a0003f4 	mov	w20, w0
-ffffff8040000904:	aa1303e0 	mov	x0, x19
-ffffff8040000908:	f90013f5 	str	x21, [sp, #32]
-ffffff804000090c:	940000bd 	bl	ffffff8040000c00 <acquire>
-ffffff8040000910:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000914:	b940c800 	ldr	w0, [x0, #200]
-ffffff8040000918:	35000140 	cbnz	w0, ffffff8040000940 <uartputc+0x54>
-ffffff804000091c:	91006275 	add	x21, x19, #0x18
-ffffff8040000920:	a9418662 	ldp	x2, x1, [x19, #24]
-ffffff8040000924:	91008042 	add	x2, x2, #0x20
-ffffff8040000928:	eb01005f 	cmp	x2, x1
-ffffff804000092c:	540000c1 	b.ne	ffffff8040000944 <uartputc+0x58>  // b.any
-ffffff8040000930:	aa1303e1 	mov	x1, x19
-ffffff8040000934:	aa1503e0 	mov	x0, x21
-ffffff8040000938:	940005d4 	bl	ffffff8040002088 <sleep>
-ffffff804000093c:	17fffff9 	b	ffffff8040000920 <uartputc+0x34>
-ffffff8040000940:	14000000 	b	ffffff8040000940 <uartputc+0x54>
-ffffff8040000944:	9100a262 	add	x2, x19, #0x28
-ffffff8040000948:	92401020 	and	x0, x1, #0x1f
-ffffff804000094c:	91000421 	add	x1, x1, #0x1
-ffffff8040000950:	38206854 	strb	w20, [x2, x0]
-ffffff8040000954:	f9001261 	str	x1, [x19, #32]
-ffffff8040000958:	97ffffc5 	bl	ffffff804000086c <uartstart>
-ffffff804000095c:	aa1303e0 	mov	x0, x19
-ffffff8040000960:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040000964:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040000968:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff804000096c:	140000d0 	b	ffffff8040000cac <release>
-
-ffffff8040000970 <uartgetc>:
-ffffff8040000970:	929ffce0 	mov	x0, #0xffffffffffff0018    	// #-65512
-ffffff8040000974:	f2a12000 	movk	x0, #0x900, lsl #16
-ffffff8040000978:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff804000097c:	b9400000 	ldr	w0, [x0]
-ffffff8040000980:	372000a0 	tbnz	w0, #4, ffffff8040000994 <uartgetc+0x24>
-ffffff8040000984:	b25963e0 	mov	x0, #0xffffff8000000000    	// #-549755813888
-ffffff8040000988:	f2a12000 	movk	x0, #0x900, lsl #16
-ffffff804000098c:	b9400000 	ldr	w0, [x0]
-ffffff8040000990:	d65f03c0 	ret
-ffffff8040000994:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040000998:	17fffffe 	b	ffffff8040000990 <uartgetc+0x20>
-
-ffffff804000099c <uartintr>:
-ffffff804000099c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400009a0:	910003fd 	mov	x29, sp
-ffffff80400009a4:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400009a8:	97fffff2 	bl	ffffff8040000970 <uartgetc>
-ffffff80400009ac:	3100041f 	cmn	w0, #0x1
-ffffff80400009b0:	54000060 	b.eq	ffffff80400009bc <uartintr+0x20>  // b.none
-ffffff80400009b4:	97fffe59 	bl	ffffff8040000318 <consoleintr>
-ffffff80400009b8:	17fffffc 	b	ffffff80400009a8 <uartintr+0xc>
-ffffff80400009bc:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400009c0:	91034273 	add	x19, x19, #0xd0
-ffffff80400009c4:	aa1303e0 	mov	x0, x19
-ffffff80400009c8:	9400008e 	bl	ffffff8040000c00 <acquire>
-ffffff80400009cc:	97ffffa8 	bl	ffffff804000086c <uartstart>
-ffffff80400009d0:	aa1303e0 	mov	x0, x19
-ffffff80400009d4:	940000b6 	bl	ffffff8040000cac <release>
-ffffff80400009d8:	929ff760 	mov	x0, #0xffffffffffff0044    	// #-65468
-ffffff80400009dc:	f2a12000 	movk	x0, #0x900, lsl #16
-ffffff80400009e0:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff80400009e4:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff80400009e8:	52800601 	mov	w1, #0x30                  	// #48
-ffffff80400009ec:	b9000001 	str	w1, [x0]
-ffffff80400009f0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400009f4:	d65f03c0 	ret
-
-ffffff80400009f8 <kfree>:
-ffffff80400009f8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400009fc:	910003fd 	mov	x29, sp
-ffffff8040000a00:	f2402c1f 	tst	x0, #0xfff
-ffffff8040000a04:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000a08:	54000141 	b.ne	ffffff8040000a30 <kfree+0x38>  // b.any
-ffffff8040000a0c:	f0000141 	adrp	x1, ffffff804002b000 <gicv3>
-ffffff8040000a10:	91004021 	add	x1, x1, #0x10
-ffffff8040000a14:	eb01001f 	cmp	x0, x1
-ffffff8040000a18:	aa0003f3 	mov	x19, x0
-ffffff8040000a1c:	540000a3 	b.cc	ffffff8040000a30 <kfree+0x38>  // b.lo, b.ul, b.last
-ffffff8040000a20:	92b70001 	mov	x1, #0xffffffff47ffffff    	// #-3087007745
-ffffff8040000a24:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff8040000a28:	eb01001f 	cmp	x0, x1
-ffffff8040000a2c:	54000089 	b.ls	ffffff8040000a3c <kfree+0x44>  // b.plast
-ffffff8040000a30:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000a34:	9100d800 	add	x0, x0, #0x36
-ffffff8040000a38:	97fffeb2 	bl	ffffff8040000500 <panic>
-ffffff8040000a3c:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff8040000a40:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040000a44:	940000a9 	bl	ffffff8040000ce8 <memset>
-ffffff8040000a48:	d00000b4 	adrp	x20, ffffff8040016000 <cons>
-ffffff8040000a4c:	91046294 	add	x20, x20, #0x118
-ffffff8040000a50:	aa1403e0 	mov	x0, x20
-ffffff8040000a54:	9400006b 	bl	ffffff8040000c00 <acquire>
-ffffff8040000a58:	f9400e80 	ldr	x0, [x20, #24]
-ffffff8040000a5c:	f9000260 	str	x0, [x19]
-ffffff8040000a60:	aa1403e0 	mov	x0, x20
-ffffff8040000a64:	f9000e93 	str	x19, [x20, #24]
-ffffff8040000a68:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040000a6c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000a70:	1400008f 	b	ffffff8040000cac <release>
-
-ffffff8040000a74 <freerange>:
-ffffff8040000a74:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000a78:	913ffc00 	add	x0, x0, #0xfff
-ffffff8040000a7c:	910003fd 	mov	x29, sp
-ffffff8040000a80:	9274cc00 	and	x0, x0, #0xfffffffffffff000
-ffffff8040000a84:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000a88:	aa0103f3 	mov	x19, x1
-ffffff8040000a8c:	91400414 	add	x20, x0, #0x1, lsl #12
-ffffff8040000a90:	eb13029f 	cmp	x20, x19
-ffffff8040000a94:	54000089 	b.ls	ffffff8040000aa4 <freerange+0x30>  // b.plast
-ffffff8040000a98:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040000a9c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000aa0:	d65f03c0 	ret
-ffffff8040000aa4:	97ffffd5 	bl	ffffff80400009f8 <kfree>
-ffffff8040000aa8:	aa1403e0 	mov	x0, x20
-ffffff8040000aac:	17fffff8 	b	ffffff8040000a8c <freerange+0x18>
-
-ffffff8040000ab0 <kinit1>:
-ffffff8040000ab0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000ab4:	910003fd 	mov	x29, sp
-ffffff8040000ab8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000abc:	aa0003f3 	mov	x19, x0
-ffffff8040000ac0:	aa0103f4 	mov	x20, x1
-ffffff8040000ac4:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000ac8:	91046000 	add	x0, x0, #0x118
-ffffff8040000acc:	f0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040000ad0:	9100f021 	add	x1, x1, #0x3c
-ffffff8040000ad4:	94000026 	bl	ffffff8040000b6c <initlock>
-ffffff8040000ad8:	aa1403e1 	mov	x1, x20
-ffffff8040000adc:	aa1303e0 	mov	x0, x19
-ffffff8040000ae0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040000ae4:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000ae8:	17ffffe3 	b	ffffff8040000a74 <freerange>
-
-ffffff8040000aec <kinit2>:
-ffffff8040000aec:	17ffffe2 	b	ffffff8040000a74 <freerange>
-
-ffffff8040000af0 <kalloc>:
-ffffff8040000af0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000af4:	910003fd 	mov	x29, sp
-ffffff8040000af8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000afc:	d00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040000b00:	91046273 	add	x19, x19, #0x118
-ffffff8040000b04:	aa1303e0 	mov	x0, x19
-ffffff8040000b08:	9400003e 	bl	ffffff8040000c00 <acquire>
-ffffff8040000b0c:	f9400e74 	ldr	x20, [x19, #24]
-ffffff8040000b10:	b4000074 	cbz	x20, ffffff8040000b1c <kalloc+0x2c>
-ffffff8040000b14:	f9400280 	ldr	x0, [x20]
-ffffff8040000b18:	f9000e60 	str	x0, [x19, #24]
-ffffff8040000b1c:	aa1303e0 	mov	x0, x19
-ffffff8040000b20:	94000063 	bl	ffffff8040000cac <release>
-ffffff8040000b24:	b40000b4 	cbz	x20, ffffff8040000b38 <kalloc+0x48>
-ffffff8040000b28:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff8040000b2c:	528000a1 	mov	w1, #0x5                   	// #5
-ffffff8040000b30:	aa1403e0 	mov	x0, x20
-ffffff8040000b34:	9400006d 	bl	ffffff8040000ce8 <memset>
-ffffff8040000b38:	aa1403e0 	mov	x0, x20
-ffffff8040000b3c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040000b40:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000b44:	d65f03c0 	ret
-
-ffffff8040000b48 <__aarch64_swp4_acq>:
-ffffff8040000b48:	d10043ff 	sub	sp, sp, #0x10
-ffffff8040000b4c:	885ffc03 	ldaxr	w3, [x0]
-ffffff8040000b50:	88027c01 	stxr	w2, w1, [x0]
-ffffff8040000b54:	35ffffc2 	cbnz	w2, ffffff8040000b4c <__aarch64_swp4_acq+0x4>
-ffffff8040000b58:	b9000be3 	str	w3, [sp, #8]
-ffffff8040000b5c:	b9000fe2 	str	w2, [sp, #12]
-ffffff8040000b60:	b9400be0 	ldr	w0, [sp, #8]
-ffffff8040000b64:	910043ff 	add	sp, sp, #0x10
-ffffff8040000b68:	d65f03c0 	ret
-
-ffffff8040000b6c <initlock>:
-ffffff8040000b6c:	b900001f 	str	wzr, [x0]
-ffffff8040000b70:	a900fc01 	stp	x1, xzr, [x0, #8]
-ffffff8040000b74:	d65f03c0 	ret
-
-ffffff8040000b78 <holding>:
-ffffff8040000b78:	b9400001 	ldr	w1, [x0]
-ffffff8040000b7c:	34000161 	cbz	w1, ffffff8040000ba8 <holding+0x30>
-ffffff8040000b80:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000b84:	910003fd 	mov	x29, sp
-ffffff8040000b88:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040000b8c:	f9400813 	ldr	x19, [x0, #16]
-ffffff8040000b90:	940003f0 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000b94:	eb00027f 	cmp	x19, x0
-ffffff8040000b98:	1a9f17e0 	cset	w0, eq  // eq = none
-ffffff8040000b9c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040000ba0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000ba4:	d65f03c0 	ret
-ffffff8040000ba8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040000bac:	d65f03c0 	ret
-
-ffffff8040000bb0 <push_off>:
-ffffff8040000bb0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000bb4:	910003fd 	mov	x29, sp
-ffffff8040000bb8:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040000bbc:	d53b4233 	mrs	x19, daif
-ffffff8040000bc0:	d5034fdf 	msr	daifset, #0xf
-ffffff8040000bc4:	940003e3 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000bc8:	b9407800 	ldr	w0, [x0, #120]
-ffffff8040000bcc:	350000c0 	cbnz	w0, ffffff8040000be4 <push_off+0x34>
-ffffff8040000bd0:	d347fe73 	lsr	x19, x19, #7
-ffffff8040000bd4:	d2400273 	eor	x19, x19, #0x1
-ffffff8040000bd8:	12000273 	and	w19, w19, #0x1
-ffffff8040000bdc:	940003dd 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000be0:	b9007c13 	str	w19, [x0, #124]
-ffffff8040000be4:	940003db 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000be8:	b9407801 	ldr	w1, [x0, #120]
-ffffff8040000bec:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040000bf0:	11000421 	add	w1, w1, #0x1
-ffffff8040000bf4:	b9007801 	str	w1, [x0, #120]
-ffffff8040000bf8:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000bfc:	d65f03c0 	ret
-
-ffffff8040000c00 <acquire>:
-ffffff8040000c00:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000c04:	910003fd 	mov	x29, sp
-ffffff8040000c08:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040000c0c:	aa0003f3 	mov	x19, x0
-ffffff8040000c10:	97ffffe8 	bl	ffffff8040000bb0 <push_off>
-ffffff8040000c14:	aa1303e0 	mov	x0, x19
-ffffff8040000c18:	97ffffd8 	bl	ffffff8040000b78 <holding>
-ffffff8040000c1c:	34000080 	cbz	w0, ffffff8040000c2c <acquire+0x2c>
-ffffff8040000c20:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000c24:	91010400 	add	x0, x0, #0x41
-ffffff8040000c28:	97fffe36 	bl	ffffff8040000500 <panic>
-ffffff8040000c2c:	aa1303e1 	mov	x1, x19
-ffffff8040000c30:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040000c34:	97ffffc5 	bl	ffffff8040000b48 <__aarch64_swp4_acq>
-ffffff8040000c38:	35ffffa0 	cbnz	w0, ffffff8040000c2c <acquire+0x2c>
-ffffff8040000c3c:	d5033bbf 	dmb	ish
-ffffff8040000c40:	940003c4 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000c44:	f9000a60 	str	x0, [x19, #16]
-ffffff8040000c48:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040000c4c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000c50:	d65f03c0 	ret
-
-ffffff8040000c54 <pop_off>:
-ffffff8040000c54:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040000c58:	910003fd 	mov	x29, sp
-ffffff8040000c5c:	940003bd 	bl	ffffff8040001b50 <mycpu>
-ffffff8040000c60:	d53b4221 	mrs	x1, daif
-ffffff8040000c64:	37380081 	tbnz	w1, #7, ffffff8040000c74 <pop_off+0x20>
-ffffff8040000c68:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000c6c:	91012400 	add	x0, x0, #0x49
-ffffff8040000c70:	97fffe24 	bl	ffffff8040000500 <panic>
-ffffff8040000c74:	b9407801 	ldr	w1, [x0, #120]
-ffffff8040000c78:	7100003f 	cmp	w1, #0x0
-ffffff8040000c7c:	5400008c 	b.gt	ffffff8040000c8c <pop_off+0x38>
-ffffff8040000c80:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000c84:	91018400 	add	x0, x0, #0x61
-ffffff8040000c88:	17fffffa 	b	ffffff8040000c70 <pop_off+0x1c>
-ffffff8040000c8c:	51000421 	sub	w1, w1, #0x1
-ffffff8040000c90:	b9007801 	str	w1, [x0, #120]
-ffffff8040000c94:	35000081 	cbnz	w1, ffffff8040000ca4 <pop_off+0x50>
-ffffff8040000c98:	b9407c00 	ldr	w0, [x0, #124]
-ffffff8040000c9c:	34000040 	cbz	w0, ffffff8040000ca4 <pop_off+0x50>
-ffffff8040000ca0:	d5034fff 	msr	daifclr, #0xf
-ffffff8040000ca4:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040000ca8:	d65f03c0 	ret
-
-ffffff8040000cac <release>:
-ffffff8040000cac:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040000cb0:	910003fd 	mov	x29, sp
-ffffff8040000cb4:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040000cb8:	aa0003f3 	mov	x19, x0
-ffffff8040000cbc:	97ffffaf 	bl	ffffff8040000b78 <holding>
-ffffff8040000cc0:	35000080 	cbnz	w0, ffffff8040000cd0 <release+0x24>
-ffffff8040000cc4:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000cc8:	9101a400 	add	x0, x0, #0x69
-ffffff8040000ccc:	97fffe0d 	bl	ffffff8040000500 <panic>
-ffffff8040000cd0:	f9000a7f 	str	xzr, [x19, #16]
-ffffff8040000cd4:	d5033bbf 	dmb	ish
-ffffff8040000cd8:	889ffe7f 	stlr	wzr, [x19]
-ffffff8040000cdc:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040000ce0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040000ce4:	17ffffdc 	b	ffffff8040000c54 <pop_off>
-
-ffffff8040000ce8 <memset>:
-ffffff8040000ce8:	d2800003 	mov	x3, #0x0                   	// #0
-ffffff8040000cec:	6b03005f 	cmp	w2, w3
-ffffff8040000cf0:	54000048 	b.hi	ffffff8040000cf8 <memset+0x10>  // b.pmore
-ffffff8040000cf4:	d65f03c0 	ret
-ffffff8040000cf8:	38236801 	strb	w1, [x0, x3]
-ffffff8040000cfc:	91000463 	add	x3, x3, #0x1
-ffffff8040000d00:	17fffffb 	b	ffffff8040000cec <memset+0x4>
-
-ffffff8040000d04 <memcmp>:
-ffffff8040000d04:	2a0203e2 	mov	w2, w2
-ffffff8040000d08:	d2800004 	mov	x4, #0x0                   	// #0
-ffffff8040000d0c:	d1000421 	sub	x1, x1, #0x1
-ffffff8040000d10:	eb02009f 	cmp	x4, x2
-ffffff8040000d14:	54000061 	b.ne	ffffff8040000d20 <memcmp+0x1c>  // b.any
-ffffff8040000d18:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040000d1c:	14000007 	b	ffffff8040000d38 <memcmp+0x34>
-ffffff8040000d20:	38646803 	ldrb	w3, [x0, x4]
-ffffff8040000d24:	91000484 	add	x4, x4, #0x1
-ffffff8040000d28:	38646825 	ldrb	w5, [x1, x4]
-ffffff8040000d2c:	6b05007f 	cmp	w3, w5
-ffffff8040000d30:	54ffff00 	b.eq	ffffff8040000d10 <memcmp+0xc>  // b.none
-ffffff8040000d34:	4b050060 	sub	w0, w3, w5
-ffffff8040000d38:	d65f03c0 	ret
-
-ffffff8040000d3c <memmove>:
-ffffff8040000d3c:	34000142 	cbz	w2, ffffff8040000d64 <memmove+0x28>
-ffffff8040000d40:	eb00003f 	cmp	x1, x0
-ffffff8040000d44:	2a0203e2 	mov	w2, w2
-ffffff8040000d48:	54000103 	b.cc	ffffff8040000d68 <memmove+0x2c>  // b.lo, b.ul, b.last
-ffffff8040000d4c:	d2800003 	mov	x3, #0x0                   	// #0
-ffffff8040000d50:	38636824 	ldrb	w4, [x1, x3]
-ffffff8040000d54:	38236804 	strb	w4, [x0, x3]
-ffffff8040000d58:	91000463 	add	x3, x3, #0x1
-ffffff8040000d5c:	eb03005f 	cmp	x2, x3
-ffffff8040000d60:	54ffff81 	b.ne	ffffff8040000d50 <memmove+0x14>  // b.any
-ffffff8040000d64:	d65f03c0 	ret
-ffffff8040000d68:	8b020023 	add	x3, x1, x2
-ffffff8040000d6c:	eb00007f 	cmp	x3, x0
-ffffff8040000d70:	54fffee9 	b.ls	ffffff8040000d4c <memmove+0x10>  // b.plast
-ffffff8040000d74:	8b020004 	add	x4, x0, x2
-ffffff8040000d78:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040000d7c:	aa2203e2 	mvn	x2, x2
-ffffff8040000d80:	d1000421 	sub	x1, x1, #0x1
-ffffff8040000d84:	eb02003f 	cmp	x1, x2
-ffffff8040000d88:	54fffee0 	b.eq	ffffff8040000d64 <memmove+0x28>  // b.none
-ffffff8040000d8c:	38616865 	ldrb	w5, [x3, x1]
-ffffff8040000d90:	38216885 	strb	w5, [x4, x1]
-ffffff8040000d94:	17fffffb 	b	ffffff8040000d80 <memmove+0x44>
-
-ffffff8040000d98 <memcpy>:
-ffffff8040000d98:	17ffffe9 	b	ffffff8040000d3c <memmove>
-
-ffffff8040000d9c <strncmp>:
-ffffff8040000d9c:	2a0203e2 	mov	w2, w2
-ffffff8040000da0:	d2800004 	mov	x4, #0x0                   	// #0
-ffffff8040000da4:	eb04005f 	cmp	x2, x4
-ffffff8040000da8:	54000120 	b.eq	ffffff8040000dcc <strncmp+0x30>  // b.none
-ffffff8040000dac:	38646803 	ldrb	w3, [x0, x4]
-ffffff8040000db0:	38646825 	ldrb	w5, [x1, x4]
-ffffff8040000db4:	34000083 	cbz	w3, ffffff8040000dc4 <strncmp+0x28>
-ffffff8040000db8:	6b05007f 	cmp	w3, w5
-ffffff8040000dbc:	91000484 	add	x4, x4, #0x1
-ffffff8040000dc0:	54ffff20 	b.eq	ffffff8040000da4 <strncmp+0x8>  // b.none
-ffffff8040000dc4:	4b050060 	sub	w0, w3, w5
-ffffff8040000dc8:	14000002 	b	ffffff8040000dd0 <strncmp+0x34>
-ffffff8040000dcc:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040000dd0:	d65f03c0 	ret
-
-ffffff8040000dd4 <strncpy>:
-ffffff8040000dd4:	aa0003e3 	mov	x3, x0
-ffffff8040000dd8:	7100005f 	cmp	w2, #0x0
-ffffff8040000ddc:	51000442 	sub	w2, w2, #0x1
-ffffff8040000de0:	540000cc 	b.gt	ffffff8040000df8 <strncpy+0x24>
-ffffff8040000de4:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040000de8:	4b010044 	sub	w4, w2, w1
-ffffff8040000dec:	7100009f 	cmp	w4, #0x0
-ffffff8040000df0:	540000cc 	b.gt	ffffff8040000e08 <strncpy+0x34>
-ffffff8040000df4:	d65f03c0 	ret
-ffffff8040000df8:	38401424 	ldrb	w4, [x1], #1
-ffffff8040000dfc:	38001464 	strb	w4, [x3], #1
-ffffff8040000e00:	35fffec4 	cbnz	w4, ffffff8040000dd8 <strncpy+0x4>
-ffffff8040000e04:	17fffff8 	b	ffffff8040000de4 <strncpy+0x10>
-ffffff8040000e08:	3821687f 	strb	wzr, [x3, x1]
-ffffff8040000e0c:	91000421 	add	x1, x1, #0x1
-ffffff8040000e10:	17fffff6 	b	ffffff8040000de8 <strncpy+0x14>
-
-ffffff8040000e14 <safestrcpy>:
-ffffff8040000e14:	7100005f 	cmp	w2, #0x0
-ffffff8040000e18:	5400010d 	b.le	ffffff8040000e38 <safestrcpy+0x24>
-ffffff8040000e1c:	aa0003e3 	mov	x3, x0
-ffffff8040000e20:	71000442 	subs	w2, w2, #0x1
-ffffff8040000e24:	54000080 	b.eq	ffffff8040000e34 <safestrcpy+0x20>  // b.none
-ffffff8040000e28:	38401424 	ldrb	w4, [x1], #1
-ffffff8040000e2c:	38001464 	strb	w4, [x3], #1
-ffffff8040000e30:	35ffff84 	cbnz	w4, ffffff8040000e20 <safestrcpy+0xc>
-ffffff8040000e34:	3900007f 	strb	wzr, [x3]
-ffffff8040000e38:	d65f03c0 	ret
-
-ffffff8040000e3c <strlen>:
-ffffff8040000e3c:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040000e40:	d1000402 	sub	x2, x0, #0x1
-ffffff8040000e44:	2a0103e0 	mov	w0, w1
-ffffff8040000e48:	91000421 	add	x1, x1, #0x1
-ffffff8040000e4c:	38616843 	ldrb	w3, [x2, x1]
-ffffff8040000e50:	35ffffa3 	cbnz	w3, ffffff8040000e44 <strlen+0x8>
-ffffff8040000e54:	d65f03c0 	ret
-
-ffffff8040000e58 <main>:
-ffffff8040000e58:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040000e5c:	910003fd 	mov	x29, sp
-ffffff8040000e60:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000e64:	f90013f5 	str	x21, [sp, #32]
-ffffff8040000e68:	d53800a0 	mrs	x0, mpidr_el1
-ffffff8040000e6c:	72001c1f 	tst	w0, #0xff
-ffffff8040000e70:	54000200 	b.eq	ffffff8040000eb0 <main+0x58>  // b.none
-ffffff8040000e74:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000e78:	9104e000 	add	x0, x0, #0x138
-ffffff8040000e7c:	b9400001 	ldr	w1, [x0]
-ffffff8040000e80:	34ffffe1 	cbz	w1, ffffff8040000e7c <main+0x24>
-ffffff8040000e84:	d5033bbf 	dmb	ish
-ffffff8040000e88:	94000046 	bl	ffffff8040000fa0 <kvminithart>
-ffffff8040000e8c:	d53800a1 	mrs	x1, mpidr_el1
-ffffff8040000e90:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000e94:	91022000 	add	x0, x0, #0x88
-ffffff8040000e98:	92401c21 	and	x1, x1, #0xff
-ffffff8040000e9c:	97fffdab 	bl	ffffff8040000548 <printf>
-ffffff8040000ea0:	940005d1 	bl	ffffff80400025e4 <trapinithart>
-ffffff8040000ea4:	9400167b 	bl	ffffff8040006890 <gicv3inithart>
-ffffff8040000ea8:	940014eb 	bl	ffffff8040006254 <timerinit>
-ffffff8040000eac:	14000037 	b	ffffff8040000f88 <main+0x130>
-ffffff8040000eb0:	90000013 	adrp	x19, ffffff8040000000 <_entry>
-ffffff8040000eb4:	91000273 	add	x19, x19, #0x0
-ffffff8040000eb8:	d2c01000 	mov	x0, #0x8000000000          	// #549755813888
-ffffff8040000ebc:	d2800075 	mov	x21, #0x3                   	// #3
-ffffff8040000ec0:	f2b88015 	movk	x21, #0xc400, lsl #16
-ffffff8040000ec4:	52800034 	mov	w20, #0x1                   	// #1
-ffffff8040000ec8:	8b000273 	add	x19, x19, x0
-ffffff8040000ecc:	2a1403e1 	mov	w1, w20
-ffffff8040000ed0:	d2800003 	mov	x3, #0x0                   	// #0
-ffffff8040000ed4:	aa1303e2 	mov	x2, x19
-ffffff8040000ed8:	aa1503e0 	mov	x0, x21
-ffffff8040000edc:	11000694 	add	w20, w20, #0x1
-ffffff8040000ee0:	97fffc97 	bl	ffffff804000013c <psci_call>
-ffffff8040000ee4:	7100229f 	cmp	w20, #0x8
-ffffff8040000ee8:	54ffff21 	b.ne	ffffff8040000ecc <main+0x74>  // b.any
-ffffff8040000eec:	d5033fdf 	isb
-ffffff8040000ef0:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff8040000ef4:	f2a80401 	movk	x1, #0x4020, lsl #16
-ffffff8040000ef8:	f0000140 	adrp	x0, ffffff804002b000 <gicv3>
-ffffff8040000efc:	91004000 	add	x0, x0, #0x10
-ffffff8040000f00:	97fffeec 	bl	ffffff8040000ab0 <kinit1>
-ffffff8040000f04:	94000125 	bl	ffffff8040001398 <kvminit>
-ffffff8040000f08:	94000026 	bl	ffffff8040000fa0 <kvminithart>
-ffffff8040000f0c:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff8040000f10:	f2a90001 	movk	x1, #0x4800, lsl #16
-ffffff8040000f14:	b25963e0 	mov	x0, #0xffffff8000000000    	// #-549755813888
-ffffff8040000f18:	f2a80400 	movk	x0, #0x4020, lsl #16
-ffffff8040000f1c:	97fffef4 	bl	ffffff8040000aec <kinit2>
-ffffff8040000f20:	f0000033 	adrp	x19, ffffff8040007000 <etext>
-ffffff8040000f24:	910cce73 	add	x19, x19, #0x333
-ffffff8040000f28:	97fffd42 	bl	ffffff8040000430 <consoleinit>
-ffffff8040000f2c:	97fffe18 	bl	ffffff804000078c <printfinit>
-ffffff8040000f30:	aa1303e0 	mov	x0, x19
-ffffff8040000f34:	97fffd85 	bl	ffffff8040000548 <printf>
-ffffff8040000f38:	f0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040000f3c:	9101c400 	add	x0, x0, #0x71
-ffffff8040000f40:	97fffd82 	bl	ffffff8040000548 <printf>
-ffffff8040000f44:	aa1303e0 	mov	x0, x19
-ffffff8040000f48:	97fffd80 	bl	ffffff8040000548 <printf>
-ffffff8040000f4c:	940002d2 	bl	ffffff8040001a94 <procinit>
-ffffff8040000f50:	940005a0 	bl	ffffff80400025d0 <trapinit>
-ffffff8040000f54:	940005a4 	bl	ffffff80400025e4 <trapinithart>
-ffffff8040000f58:	94001616 	bl	ffffff80400067b0 <gicv3init>
-ffffff8040000f5c:	9400164d 	bl	ffffff8040006890 <gicv3inithart>
-ffffff8040000f60:	940014bd 	bl	ffffff8040006254 <timerinit>
-ffffff8040000f64:	9400073b 	bl	ffffff8040002c50 <binit>
-ffffff8040000f68:	940008c6 	bl	ffffff8040003280 <iinit>
-ffffff8040000f6c:	94000c7d 	bl	ffffff8040004160 <fileinit>
-ffffff8040000f70:	940014e7 	bl	ffffff804000630c <virtio_disk_init>
-ffffff8040000f74:	9400035f 	bl	ffffff8040001cf0 <userinit>
-ffffff8040000f78:	d5033bbf 	dmb	ish
-ffffff8040000f7c:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000f80:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040000f84:	b9013801 	str	w1, [x0, #312]
-ffffff8040000f88:	940003d8 	bl	ffffff8040001ee8 <scheduler>
-
-ffffff8040000f8c <flush_tlb>:
-ffffff8040000f8c:	d5033a9f 	dsb	ishst
-ffffff8040000f90:	d508831f 	tlbi	vmalle1is
-ffffff8040000f94:	d5033b9f 	dsb	ish
-ffffff8040000f98:	d5033fdf 	isb
-ffffff8040000f9c:	d65f03c0 	ret
-
-ffffff8040000fa0 <kvminithart>:
-ffffff8040000fa0:	d00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040000fa4:	d2c01001 	mov	x1, #0x8000000000          	// #549755813888
-ffffff8040000fa8:	f940a000 	ldr	x0, [x0, #320]
-ffffff8040000fac:	8b010000 	add	x0, x0, x1
-ffffff8040000fb0:	d5182020 	msr	ttbr1_el1, x0
-ffffff8040000fb4:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040000fb8:	d5182000 	msr	ttbr0_el1, x0
-ffffff8040000fbc:	17fffff4 	b	ffffff8040000f8c <flush_tlb>
-
-ffffff8040000fc0 <walk>:
-ffffff8040000fc0:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff8040000fc4:	910003fd 	mov	x29, sp
-ffffff8040000fc8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040000fcc:	aa0003f3 	mov	x19, x0
-ffffff8040000fd0:	92c00800 	mov	x0, #0xffffffbfffffffff    	// #-274877906945
-ffffff8040000fd4:	eb00003f 	cmp	x1, x0
-ffffff8040000fd8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040000fdc:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040000fe0:	f90023f9 	str	x25, [sp, #64]
-ffffff8040000fe4:	540002a8 	b.hi	ffffff8040001038 <walk+0x78>  // b.pmore
-ffffff8040000fe8:	aa0103f4 	mov	x20, x1
-ffffff8040000fec:	2a0203f5 	mov	w21, w2
-ffffff8040000ff0:	528003d9 	mov	w25, #0x1e                  	// #30
-ffffff8040000ff4:	d2c01016 	mov	x22, #0x8000000000          	// #549755813888
-ffffff8040000ff8:	b25963f7 	mov	x23, #0xffffff8000000000    	// #-549755813888
-ffffff8040000ffc:	9ad92680 	lsr	x0, x20, x25
-ffffff8040001000:	d37d2000 	ubfiz	x0, x0, #3, #9
-ffffff8040001004:	8b000278 	add	x24, x19, x0
-ffffff8040001008:	f8606a73 	ldr	x19, [x19, x0]
-ffffff804000100c:	92400660 	and	x0, x19, #0x3
-ffffff8040001010:	f1000c1f 	cmp	x0, #0x3
-ffffff8040001014:	54000181 	b.ne	ffffff8040001044 <walk+0x84>  // b.any
-ffffff8040001018:	92748e73 	and	x19, x19, #0xfffffffff000
-ffffff804000101c:	8b170273 	add	x19, x19, x23
-ffffff8040001020:	51002739 	sub	w25, w25, #0x9
-ffffff8040001024:	7100333f 	cmp	w25, #0xc
-ffffff8040001028:	54fffea1 	b.ne	ffffff8040000ffc <walk+0x3c>  // b.any
-ffffff804000102c:	d34c5280 	ubfx	x0, x20, #12, #9
-ffffff8040001030:	8b000e60 	add	x0, x19, x0, lsl #3
-ffffff8040001034:	14000006 	b	ffffff804000104c <walk+0x8c>
-ffffff8040001038:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000103c:	91029000 	add	x0, x0, #0xa4
-ffffff8040001040:	97fffd30 	bl	ffffff8040000500 <panic>
-ffffff8040001044:	35000115 	cbnz	w21, ffffff8040001064 <walk+0xa4>
-ffffff8040001048:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff804000104c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001050:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001054:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040001058:	f94023f9 	ldr	x25, [sp, #64]
-ffffff804000105c:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040001060:	d65f03c0 	ret
-ffffff8040001064:	97fffea3 	bl	ffffff8040000af0 <kalloc>
-ffffff8040001068:	aa0003f3 	mov	x19, x0
-ffffff804000106c:	b4fffee0 	cbz	x0, ffffff8040001048 <walk+0x88>
-ffffff8040001070:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff8040001074:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040001078:	97ffff1c 	bl	ffffff8040000ce8 <memset>
-ffffff804000107c:	8b160260 	add	x0, x19, x22
-ffffff8040001080:	92748c00 	and	x0, x0, #0xfffffffff000
-ffffff8040001084:	b2400400 	orr	x0, x0, #0x3
-ffffff8040001088:	f9000300 	str	x0, [x24]
-ffffff804000108c:	17ffffe5 	b	ffffff8040001020 <walk+0x60>
-
-ffffff8040001090 <uvmunmap.part.0>:
-ffffff8040001090:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040001094:	910003fd 	mov	x29, sp
-ffffff8040001098:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000109c:	8b023035 	add	x21, x1, x2, lsl #12
-ffffff80400010a0:	aa0003f6 	mov	x22, x0
-ffffff80400010a4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400010a8:	aa0103f3 	mov	x19, x1
-ffffff80400010ac:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400010b0:	2a0303f7 	mov	w23, w3
-ffffff80400010b4:	b25963f8 	mov	x24, #0xffffff8000000000    	// #-549755813888
-ffffff80400010b8:	eb15027f 	cmp	x19, x21
-ffffff80400010bc:	540000c3 	b.cc	ffffff80400010d4 <uvmunmap.part.0+0x44>  // b.lo, b.ul, b.last
-ffffff80400010c0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400010c4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400010c8:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400010cc:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400010d0:	d65f03c0 	ret
-ffffff80400010d4:	52800002 	mov	w2, #0x0                   	// #0
-ffffff80400010d8:	aa1303e1 	mov	x1, x19
-ffffff80400010dc:	aa1603e0 	mov	x0, x22
-ffffff80400010e0:	97ffffb8 	bl	ffffff8040000fc0 <walk>
-ffffff80400010e4:	aa0003f4 	mov	x20, x0
-ffffff80400010e8:	b5000080 	cbnz	x0, ffffff80400010f8 <uvmunmap.part.0+0x68>
-ffffff80400010ec:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400010f0:	91026800 	add	x0, x0, #0x9a
-ffffff80400010f4:	97fffd03 	bl	ffffff8040000500 <panic>
-ffffff80400010f8:	f9400001 	ldr	x1, [x0]
-ffffff80400010fc:	92400420 	and	x0, x1, #0x3
-ffffff8040001100:	f1000c1f 	cmp	x0, #0x3
-ffffff8040001104:	54000080 	b.eq	ffffff8040001114 <uvmunmap.part.0+0x84>  // b.none
-ffffff8040001108:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000110c:	9102a400 	add	x0, x0, #0xa9
-ffffff8040001110:	17fffff9 	b	ffffff80400010f4 <uvmunmap.part.0+0x64>
-ffffff8040001114:	37500081 	tbnz	w1, #10, ffffff8040001124 <uvmunmap.part.0+0x94>
-ffffff8040001118:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000111c:	9102f800 	add	x0, x0, #0xbe
-ffffff8040001120:	17fffff5 	b	ffffff80400010f4 <uvmunmap.part.0+0x64>
-ffffff8040001124:	34000097 	cbz	w23, ffffff8040001134 <uvmunmap.part.0+0xa4>
-ffffff8040001128:	92748c21 	and	x1, x1, #0xfffffffff000
-ffffff804000112c:	8b180020 	add	x0, x1, x24
-ffffff8040001130:	97fffe32 	bl	ffffff80400009f8 <kfree>
-ffffff8040001134:	91400673 	add	x19, x19, #0x1, lsl #12
-ffffff8040001138:	f900029f 	str	xzr, [x20]
-ffffff804000113c:	17ffffdf 	b	ffffff80400010b8 <uvmunmap.part.0+0x28>
-
-ffffff8040001140 <uva2ka>:
-ffffff8040001140:	92c00802 	mov	x2, #0xffffffbfffffffff    	// #-274877906945
-ffffff8040001144:	eb02003f 	cmp	x1, x2
-ffffff8040001148:	540000c9 	b.ls	ffffff8040001160 <uva2ka+0x20>  // b.plast
-ffffff804000114c:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040001150:	d65f03c0 	ret
-ffffff8040001154:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040001158:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff804000115c:	d65f03c0 	ret
-ffffff8040001160:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040001164:	52800002 	mov	w2, #0x0                   	// #0
-ffffff8040001168:	910003fd 	mov	x29, sp
-ffffff804000116c:	97ffff95 	bl	ffffff8040000fc0 <walk>
-ffffff8040001170:	b4ffff20 	cbz	x0, ffffff8040001154 <uva2ka+0x14>
-ffffff8040001174:	f9400000 	ldr	x0, [x0]
-ffffff8040001178:	92400401 	and	x1, x0, #0x3
-ffffff804000117c:	f1000c3f 	cmp	x1, #0x3
-ffffff8040001180:	54fffea1 	b.ne	ffffff8040001154 <uva2ka+0x14>  // b.any
-ffffff8040001184:	d2808801 	mov	x1, #0x440                 	// #1088
-ffffff8040001188:	8a010001 	and	x1, x0, x1
-ffffff804000118c:	f111003f 	cmp	x1, #0x440
-ffffff8040001190:	54fffe21 	b.ne	ffffff8040001154 <uva2ka+0x14>  // b.any
-ffffff8040001194:	f2748c00 	ands	x0, x0, #0xfffffffff000
-ffffff8040001198:	54fffde0 	b.eq	ffffff8040001154 <uva2ka+0x14>  // b.none
-ffffff804000119c:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff80400011a0:	8b010000 	add	x0, x0, x1
-ffffff80400011a4:	17ffffed 	b	ffffff8040001158 <uva2ka+0x18>
-
-ffffff80400011a8 <mappages>:
-ffffff80400011a8:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff80400011ac:	910003fd 	mov	x29, sp
-ffffff80400011b0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400011b4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400011b8:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400011bc:	f90023f9 	str	x25, [sp, #64]
-ffffff80400011c0:	b5000082 	cbnz	x2, ffffff80400011d0 <mappages+0x28>
-ffffff80400011c4:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400011c8:	91034c00 	add	x0, x0, #0xd3
-ffffff80400011cc:	97fffccd 	bl	ffffff8040000500 <panic>
-ffffff80400011d0:	aa0003f7 	mov	x23, x0
-ffffff80400011d4:	12b70000 	mov	w0, #0x47ffffff            	// #1207959551
-ffffff80400011d8:	eb00007f 	cmp	x3, x0
-ffffff80400011dc:	54000089 	b.ls	ffffff80400011ec <mappages+0x44>  // b.plast
-ffffff80400011e0:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400011e4:	91038800 	add	x0, x0, #0xe2
-ffffff80400011e8:	17fffff9 	b	ffffff80400011cc <mappages+0x24>
-ffffff80400011ec:	d1000436 	sub	x22, x1, #0x1
-ffffff80400011f0:	9274cc33 	and	x19, x1, #0xfffffffffffff000
-ffffff80400011f4:	8b0202d6 	add	x22, x22, x2
-ffffff80400011f8:	aa0403f8 	mov	x24, x4
-ffffff80400011fc:	9274ced6 	and	x22, x22, #0xfffffffffffff000
-ffffff8040001200:	cb130075 	sub	x21, x3, x19
-ffffff8040001204:	d2808079 	mov	x25, #0x403                 	// #1027
-ffffff8040001208:	52800022 	mov	w2, #0x1                   	// #1
-ffffff804000120c:	aa1303e1 	mov	x1, x19
-ffffff8040001210:	aa1703e0 	mov	x0, x23
-ffffff8040001214:	8b1302b4 	add	x20, x21, x19
-ffffff8040001218:	97ffff6a 	bl	ffffff8040000fc0 <walk>
-ffffff804000121c:	b40001c0 	cbz	x0, ffffff8040001254 <mappages+0xac>
-ffffff8040001220:	f9400001 	ldr	x1, [x0]
-ffffff8040001224:	36500081 	tbz	w1, #10, ffffff8040001234 <mappages+0x8c>
-ffffff8040001228:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000122c:	91039400 	add	x0, x0, #0xe5
-ffffff8040001230:	17ffffe7 	b	ffffff80400011cc <mappages+0x24>
-ffffff8040001234:	92748e94 	and	x20, x20, #0xfffffffff000
-ffffff8040001238:	eb16027f 	cmp	x19, x22
-ffffff804000123c:	aa180294 	orr	x20, x20, x24
-ffffff8040001240:	aa190294 	orr	x20, x20, x25
-ffffff8040001244:	f9000014 	str	x20, [x0]
-ffffff8040001248:	54000140 	b.eq	ffffff8040001270 <mappages+0xc8>  // b.none
-ffffff804000124c:	91400673 	add	x19, x19, #0x1, lsl #12
-ffffff8040001250:	17ffffee 	b	ffffff8040001208 <mappages+0x60>
-ffffff8040001254:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040001258:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000125c:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001260:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040001264:	f94023f9 	ldr	x25, [sp, #64]
-ffffff8040001268:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff804000126c:	d65f03c0 	ret
-ffffff8040001270:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040001274:	17fffff9 	b	ffffff8040001258 <mappages+0xb0>
-
-ffffff8040001278 <kvmmap>:
-ffffff8040001278:	aa0203e5 	mov	x5, x2
-ffffff804000127c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040001280:	aa0303e2 	mov	x2, x3
-ffffff8040001284:	910003fd 	mov	x29, sp
-ffffff8040001288:	aa0503e3 	mov	x3, x5
-ffffff804000128c:	97ffffc7 	bl	ffffff80400011a8 <mappages>
-ffffff8040001290:	34000080 	cbz	w0, ffffff80400012a0 <kvmmap+0x28>
-ffffff8040001294:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001298:	9103d400 	add	x0, x0, #0xf5
-ffffff804000129c:	97fffc99 	bl	ffffff8040000500 <panic>
-ffffff80400012a0:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff80400012a4:	d65f03c0 	ret
-
-ffffff80400012a8 <kvmmake>:
-ffffff80400012a8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400012ac:	910003fd 	mov	x29, sp
-ffffff80400012b0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400012b4:	d0000034 	adrp	x20, ffffff8040007000 <etext>
-ffffff80400012b8:	91000294 	add	x20, x20, #0x0
-ffffff80400012bc:	97fffe0d 	bl	ffffff8040000af0 <kalloc>
-ffffff80400012c0:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff80400012c4:	52800001 	mov	w1, #0x0                   	// #0
-ffffff80400012c8:	aa0003f3 	mov	x19, x0
-ffffff80400012cc:	97fffe87 	bl	ffffff8040000ce8 <memset>
-ffffff80400012d0:	aa1303e0 	mov	x0, x19
-ffffff80400012d4:	d2e00c04 	mov	x4, #0x60000000000000      	// #27021597764222976
-ffffff80400012d8:	d2820003 	mov	x3, #0x1000                	// #4096
-ffffff80400012dc:	d2a12002 	mov	x2, #0x9000000             	// #150994944
-ffffff80400012e0:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff80400012e4:	f2a12001 	movk	x1, #0x900, lsl #16
-ffffff80400012e8:	97ffffe4 	bl	ffffff8040001278 <kvmmap>
-ffffff80400012ec:	aa1303e0 	mov	x0, x19
-ffffff80400012f0:	d2e00c04 	mov	x4, #0x60000000000000      	// #27021597764222976
-ffffff80400012f4:	d2820003 	mov	x3, #0x1000                	// #4096
-ffffff80400012f8:	d2a14002 	mov	x2, #0xa000000             	// #167772160
-ffffff80400012fc:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff8040001300:	f2a14001 	movk	x1, #0xa00, lsl #16
-ffffff8040001304:	97ffffdd 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001308:	aa1303e0 	mov	x0, x19
-ffffff804000130c:	d2e00c04 	mov	x4, #0x60000000000000      	// #27021597764222976
-ffffff8040001310:	d2a00023 	mov	x3, #0x10000               	// #65536
-ffffff8040001314:	d2a10002 	mov	x2, #0x8000000             	// #134217728
-ffffff8040001318:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff804000131c:	f2a10001 	movk	x1, #0x800, lsl #16
-ffffff8040001320:	97ffffd6 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001324:	aa1303e0 	mov	x0, x19
-ffffff8040001328:	d2e00c04 	mov	x4, #0x60000000000000      	// #27021597764222976
-ffffff804000132c:	d2a01ec3 	mov	x3, #0xf60000              	// #16121856
-ffffff8040001330:	d2a10142 	mov	x2, #0x80a0000             	// #134873088
-ffffff8040001334:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff8040001338:	f2a10141 	movk	x1, #0x80a, lsl #16
-ffffff804000133c:	97ffffcf 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001340:	b26223e3 	mov	x3, #0x7fc0000000          	// #548682072064
-ffffff8040001344:	aa1303e0 	mov	x0, x19
-ffffff8040001348:	8b030283 	add	x3, x20, x3
-ffffff804000134c:	d2801084 	mov	x4, #0x84                  	// #132
-ffffff8040001350:	d2a80002 	mov	x2, #0x40000000            	// #1073741824
-ffffff8040001354:	b25963e1 	mov	x1, #0xffffff8000000000    	// #-549755813888
-ffffff8040001358:	f2a80001 	movk	x1, #0x4000, lsl #16
-ffffff804000135c:	97ffffc7 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001360:	d2800084 	mov	x4, #0x4                   	// #4
-ffffff8040001364:	b25963e3 	mov	x3, #0xffffff8000000000    	// #-549755813888
-ffffff8040001368:	f2a90003 	movk	x3, #0x4800, lsl #16
-ffffff804000136c:	d2c01002 	mov	x2, #0x8000000000          	// #549755813888
-ffffff8040001370:	cb140063 	sub	x3, x3, x20
-ffffff8040001374:	8b020282 	add	x2, x20, x2
-ffffff8040001378:	aa1403e1 	mov	x1, x20
-ffffff804000137c:	aa1303e0 	mov	x0, x19
-ffffff8040001380:	f2e00c04 	movk	x4, #0x60, lsl #48
-ffffff8040001384:	97ffffbd 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001388:	aa1303e0 	mov	x0, x19
-ffffff804000138c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001390:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001394:	d65f03c0 	ret
-
-ffffff8040001398 <kvminit>:
-ffffff8040001398:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff804000139c:	910003fd 	mov	x29, sp
-ffffff80400013a0:	97ffffc2 	bl	ffffff80400012a8 <kvmmake>
-ffffff80400013a4:	b00000a1 	adrp	x1, ffffff8040016000 <cons>
-ffffff80400013a8:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff80400013ac:	f900a020 	str	x0, [x1, #320]
-ffffff80400013b0:	d65f03c0 	ret
-
-ffffff80400013b4 <uvmunmap>:
-ffffff80400013b4:	f2402c3f 	tst	x1, #0xfff
-ffffff80400013b8:	540000c0 	b.eq	ffffff80400013d0 <uvmunmap+0x1c>  // b.none
-ffffff80400013bc:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff80400013c0:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400013c4:	9103f000 	add	x0, x0, #0xfc
-ffffff80400013c8:	910003fd 	mov	x29, sp
-ffffff80400013cc:	97fffc4d 	bl	ffffff8040000500 <panic>
-ffffff80400013d0:	17ffff30 	b	ffffff8040001090 <uvmunmap.part.0>
-
-ffffff80400013d4 <uvmcreate>:
-ffffff80400013d4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400013d8:	910003fd 	mov	x29, sp
-ffffff80400013dc:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400013e0:	97fffdc4 	bl	ffffff8040000af0 <kalloc>
-ffffff80400013e4:	aa0003f3 	mov	x19, x0
-ffffff80400013e8:	b4000080 	cbz	x0, ffffff80400013f8 <uvmcreate+0x24>
-ffffff80400013ec:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff80400013f0:	52800001 	mov	w1, #0x0                   	// #0
-ffffff80400013f4:	97fffe3d 	bl	ffffff8040000ce8 <memset>
-ffffff80400013f8:	aa1303e0 	mov	x0, x19
-ffffff80400013fc:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040001400:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001404:	d65f03c0 	ret
-
-ffffff8040001408 <uvminit>:
-ffffff8040001408:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff804000140c:	910003fd 	mov	x29, sp
-ffffff8040001410:	713ffc5f 	cmp	w2, #0xfff
-ffffff8040001414:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001418:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000141c:	54000089 	b.ls	ffffff804000142c <uvminit+0x24>  // b.plast
-ffffff8040001420:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001424:	91044800 	add	x0, x0, #0x112
-ffffff8040001428:	97fffc36 	bl	ffffff8040000500 <panic>
-ffffff804000142c:	aa0103f5 	mov	x21, x1
-ffffff8040001430:	2a0203f4 	mov	w20, w2
-ffffff8040001434:	aa0003f6 	mov	x22, x0
-ffffff8040001438:	97fffdae 	bl	ffffff8040000af0 <kalloc>
-ffffff804000143c:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff8040001440:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040001444:	aa0003f3 	mov	x19, x0
-ffffff8040001448:	97fffe28 	bl	ffffff8040000ce8 <memset>
-ffffff804000144c:	d2c01003 	mov	x3, #0x8000000000          	// #549755813888
-ffffff8040001450:	d2800884 	mov	x4, #0x44                  	// #68
-ffffff8040001454:	8b030263 	add	x3, x19, x3
-ffffff8040001458:	d2820002 	mov	x2, #0x1000                	// #4096
-ffffff804000145c:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040001460:	aa1603e0 	mov	x0, x22
-ffffff8040001464:	97ffff51 	bl	ffffff80400011a8 <mappages>
-ffffff8040001468:	2a1403e2 	mov	w2, w20
-ffffff804000146c:	aa1503e1 	mov	x1, x21
-ffffff8040001470:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001474:	aa1303e0 	mov	x0, x19
-ffffff8040001478:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000147c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040001480:	17fffe2f 	b	ffffff8040000d3c <memmove>
-
-ffffff8040001484 <switchuvm>:
-ffffff8040001484:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040001488:	910003fd 	mov	x29, sp
-ffffff804000148c:	b5000080 	cbnz	x0, ffffff804000149c <switchuvm+0x18>
-ffffff8040001490:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001494:	9104b000 	add	x0, x0, #0x12c
-ffffff8040001498:	97fffc1a 	bl	ffffff8040000500 <panic>
-ffffff804000149c:	f9402800 	ldr	x0, [x0, #80]
-ffffff80400014a0:	b5000080 	cbnz	x0, ffffff80400014b0 <switchuvm+0x2c>
-ffffff80400014a4:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400014a8:	91050800 	add	x0, x0, #0x142
-ffffff80400014ac:	17fffffb 	b	ffffff8040001498 <switchuvm+0x14>
-ffffff80400014b0:	d2c01001 	mov	x1, #0x8000000000          	// #549755813888
-ffffff80400014b4:	8b010000 	add	x0, x0, x1
-ffffff80400014b8:	d5182000 	msr	ttbr0_el1, x0
-ffffff80400014bc:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff80400014c0:	17fffeb3 	b	ffffff8040000f8c <flush_tlb>
-
-ffffff80400014c4 <switchkvm>:
-ffffff80400014c4:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff80400014c8:	d5182000 	msr	ttbr0_el1, x0
-ffffff80400014cc:	17fffeb0 	b	ffffff8040000f8c <flush_tlb>
-
-ffffff80400014d0 <uvmdealloc>:
-ffffff80400014d0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400014d4:	910003fd 	mov	x29, sp
-ffffff80400014d8:	eb01005f 	cmp	x2, x1
-ffffff80400014dc:	aa0103e3 	mov	x3, x1
-ffffff80400014e0:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400014e4:	54000202 	b.cs	ffffff8040001524 <uvmdealloc+0x54>  // b.hs, b.nlast
-ffffff80400014e8:	913ffc41 	add	x1, x2, #0xfff
-ffffff80400014ec:	913ffc63 	add	x3, x3, #0xfff
-ffffff80400014f0:	9274cc21 	and	x1, x1, #0xfffffffffffff000
-ffffff80400014f4:	9274cc63 	and	x3, x3, #0xfffffffffffff000
-ffffff80400014f8:	eb03003f 	cmp	x1, x3
-ffffff80400014fc:	aa0203f3 	mov	x19, x2
-ffffff8040001500:	540000a2 	b.cs	ffffff8040001514 <uvmdealloc+0x44>  // b.hs, b.nlast
-ffffff8040001504:	cb010062 	sub	x2, x3, x1
-ffffff8040001508:	52800023 	mov	w3, #0x1                   	// #1
-ffffff804000150c:	934cac42 	sbfx	x2, x2, #12, #32
-ffffff8040001510:	97ffffa9 	bl	ffffff80400013b4 <uvmunmap>
-ffffff8040001514:	aa1303e0 	mov	x0, x19
-ffffff8040001518:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff804000151c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001520:	d65f03c0 	ret
-ffffff8040001524:	aa0103f3 	mov	x19, x1
-ffffff8040001528:	17fffffb 	b	ffffff8040001514 <uvmdealloc+0x44>
-
-ffffff804000152c <uvmalloc>:
-ffffff804000152c:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040001530:	910003fd 	mov	x29, sp
-ffffff8040001534:	eb01005f 	cmp	x2, x1
-ffffff8040001538:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000153c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001540:	aa0003f6 	mov	x22, x0
-ffffff8040001544:	aa0103e0 	mov	x0, x1
-ffffff8040001548:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff804000154c:	54000243 	b.cc	ffffff8040001594 <uvmalloc+0x68>  // b.lo, b.ul, b.last
-ffffff8040001550:	913ffc33 	add	x19, x1, #0xfff
-ffffff8040001554:	aa0203f5 	mov	x21, x2
-ffffff8040001558:	9274ce73 	and	x19, x19, #0xfffffffffffff000
-ffffff804000155c:	d2c01018 	mov	x24, #0x8000000000          	// #549755813888
-ffffff8040001560:	aa1303f4 	mov	x20, x19
-ffffff8040001564:	eb15029f 	cmp	x20, x21
-ffffff8040001568:	54000063 	b.cc	ffffff8040001574 <uvmalloc+0x48>  // b.lo, b.ul, b.last
-ffffff804000156c:	aa1503e0 	mov	x0, x21
-ffffff8040001570:	14000009 	b	ffffff8040001594 <uvmalloc+0x68>
-ffffff8040001574:	97fffd5f 	bl	ffffff8040000af0 <kalloc>
-ffffff8040001578:	aa0003f7 	mov	x23, x0
-ffffff804000157c:	b5000160 	cbnz	x0, ffffff80400015a8 <uvmalloc+0x7c>
-ffffff8040001580:	aa1303e2 	mov	x2, x19
-ffffff8040001584:	aa1403e1 	mov	x1, x20
-ffffff8040001588:	aa1603e0 	mov	x0, x22
-ffffff804000158c:	97ffffd1 	bl	ffffff80400014d0 <uvmdealloc>
-ffffff8040001590:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040001594:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001598:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000159c:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400015a0:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400015a4:	d65f03c0 	ret
-ffffff80400015a8:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff80400015ac:	52800001 	mov	w1, #0x0                   	// #0
-ffffff80400015b0:	97fffdce 	bl	ffffff8040000ce8 <memset>
-ffffff80400015b4:	d2800884 	mov	x4, #0x44                  	// #68
-ffffff80400015b8:	8b1802e3 	add	x3, x23, x24
-ffffff80400015bc:	d2820002 	mov	x2, #0x1000                	// #4096
-ffffff80400015c0:	aa1403e1 	mov	x1, x20
-ffffff80400015c4:	aa1603e0 	mov	x0, x22
-ffffff80400015c8:	97fffef8 	bl	ffffff80400011a8 <mappages>
-ffffff80400015cc:	34000080 	cbz	w0, ffffff80400015dc <uvmalloc+0xb0>
-ffffff80400015d0:	aa1703e0 	mov	x0, x23
-ffffff80400015d4:	97fffd09 	bl	ffffff80400009f8 <kfree>
-ffffff80400015d8:	17ffffea 	b	ffffff8040001580 <uvmalloc+0x54>
-ffffff80400015dc:	91400694 	add	x20, x20, #0x1, lsl #12
-ffffff80400015e0:	17ffffe1 	b	ffffff8040001564 <uvmalloc+0x38>
-
-ffffff80400015e4 <freewalk>:
-ffffff80400015e4:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff80400015e8:	910003fd 	mov	x29, sp
-ffffff80400015ec:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400015f0:	aa0003f3 	mov	x19, x0
-ffffff80400015f4:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff80400015f8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400015fc:	d2808075 	mov	x21, #0x403                 	// #1027
-ffffff8040001600:	b25963f6 	mov	x22, #0xffffff8000000000    	// #-549755813888
-ffffff8040001604:	f8747a60 	ldr	x0, [x19, x20, lsl #3]
-ffffff8040001608:	8a150001 	and	x1, x0, x21
-ffffff804000160c:	f1000c3f 	cmp	x1, #0x3
-ffffff8040001610:	540000a1 	b.ne	ffffff8040001624 <freewalk+0x40>  // b.any
-ffffff8040001614:	92748c00 	and	x0, x0, #0xfffffffff000
-ffffff8040001618:	8b160000 	add	x0, x0, x22
-ffffff804000161c:	97fffff2 	bl	ffffff80400015e4 <freewalk>
-ffffff8040001620:	f8347a7f 	str	xzr, [x19, x20, lsl #3]
-ffffff8040001624:	91000694 	add	x20, x20, #0x1
-ffffff8040001628:	f108029f 	cmp	x20, #0x200
-ffffff804000162c:	54fffec1 	b.ne	ffffff8040001604 <freewalk+0x20>  // b.any
-ffffff8040001630:	aa1303e0 	mov	x0, x19
-ffffff8040001634:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001638:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000163c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040001640:	17fffcee 	b	ffffff80400009f8 <kfree>
-
-ffffff8040001644 <uvmfree>:
-ffffff8040001644:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001648:	910003fd 	mov	x29, sp
-ffffff804000164c:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040001650:	aa0003f3 	mov	x19, x0
-ffffff8040001654:	b40000c1 	cbz	x1, ffffff804000166c <uvmfree+0x28>
-ffffff8040001658:	913ffc21 	add	x1, x1, #0xfff
-ffffff804000165c:	52800023 	mov	w3, #0x1                   	// #1
-ffffff8040001660:	d34cfc22 	lsr	x2, x1, #12
-ffffff8040001664:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040001668:	97fffe8a 	bl	ffffff8040001090 <uvmunmap.part.0>
-ffffff804000166c:	aa1303e0 	mov	x0, x19
-ffffff8040001670:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040001674:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001678:	17ffffdb 	b	ffffff80400015e4 <freewalk>
-
-ffffff804000167c <uvmcopy>:
-ffffff804000167c:	a9ba7bfd 	stp	x29, x30, [sp, #-96]!
-ffffff8040001680:	910003fd 	mov	x29, sp
-ffffff8040001684:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040001688:	d2807ff8 	mov	x24, #0x3ff                 	// #1023
-ffffff804000168c:	aa0003f7 	mov	x23, x0
-ffffff8040001690:	f2e00c18 	movk	x24, #0x60, lsl #48
-ffffff8040001694:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001698:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff804000169c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400016a0:	aa0103f5 	mov	x21, x1
-ffffff80400016a4:	aa0203f6 	mov	x22, x2
-ffffff80400016a8:	a9046bf9 	stp	x25, x26, [sp, #64]
-ffffff80400016ac:	b25963f9 	mov	x25, #0xffffff8000000000    	// #-549755813888
-ffffff80400016b0:	d2c0101a 	mov	x26, #0x8000000000          	// #549755813888
-ffffff80400016b4:	a90573fb 	stp	x27, x28, [sp, #80]
-ffffff80400016b8:	eb16027f 	cmp	x19, x22
-ffffff80400016bc:	54000123 	b.cc	ffffff80400016e0 <uvmcopy+0x64>  // b.lo, b.ul, b.last
-ffffff80400016c0:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400016c4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400016c8:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400016cc:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400016d0:	a9446bf9 	ldp	x25, x26, [sp, #64]
-ffffff80400016d4:	a94573fb 	ldp	x27, x28, [sp, #80]
-ffffff80400016d8:	a8c67bfd 	ldp	x29, x30, [sp], #96
-ffffff80400016dc:	d65f03c0 	ret
-ffffff80400016e0:	52800002 	mov	w2, #0x0                   	// #0
-ffffff80400016e4:	aa1303e1 	mov	x1, x19
-ffffff80400016e8:	aa1703e0 	mov	x0, x23
-ffffff80400016ec:	97fffe35 	bl	ffffff8040000fc0 <walk>
-ffffff80400016f0:	b5000080 	cbnz	x0, ffffff8040001700 <uvmcopy+0x84>
-ffffff80400016f4:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400016f8:	91056800 	add	x0, x0, #0x15a
-ffffff80400016fc:	97fffb81 	bl	ffffff8040000500 <panic>
-ffffff8040001700:	f9400004 	ldr	x4, [x0]
-ffffff8040001704:	37500084 	tbnz	w4, #10, ffffff8040001714 <uvmcopy+0x98>
-ffffff8040001708:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000170c:	9105d000 	add	x0, x0, #0x174
-ffffff8040001710:	17fffffb 	b	ffffff80400016fc <uvmcopy+0x80>
-ffffff8040001714:	92748c9c 	and	x28, x4, #0xfffffffff000
-ffffff8040001718:	8a18009b 	and	x27, x4, x24
-ffffff804000171c:	97fffcf5 	bl	ffffff8040000af0 <kalloc>
-ffffff8040001720:	aa0003f4 	mov	x20, x0
-ffffff8040001724:	b40001a0 	cbz	x0, ffffff8040001758 <uvmcopy+0xdc>
-ffffff8040001728:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff804000172c:	8b190381 	add	x1, x28, x25
-ffffff8040001730:	97fffd83 	bl	ffffff8040000d3c <memmove>
-ffffff8040001734:	aa1b03e4 	mov	x4, x27
-ffffff8040001738:	8b1a0283 	add	x3, x20, x26
-ffffff804000173c:	d2820002 	mov	x2, #0x1000                	// #4096
-ffffff8040001740:	aa1303e1 	mov	x1, x19
-ffffff8040001744:	aa1503e0 	mov	x0, x21
-ffffff8040001748:	97fffe98 	bl	ffffff80400011a8 <mappages>
-ffffff804000174c:	34000140 	cbz	w0, ffffff8040001774 <uvmcopy+0xf8>
-ffffff8040001750:	aa1403e0 	mov	x0, x20
-ffffff8040001754:	97fffca9 	bl	ffffff80400009f8 <kfree>
-ffffff8040001758:	aa1503e0 	mov	x0, x21
-ffffff804000175c:	52800023 	mov	w3, #0x1                   	// #1
-ffffff8040001760:	d34cfe62 	lsr	x2, x19, #12
-ffffff8040001764:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040001768:	97fffe4a 	bl	ffffff8040001090 <uvmunmap.part.0>
-ffffff804000176c:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040001770:	17ffffd5 	b	ffffff80400016c4 <uvmcopy+0x48>
-ffffff8040001774:	91400673 	add	x19, x19, #0x1, lsl #12
-ffffff8040001778:	17ffffd0 	b	ffffff80400016b8 <uvmcopy+0x3c>
-
-ffffff804000177c <uvmclear>:
-ffffff804000177c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040001780:	52800002 	mov	w2, #0x0                   	// #0
-ffffff8040001784:	910003fd 	mov	x29, sp
-ffffff8040001788:	97fffe0e 	bl	ffffff8040000fc0 <walk>
-ffffff804000178c:	b5000080 	cbnz	x0, ffffff804000179c <uvmclear+0x20>
-ffffff8040001790:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001794:	91063800 	add	x0, x0, #0x18e
-ffffff8040001798:	97fffb5a 	bl	ffffff8040000500 <panic>
-ffffff804000179c:	f9400001 	ldr	x1, [x0]
-ffffff80400017a0:	9279f821 	and	x1, x1, #0xffffffffffffffbf
-ffffff80400017a4:	f9000001 	str	x1, [x0]
-ffffff80400017a8:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff80400017ac:	d65f03c0 	ret
-
-ffffff80400017b0 <copyout>:
-ffffff80400017b0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff80400017b4:	910003fd 	mov	x29, sp
-ffffff80400017b8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400017bc:	aa0103f3 	mov	x19, x1
-ffffff80400017c0:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400017c4:	aa0203f6 	mov	x22, x2
-ffffff80400017c8:	aa0303f5 	mov	x21, x3
-ffffff80400017cc:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400017d0:	aa0003f7 	mov	x23, x0
-ffffff80400017d4:	b50000f5 	cbnz	x21, ffffff80400017f0 <copyout+0x40>
-ffffff80400017d8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400017dc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400017e0:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400017e4:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400017e8:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400017ec:	d65f03c0 	ret
-ffffff80400017f0:	9274ce78 	and	x24, x19, #0xfffffffffffff000
-ffffff80400017f4:	aa1703e0 	mov	x0, x23
-ffffff80400017f8:	aa1803e1 	mov	x1, x24
-ffffff80400017fc:	97fffe51 	bl	ffffff8040001140 <uva2ka>
-ffffff8040001800:	b40001c0 	cbz	x0, ffffff8040001838 <copyout+0x88>
-ffffff8040001804:	cb130314 	sub	x20, x24, x19
-ffffff8040001808:	cb180273 	sub	x19, x19, x24
-ffffff804000180c:	91400694 	add	x20, x20, #0x1, lsl #12
-ffffff8040001810:	aa1603e1 	mov	x1, x22
-ffffff8040001814:	eb15029f 	cmp	x20, x21
-ffffff8040001818:	8b000260 	add	x0, x19, x0
-ffffff804000181c:	9a959294 	csel	x20, x20, x21, ls  // ls = plast
-ffffff8040001820:	2a1403e2 	mov	w2, w20
-ffffff8040001824:	cb1402b5 	sub	x21, x21, x20
-ffffff8040001828:	8b1402d6 	add	x22, x22, x20
-ffffff804000182c:	91400713 	add	x19, x24, #0x1, lsl #12
-ffffff8040001830:	97fffd43 	bl	ffffff8040000d3c <memmove>
-ffffff8040001834:	17ffffe8 	b	ffffff80400017d4 <copyout+0x24>
-ffffff8040001838:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff804000183c:	17ffffe8 	b	ffffff80400017dc <copyout+0x2c>
-
-ffffff8040001840 <copyin>:
-ffffff8040001840:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040001844:	910003fd 	mov	x29, sp
-ffffff8040001848:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000184c:	aa0203f3 	mov	x19, x2
-ffffff8040001850:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001854:	aa0103f6 	mov	x22, x1
-ffffff8040001858:	aa0303f5 	mov	x21, x3
-ffffff804000185c:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040001860:	aa0003f7 	mov	x23, x0
-ffffff8040001864:	b50000f5 	cbnz	x21, ffffff8040001880 <copyin+0x40>
-ffffff8040001868:	52800000 	mov	w0, #0x0                   	// #0
-ffffff804000186c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001870:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001874:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040001878:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff804000187c:	d65f03c0 	ret
-ffffff8040001880:	9274ce78 	and	x24, x19, #0xfffffffffffff000
-ffffff8040001884:	aa1703e0 	mov	x0, x23
-ffffff8040001888:	aa1803e1 	mov	x1, x24
-ffffff804000188c:	97fffe2d 	bl	ffffff8040001140 <uva2ka>
-ffffff8040001890:	b40001c0 	cbz	x0, ffffff80400018c8 <copyin+0x88>
-ffffff8040001894:	cb130314 	sub	x20, x24, x19
-ffffff8040001898:	cb180273 	sub	x19, x19, x24
-ffffff804000189c:	91400694 	add	x20, x20, #0x1, lsl #12
-ffffff80400018a0:	8b000261 	add	x1, x19, x0
-ffffff80400018a4:	eb15029f 	cmp	x20, x21
-ffffff80400018a8:	aa1603e0 	mov	x0, x22
-ffffff80400018ac:	9a959294 	csel	x20, x20, x21, ls  // ls = plast
-ffffff80400018b0:	2a1403e2 	mov	w2, w20
-ffffff80400018b4:	cb1402b5 	sub	x21, x21, x20
-ffffff80400018b8:	8b1402d6 	add	x22, x22, x20
-ffffff80400018bc:	91400713 	add	x19, x24, #0x1, lsl #12
-ffffff80400018c0:	97fffd1f 	bl	ffffff8040000d3c <memmove>
-ffffff80400018c4:	17ffffe8 	b	ffffff8040001864 <copyin+0x24>
-ffffff80400018c8:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff80400018cc:	17ffffe8 	b	ffffff804000186c <copyin+0x2c>
-
-ffffff80400018d0 <copyinstr>:
-ffffff80400018d0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff80400018d4:	910003fd 	mov	x29, sp
-ffffff80400018d8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400018dc:	aa0203f3 	mov	x19, x2
-ffffff80400018e0:	aa0303f4 	mov	x20, x3
-ffffff80400018e4:	52800002 	mov	w2, #0x0                   	// #0
-ffffff80400018e8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400018ec:	aa0103f5 	mov	x21, x1
-ffffff80400018f0:	f9001bf7 	str	x23, [sp, #48]
-ffffff80400018f4:	aa0003f7 	mov	x23, x0
-ffffff80400018f8:	f100029f 	cmp	x20, #0x0
-ffffff80400018fc:	52000041 	eor	w1, w2, #0x1
-ffffff8040001900:	1a9f07e0 	cset	w0, ne  // ne = any
-ffffff8040001904:	6a01001f 	tst	w0, w1
-ffffff8040001908:	540000e1 	b.ne	ffffff8040001924 <copyinstr+0x54>  // b.any
-ffffff804000190c:	51000440 	sub	w0, w2, #0x1
-ffffff8040001910:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001914:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001918:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff804000191c:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040001920:	d65f03c0 	ret
-ffffff8040001924:	9274ce76 	and	x22, x19, #0xfffffffffffff000
-ffffff8040001928:	aa1703e0 	mov	x0, x23
-ffffff804000192c:	aa1603e1 	mov	x1, x22
-ffffff8040001930:	97fffe04 	bl	ffffff8040001140 <uva2ka>
-ffffff8040001934:	b4000320 	cbz	x0, ffffff8040001998 <copyinstr+0xc8>
-ffffff8040001938:	cb1302c2 	sub	x2, x22, x19
-ffffff804000193c:	cb160273 	sub	x19, x19, x22
-ffffff8040001940:	91400442 	add	x2, x2, #0x1, lsl #12
-ffffff8040001944:	8b000273 	add	x19, x19, x0
-ffffff8040001948:	eb14005f 	cmp	x2, x20
-ffffff804000194c:	9a949043 	csel	x3, x2, x20, ls  // ls = plast
-ffffff8040001950:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff8040001954:	eb02007f 	cmp	x3, x2
-ffffff8040001958:	cb020284 	sub	x4, x20, x2
-ffffff804000195c:	8b0202a0 	add	x0, x21, x2
-ffffff8040001960:	54000061 	b.ne	ffffff804000196c <copyinstr+0x9c>  // b.any
-ffffff8040001964:	52800002 	mov	w2, #0x0                   	// #0
-ffffff8040001968:	14000005 	b	ffffff804000197c <copyinstr+0xac>
-ffffff804000196c:	38626a61 	ldrb	w1, [x19, x2]
-ffffff8040001970:	350000e1 	cbnz	w1, ffffff804000198c <copyinstr+0xbc>
-ffffff8040001974:	52800022 	mov	w2, #0x1                   	// #1
-ffffff8040001978:	3900001f 	strb	wzr, [x0]
-ffffff804000197c:	914006d3 	add	x19, x22, #0x1, lsl #12
-ffffff8040001980:	aa0403f4 	mov	x20, x4
-ffffff8040001984:	aa0003f5 	mov	x21, x0
-ffffff8040001988:	17ffffdc 	b	ffffff80400018f8 <copyinstr+0x28>
-ffffff804000198c:	38226aa1 	strb	w1, [x21, x2]
-ffffff8040001990:	91000442 	add	x2, x2, #0x1
-ffffff8040001994:	17fffff0 	b	ffffff8040001954 <copyinstr+0x84>
-ffffff8040001998:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff804000199c:	17ffffdd 	b	ffffff8040001910 <copyinstr+0x40>
-
-ffffff80400019a0 <freeproc>:
-ffffff80400019a0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400019a4:	910003fd 	mov	x29, sp
-ffffff80400019a8:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400019ac:	aa0003f3 	mov	x19, x0
-ffffff80400019b0:	f9002c1f 	str	xzr, [x0, #88]
-ffffff80400019b4:	f9402800 	ldr	x0, [x0, #80]
-ffffff80400019b8:	b4000060 	cbz	x0, ffffff80400019c4 <freeproc+0x24>
-ffffff80400019bc:	f9402661 	ldr	x1, [x19, #72]
-ffffff80400019c0:	97ffff21 	bl	ffffff8040001644 <uvmfree>
-ffffff80400019c4:	b9001a7f 	str	wzr, [x19, #24]
-ffffff80400019c8:	a9027e7f 	stp	xzr, xzr, [x19, #32]
-ffffff80400019cc:	b900327f 	str	wzr, [x19, #48]
-ffffff80400019d0:	f9001e7f 	str	xzr, [x19, #56]
-ffffff80400019d4:	a904fe7f 	stp	xzr, xzr, [x19, #72]
-ffffff80400019d8:	3905627f 	strb	wzr, [x19, #344]
-ffffff80400019dc:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff80400019e0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400019e4:	d65f03c0 	ret
-
-ffffff80400019e8 <proc_mapstacks>:
-ffffff80400019e8:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff80400019ec:	910003fd 	mov	x29, sp
-ffffff80400019f0:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400019f4:	d289f4b8 	mov	x24, #0x4fa5                	// #20389
-ffffff80400019f8:	f2b49f58 	movk	x24, #0xa4fa, lsl #16
-ffffff80400019fc:	f2df49f8 	movk	x24, #0xfa4f, lsl #32
-ffffff8040001a00:	f2e9f498 	movk	x24, #0x4fa4, lsl #48
-ffffff8040001a04:	d2c01017 	mov	x23, #0x8000000000          	// #549755813888
-ffffff8040001a08:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001a0c:	b00000b4 	adrp	x20, ffffff8040016000 <cons>
-ffffff8040001a10:	91160294 	add	x20, x20, #0x580
-ffffff8040001a14:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001a18:	aa0003f5 	mov	x21, x0
-ffffff8040001a1c:	b25a67f6 	mov	x22, #0xffffffc000000000    	// #-274877906944
-ffffff8040001a20:	f90023f9 	str	x25, [sp, #64]
-ffffff8040001a24:	d2800019 	mov	x25, #0x0                   	// #0
-ffffff8040001a28:	8b140333 	add	x19, x25, x20
-ffffff8040001a2c:	97fffc31 	bl	ffffff8040000af0 <kalloc>
-ffffff8040001a30:	b5000080 	cbnz	x0, ffffff8040001a40 <proc_mapstacks+0x58>
-ffffff8040001a34:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001a38:	91065c00 	add	x0, x0, #0x197
-ffffff8040001a3c:	97fffab1 	bl	ffffff8040000500 <panic>
-ffffff8040001a40:	cb140261 	sub	x1, x19, x20
-ffffff8040001a44:	8b170002 	add	x2, x0, x23
-ffffff8040001a48:	9343fc21 	asr	x1, x1, #3
-ffffff8040001a4c:	aa1503e0 	mov	x0, x21
-ffffff8040001a50:	d2800084 	mov	x4, #0x4                   	// #4
-ffffff8040001a54:	d2820003 	mov	x3, #0x1000                	// #4096
-ffffff8040001a58:	9b187c21 	mul	x1, x1, x24
-ffffff8040001a5c:	9105a339 	add	x25, x25, #0x168
-ffffff8040001a60:	11000421 	add	w1, w1, #0x1
-ffffff8040001a64:	53134821 	lsl	w1, w1, #13
-ffffff8040001a68:	cb21c2c1 	sub	x1, x22, w1, sxtw
-ffffff8040001a6c:	97fffe03 	bl	ffffff8040001278 <kvmmap>
-ffffff8040001a70:	d28b4000 	mov	x0, #0x5a00                	// #23040
-ffffff8040001a74:	eb00033f 	cmp	x25, x0
-ffffff8040001a78:	54fffd81 	b.ne	ffffff8040001a28 <proc_mapstacks+0x40>  // b.any
-ffffff8040001a7c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001a80:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001a84:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040001a88:	f94023f9 	ldr	x25, [sp, #64]
-ffffff8040001a8c:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040001a90:	d65f03c0 	ret
-
-ffffff8040001a94 <procinit>:
-ffffff8040001a94:	b00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040001a98:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040001a9c:	910003fd 	mov	x29, sp
-ffffff8040001aa0:	f940a000 	ldr	x0, [x0, #320]
-ffffff8040001aa4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001aa8:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001aac:	91052273 	add	x19, x19, #0x148
-ffffff8040001ab0:	d2800814 	mov	x20, #0x40                  	// #64
-ffffff8040001ab4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001ab8:	d0000035 	adrp	x21, ffffff8040007000 <etext>
-ffffff8040001abc:	9106c2b5 	add	x21, x21, #0x1b0
-ffffff8040001ac0:	b25a67f6 	mov	x22, #0xffffffc000000000    	// #-274877906944
-ffffff8040001ac4:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040001ac8:	d289f4b7 	mov	x23, #0x4fa5                	// #20389
-ffffff8040001acc:	f2b49f57 	movk	x23, #0xa4fa, lsl #16
-ffffff8040001ad0:	f2df49f7 	movk	x23, #0xfa4f, lsl #32
-ffffff8040001ad4:	f2e9f497 	movk	x23, #0x4fa4, lsl #48
-ffffff8040001ad8:	97ffffc4 	bl	ffffff80400019e8 <proc_mapstacks>
-ffffff8040001adc:	aa1303e0 	mov	x0, x19
-ffffff8040001ae0:	d0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040001ae4:	91067821 	add	x1, x1, #0x19e
-ffffff8040001ae8:	97fffc21 	bl	ffffff8040000b6c <initlock>
-ffffff8040001aec:	91006260 	add	x0, x19, #0x18
-ffffff8040001af0:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001af4:	91160273 	add	x19, x19, #0x580
-ffffff8040001af8:	d0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040001afc:	91069821 	add	x1, x1, #0x1a6
-ffffff8040001b00:	aa1303f8 	mov	x24, x19
-ffffff8040001b04:	97fffc1a 	bl	ffffff8040000b6c <initlock>
-ffffff8040001b08:	aa1303e0 	mov	x0, x19
-ffffff8040001b0c:	aa1503e1 	mov	x1, x21
-ffffff8040001b10:	97fffc17 	bl	ffffff8040000b6c <initlock>
-ffffff8040001b14:	cb180262 	sub	x2, x19, x24
-ffffff8040001b18:	f1000694 	subs	x20, x20, #0x1
-ffffff8040001b1c:	9343fc42 	asr	x2, x2, #3
-ffffff8040001b20:	9b177c42 	mul	x2, x2, x23
-ffffff8040001b24:	11000442 	add	w2, w2, #0x1
-ffffff8040001b28:	53134842 	lsl	w2, w2, #13
-ffffff8040001b2c:	cb22c2c2 	sub	x2, x22, w2, sxtw
-ffffff8040001b30:	f9002262 	str	x2, [x19, #64]
-ffffff8040001b34:	9105a273 	add	x19, x19, #0x168
-ffffff8040001b38:	54fffe81 	b.ne	ffffff8040001b08 <procinit+0x74>  // b.any
-ffffff8040001b3c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001b40:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001b44:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040001b48:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040001b4c:	d65f03c0 	ret
-
-ffffff8040001b50 <mycpu>:
-ffffff8040001b50:	d53800a2 	mrs	x2, mpidr_el1
-ffffff8040001b54:	b00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040001b58:	91052001 	add	x1, x0, #0x148
-ffffff8040001b5c:	d3791c42 	ubfiz	x2, x2, #7, #8
-ffffff8040001b60:	9100c020 	add	x0, x1, #0x30
-ffffff8040001b64:	8b020000 	add	x0, x0, x2
-ffffff8040001b68:	d65f03c0 	ret
-
-ffffff8040001b6c <myproc>:
-ffffff8040001b6c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001b70:	910003fd 	mov	x29, sp
-ffffff8040001b74:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040001b78:	97fffc0e 	bl	ffffff8040000bb0 <push_off>
-ffffff8040001b7c:	d53800a1 	mrs	x1, mpidr_el1
-ffffff8040001b80:	b00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040001b84:	91052000 	add	x0, x0, #0x148
-ffffff8040001b88:	d3791c21 	ubfiz	x1, x1, #7, #8
-ffffff8040001b8c:	9100c000 	add	x0, x0, #0x30
-ffffff8040001b90:	f8616813 	ldr	x19, [x0, x1]
-ffffff8040001b94:	97fffc30 	bl	ffffff8040000c54 <pop_off>
-ffffff8040001b98:	aa1303e0 	mov	x0, x19
-ffffff8040001b9c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040001ba0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001ba4:	d65f03c0 	ret
-
-ffffff8040001ba8 <forkret>:
-ffffff8040001ba8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001bac:	910003fd 	mov	x29, sp
-ffffff8040001bb0:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040001bb4:	97ffffee 	bl	ffffff8040001b6c <myproc>
-ffffff8040001bb8:	f9402c13 	ldr	x19, [x0, #88]
-ffffff8040001bbc:	97fffc3c 	bl	ffffff8040000cac <release>
-ffffff8040001bc0:	90000040 	adrp	x0, ffffff8040009000 <syscalls+0x1cc0>
-ffffff8040001bc4:	b942e001 	ldr	w1, [x0, #736]
-ffffff8040001bc8:	34000081 	cbz	w1, ffffff8040001bd8 <forkret+0x30>
-ffffff8040001bcc:	b902e01f 	str	wzr, [x0, #736]
-ffffff8040001bd0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040001bd4:	9400058d 	bl	ffffff8040003208 <fsinit>
-ffffff8040001bd8:	aa1303e0 	mov	x0, x19
-ffffff8040001bdc:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040001be0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001be4:	1400119a 	b	ffffff804000624c <usertrapret>
-
-ffffff8040001be8 <allocpid>:
-ffffff8040001be8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001bec:	910003fd 	mov	x29, sp
-ffffff8040001bf0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001bf4:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001bf8:	91052273 	add	x19, x19, #0x148
-ffffff8040001bfc:	aa1303e0 	mov	x0, x19
-ffffff8040001c00:	97fffc00 	bl	ffffff8040000c00 <acquire>
-ffffff8040001c04:	90000040 	adrp	x0, ffffff8040009000 <syscalls+0x1cc0>
-ffffff8040001c08:	910b8000 	add	x0, x0, #0x2e0
-ffffff8040001c0c:	b9400414 	ldr	w20, [x0, #4]
-ffffff8040001c10:	11000681 	add	w1, w20, #0x1
-ffffff8040001c14:	b9000401 	str	w1, [x0, #4]
-ffffff8040001c18:	aa1303e0 	mov	x0, x19
-ffffff8040001c1c:	97fffc24 	bl	ffffff8040000cac <release>
-ffffff8040001c20:	2a1403e0 	mov	w0, w20
-ffffff8040001c24:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001c28:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001c2c:	d65f03c0 	ret
-
-ffffff8040001c30 <allocproc>:
-ffffff8040001c30:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040001c34:	910003fd 	mov	x29, sp
-ffffff8040001c38:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001c3c:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001c40:	91160273 	add	x19, x19, #0x580
-ffffff8040001c44:	d2800814 	mov	x20, #0x40                  	// #64
-ffffff8040001c48:	f90013f5 	str	x21, [sp, #32]
-ffffff8040001c4c:	aa1303e0 	mov	x0, x19
-ffffff8040001c50:	97fffbec 	bl	ffffff8040000c00 <acquire>
-ffffff8040001c54:	b9401a60 	ldr	w0, [x19, #24]
-ffffff8040001c58:	35000220 	cbnz	w0, ffffff8040001c9c <allocproc+0x6c>
-ffffff8040001c5c:	97ffffe3 	bl	ffffff8040001be8 <allocpid>
-ffffff8040001c60:	f9402275 	ldr	x21, [x19, #64]
-ffffff8040001c64:	b9003260 	str	w0, [x19, #48]
-ffffff8040001c68:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040001c6c:	b9001a60 	str	w0, [x19, #24]
-ffffff8040001c70:	913bc2b5 	add	x21, x21, #0xef0
-ffffff8040001c74:	f9002e75 	str	x21, [x19, #88]
-ffffff8040001c78:	97fffdd7 	bl	ffffff80400013d4 <uvmcreate>
-ffffff8040001c7c:	f9002a60 	str	x0, [x19, #80]
-ffffff8040001c80:	aa0003f4 	mov	x20, x0
-ffffff8040001c84:	b5000220 	cbnz	x0, ffffff8040001cc8 <allocproc+0x98>
-ffffff8040001c88:	aa1303e0 	mov	x0, x19
-ffffff8040001c8c:	97ffff45 	bl	ffffff80400019a0 <freeproc>
-ffffff8040001c90:	aa1303e0 	mov	x0, x19
-ffffff8040001c94:	97fffc06 	bl	ffffff8040000cac <release>
-ffffff8040001c98:	14000007 	b	ffffff8040001cb4 <allocproc+0x84>
-ffffff8040001c9c:	aa1303e0 	mov	x0, x19
-ffffff8040001ca0:	9105a273 	add	x19, x19, #0x168
-ffffff8040001ca4:	97fffc02 	bl	ffffff8040000cac <release>
-ffffff8040001ca8:	f1000694 	subs	x20, x20, #0x1
-ffffff8040001cac:	54fffd01 	b.ne	ffffff8040001c4c <allocproc+0x1c>  // b.any
-ffffff8040001cb0:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff8040001cb4:	aa1403e0 	mov	x0, x20
-ffffff8040001cb8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001cbc:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040001cc0:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040001cc4:	d65f03c0 	ret
-ffffff8040001cc8:	52800e02 	mov	w2, #0x70                  	// #112
-ffffff8040001ccc:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040001cd0:	91018260 	add	x0, x19, #0x60
-ffffff8040001cd4:	aa1303f4 	mov	x20, x19
-ffffff8040001cd8:	97fffc04 	bl	ffffff8040000ce8 <memset>
-ffffff8040001cdc:	90000000 	adrp	x0, ffffff8040001000 <walk+0x40>
-ffffff8040001ce0:	912ea000 	add	x0, x0, #0xba8
-ffffff8040001ce4:	f9003275 	str	x21, [x19, #96]
-ffffff8040001ce8:	f9006660 	str	x0, [x19, #200]
-ffffff8040001cec:	17fffff2 	b	ffffff8040001cb4 <allocproc+0x84>
-
-ffffff8040001cf0 <userinit>:
-ffffff8040001cf0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001cf4:	910003fd 	mov	x29, sp
-ffffff8040001cf8:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040001cfc:	97ffffcd 	bl	ffffff8040001c30 <allocproc>
-ffffff8040001d00:	aa0003f3 	mov	x19, x0
-ffffff8040001d04:	b00000a0 	adrp	x0, ffffff8040016000 <cons>
-ffffff8040001d08:	90000041 	adrp	x1, ffffff8040009000 <syscalls+0x1cc0>
-ffffff8040001d0c:	910b8021 	add	x1, x1, #0x2e0
-ffffff8040001d10:	f902bc13 	str	x19, [x0, #1400]
-ffffff8040001d14:	52800902 	mov	w2, #0x48                  	// #72
-ffffff8040001d18:	91002021 	add	x1, x1, #0x8
-ffffff8040001d1c:	f9402a60 	ldr	x0, [x19, #80]
-ffffff8040001d20:	97fffdba 	bl	ffffff8040001408 <uvminit>
-ffffff8040001d24:	f9402e60 	ldr	x0, [x19, #88]
-ffffff8040001d28:	d2820001 	mov	x1, #0x1000                	// #4096
-ffffff8040001d2c:	52800202 	mov	w2, #0x10                  	// #16
-ffffff8040001d30:	f9002661 	str	x1, [x19, #72]
-ffffff8040001d34:	a90ffc1f 	stp	xzr, xzr, [x0, #248]
-ffffff8040001d38:	f9008401 	str	x1, [x0, #264]
-ffffff8040001d3c:	91056260 	add	x0, x19, #0x158
-ffffff8040001d40:	d0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040001d44:	9106d421 	add	x1, x1, #0x1b5
-ffffff8040001d48:	97fffc33 	bl	ffffff8040000e14 <safestrcpy>
-ffffff8040001d4c:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001d50:	9106f800 	add	x0, x0, #0x1be
-ffffff8040001d54:	940007b5 	bl	ffffff8040003c28 <namei>
-ffffff8040001d58:	f900aa60 	str	x0, [x19, #336]
-ffffff8040001d5c:	52800060 	mov	w0, #0x3                   	// #3
-ffffff8040001d60:	b9001a60 	str	w0, [x19, #24]
-ffffff8040001d64:	aa1303e0 	mov	x0, x19
-ffffff8040001d68:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040001d6c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001d70:	17fffbcf 	b	ffffff8040000cac <release>
-
-ffffff8040001d74 <growproc>:
-ffffff8040001d74:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040001d78:	910003fd 	mov	x29, sp
-ffffff8040001d7c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001d80:	2a0003f4 	mov	w20, w0
-ffffff8040001d84:	97ffff7a 	bl	ffffff8040001b6c <myproc>
-ffffff8040001d88:	7100029f 	cmp	w20, #0x0
-ffffff8040001d8c:	aa0003f3 	mov	x19, x0
-ffffff8040001d90:	f9402401 	ldr	x1, [x0, #72]
-ffffff8040001d94:	5400012d 	b.le	ffffff8040001db8 <growproc+0x44>
-ffffff8040001d98:	0b010282 	add	w2, w20, w1
-ffffff8040001d9c:	2a0103e1 	mov	w1, w1
-ffffff8040001da0:	f9402800 	ldr	x0, [x0, #80]
-ffffff8040001da4:	97fffde2 	bl	ffffff804000152c <uvmalloc>
-ffffff8040001da8:	2a0003e3 	mov	w3, w0
-ffffff8040001dac:	35000140 	cbnz	w0, ffffff8040001dd4 <growproc+0x60>
-ffffff8040001db0:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040001db4:	1400000a 	b	ffffff8040001ddc <growproc+0x68>
-ffffff8040001db8:	2a0103e3 	mov	w3, w1
-ffffff8040001dbc:	540000c0 	b.eq	ffffff8040001dd4 <growproc+0x60>  // b.none
-ffffff8040001dc0:	0b010282 	add	w2, w20, w1
-ffffff8040001dc4:	2a0103e1 	mov	w1, w1
-ffffff8040001dc8:	f9402800 	ldr	x0, [x0, #80]
-ffffff8040001dcc:	97fffdc1 	bl	ffffff80400014d0 <uvmdealloc>
-ffffff8040001dd0:	2a0003e3 	mov	w3, w0
-ffffff8040001dd4:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040001dd8:	f9002663 	str	x3, [x19, #72]
-ffffff8040001ddc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001de0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040001de4:	d65f03c0 	ret
-
-ffffff8040001de8 <fork>:
-ffffff8040001de8:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040001dec:	910003fd 	mov	x29, sp
-ffffff8040001df0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001df4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001df8:	97ffff5d 	bl	ffffff8040001b6c <myproc>
-ffffff8040001dfc:	aa0003f4 	mov	x20, x0
-ffffff8040001e00:	97ffff8c 	bl	ffffff8040001c30 <allocproc>
-ffffff8040001e04:	b4000140 	cbz	x0, ffffff8040001e2c <fork+0x44>
-ffffff8040001e08:	aa0003f3 	mov	x19, x0
-ffffff8040001e0c:	f9402801 	ldr	x1, [x0, #80]
-ffffff8040001e10:	a9448282 	ldp	x2, x0, [x20, #72]
-ffffff8040001e14:	97fffe1a 	bl	ffffff804000167c <uvmcopy>
-ffffff8040001e18:	36f800e0 	tbz	w0, #31, ffffff8040001e34 <fork+0x4c>
-ffffff8040001e1c:	aa1303e0 	mov	x0, x19
-ffffff8040001e20:	97fffee0 	bl	ffffff80400019a0 <freeproc>
-ffffff8040001e24:	aa1303e0 	mov	x0, x19
-ffffff8040001e28:	97fffba1 	bl	ffffff8040000cac <release>
-ffffff8040001e2c:	12800016 	mov	w22, #0xffffffff            	// #-1
-ffffff8040001e30:	14000029 	b	ffffff8040001ed4 <fork+0xec>
-ffffff8040001e34:	f9402680 	ldr	x0, [x20, #72]
-ffffff8040001e38:	d2802202 	mov	x2, #0x110                 	// #272
-ffffff8040001e3c:	d2801a15 	mov	x21, #0xd0                  	// #208
-ffffff8040001e40:	f9402e63 	ldr	x3, [x19, #88]
-ffffff8040001e44:	f9402e81 	ldr	x1, [x20, #88]
-ffffff8040001e48:	f9002660 	str	x0, [x19, #72]
-ffffff8040001e4c:	aa0303e0 	mov	x0, x3
-ffffff8040001e50:	97fffbd2 	bl	ffffff8040000d98 <memcpy>
-ffffff8040001e54:	f900001f 	str	xzr, [x0]
-ffffff8040001e58:	f8756a80 	ldr	x0, [x20, x21]
-ffffff8040001e5c:	b4000060 	cbz	x0, ffffff8040001e68 <fork+0x80>
-ffffff8040001e60:	940008df 	bl	ffffff80400041dc <filedup>
-ffffff8040001e64:	f8356a60 	str	x0, [x19, x21]
-ffffff8040001e68:	910022b5 	add	x21, x21, #0x8
-ffffff8040001e6c:	f10542bf 	cmp	x21, #0x150
-ffffff8040001e70:	54ffff41 	b.ne	ffffff8040001e58 <fork+0x70>  // b.any
-ffffff8040001e74:	f940aa80 	ldr	x0, [x20, #336]
-ffffff8040001e78:	b00000b5 	adrp	x21, ffffff8040016000 <cons>
-ffffff8040001e7c:	910522b5 	add	x21, x21, #0x148
-ffffff8040001e80:	9400056c 	bl	ffffff8040003430 <idup>
-ffffff8040001e84:	52800202 	mov	w2, #0x10                  	// #16
-ffffff8040001e88:	91056281 	add	x1, x20, #0x158
-ffffff8040001e8c:	f900aa60 	str	x0, [x19, #336]
-ffffff8040001e90:	91056260 	add	x0, x19, #0x158
-ffffff8040001e94:	910062b5 	add	x21, x21, #0x18
-ffffff8040001e98:	97fffbdf 	bl	ffffff8040000e14 <safestrcpy>
-ffffff8040001e9c:	aa1303e0 	mov	x0, x19
-ffffff8040001ea0:	b9403276 	ldr	w22, [x19, #48]
-ffffff8040001ea4:	97fffb82 	bl	ffffff8040000cac <release>
-ffffff8040001ea8:	aa1503e0 	mov	x0, x21
-ffffff8040001eac:	97fffb55 	bl	ffffff8040000c00 <acquire>
-ffffff8040001eb0:	aa1503e0 	mov	x0, x21
-ffffff8040001eb4:	f9001e74 	str	x20, [x19, #56]
-ffffff8040001eb8:	97fffb7d 	bl	ffffff8040000cac <release>
-ffffff8040001ebc:	aa1303e0 	mov	x0, x19
-ffffff8040001ec0:	97fffb50 	bl	ffffff8040000c00 <acquire>
-ffffff8040001ec4:	52800060 	mov	w0, #0x3                   	// #3
-ffffff8040001ec8:	b9001a60 	str	w0, [x19, #24]
-ffffff8040001ecc:	aa1303e0 	mov	x0, x19
-ffffff8040001ed0:	97fffb77 	bl	ffffff8040000cac <release>
-ffffff8040001ed4:	2a1603e0 	mov	w0, w22
-ffffff8040001ed8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040001edc:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040001ee0:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040001ee4:	d65f03c0 	ret
-
-ffffff8040001ee8 <scheduler>:
-ffffff8040001ee8:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040001eec:	910003fd 	mov	x29, sp
-ffffff8040001ef0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001ef4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040001ef8:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040001efc:	d53800a0 	mrs	x0, mpidr_el1
-ffffff8040001f00:	b00000a1 	adrp	x1, ffffff8040016000 <cons>
-ffffff8040001f04:	91052021 	add	x1, x1, #0x148
-ffffff8040001f08:	d3791c02 	ubfiz	x2, x0, #7, #8
-ffffff8040001f0c:	9100c021 	add	x1, x1, #0x30
-ffffff8040001f10:	91002055 	add	x21, x2, #0x8
-ffffff8040001f14:	8b020034 	add	x20, x1, x2
-ffffff8040001f18:	8b150035 	add	x21, x1, x21
-ffffff8040001f1c:	f822683f 	str	xzr, [x1, x2]
-ffffff8040001f20:	d5034fff 	msr	daifclr, #0xf
-ffffff8040001f24:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001f28:	91160273 	add	x19, x19, #0x580
-ffffff8040001f2c:	d2800816 	mov	x22, #0x40                  	// #64
-ffffff8040001f30:	52800097 	mov	w23, #0x4                   	// #4
-ffffff8040001f34:	aa1303e0 	mov	x0, x19
-ffffff8040001f38:	97fffb32 	bl	ffffff8040000c00 <acquire>
-ffffff8040001f3c:	b9401a60 	ldr	w0, [x19, #24]
-ffffff8040001f40:	71000c1f 	cmp	w0, #0x3
-ffffff8040001f44:	54000141 	b.ne	ffffff8040001f6c <scheduler+0x84>  // b.any
-ffffff8040001f48:	aa1303e0 	mov	x0, x19
-ffffff8040001f4c:	f9000293 	str	x19, [x20]
-ffffff8040001f50:	b9001a77 	str	w23, [x19, #24]
-ffffff8040001f54:	97fffd4c 	bl	ffffff8040001484 <switchuvm>
-ffffff8040001f58:	91018261 	add	x1, x19, #0x60
-ffffff8040001f5c:	aa1503e0 	mov	x0, x21
-ffffff8040001f60:	94000189 	bl	ffffff8040002584 <swtch>
-ffffff8040001f64:	97fffd58 	bl	ffffff80400014c4 <switchkvm>
-ffffff8040001f68:	f900029f 	str	xzr, [x20]
-ffffff8040001f6c:	aa1303e0 	mov	x0, x19
-ffffff8040001f70:	9105a273 	add	x19, x19, #0x168
-ffffff8040001f74:	97fffb4e 	bl	ffffff8040000cac <release>
-ffffff8040001f78:	f10006d6 	subs	x22, x22, #0x1
-ffffff8040001f7c:	54fffdc1 	b.ne	ffffff8040001f34 <scheduler+0x4c>  // b.any
-ffffff8040001f80:	17ffffe8 	b	ffffff8040001f20 <scheduler+0x38>
-
-ffffff8040001f84 <sched>:
-ffffff8040001f84:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040001f88:	910003fd 	mov	x29, sp
-ffffff8040001f8c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040001f90:	f90013f5 	str	x21, [sp, #32]
-ffffff8040001f94:	97fffef6 	bl	ffffff8040001b6c <myproc>
-ffffff8040001f98:	aa0003f4 	mov	x20, x0
-ffffff8040001f9c:	97fffaf7 	bl	ffffff8040000b78 <holding>
-ffffff8040001fa0:	35000080 	cbnz	w0, ffffff8040001fb0 <sched+0x2c>
-ffffff8040001fa4:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001fa8:	91070000 	add	x0, x0, #0x1c0
-ffffff8040001fac:	97fff955 	bl	ffffff8040000500 <panic>
-ffffff8040001fb0:	d53800a1 	mrs	x1, mpidr_el1
-ffffff8040001fb4:	b00000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040001fb8:	91052273 	add	x19, x19, #0x148
-ffffff8040001fbc:	9100c273 	add	x19, x19, #0x30
-ffffff8040001fc0:	d3791c21 	ubfiz	x1, x1, #7, #8
-ffffff8040001fc4:	8b010261 	add	x1, x19, x1
-ffffff8040001fc8:	b9407820 	ldr	w0, [x1, #120]
-ffffff8040001fcc:	7100041f 	cmp	w0, #0x1
-ffffff8040001fd0:	54000080 	b.eq	ffffff8040001fe0 <sched+0x5c>  // b.none
-ffffff8040001fd4:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001fd8:	91073800 	add	x0, x0, #0x1ce
-ffffff8040001fdc:	17fffff4 	b	ffffff8040001fac <sched+0x28>
-ffffff8040001fe0:	b9401a80 	ldr	w0, [x20, #24]
-ffffff8040001fe4:	7100101f 	cmp	w0, #0x4
-ffffff8040001fe8:	54000081 	b.ne	ffffff8040001ff8 <sched+0x74>  // b.any
-ffffff8040001fec:	d0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040001ff0:	91076800 	add	x0, x0, #0x1da
-ffffff8040001ff4:	17ffffee 	b	ffffff8040001fac <sched+0x28>
-ffffff8040001ff8:	d53b4220 	mrs	x0, daif
-ffffff8040001ffc:	37380080 	tbnz	w0, #7, ffffff804000200c <sched+0x88>
-ffffff8040002000:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002004:	9107a000 	add	x0, x0, #0x1e8
-ffffff8040002008:	17ffffe9 	b	ffffff8040001fac <sched+0x28>
-ffffff804000200c:	d53800a1 	mrs	x1, mpidr_el1
-ffffff8040002010:	d3791c21 	ubfiz	x1, x1, #7, #8
-ffffff8040002014:	8b010261 	add	x1, x19, x1
-ffffff8040002018:	b9407c35 	ldr	w21, [x1, #124]
-ffffff804000201c:	d53800a1 	mrs	x1, mpidr_el1
-ffffff8040002020:	d3791c21 	ubfiz	x1, x1, #7, #8
-ffffff8040002024:	91018280 	add	x0, x20, #0x60
-ffffff8040002028:	91002021 	add	x1, x1, #0x8
-ffffff804000202c:	8b010261 	add	x1, x19, x1
-ffffff8040002030:	94000155 	bl	ffffff8040002584 <swtch>
-ffffff8040002034:	d53800a0 	mrs	x0, mpidr_el1
-ffffff8040002038:	d3791c00 	ubfiz	x0, x0, #7, #8
-ffffff804000203c:	8b000273 	add	x19, x19, x0
-ffffff8040002040:	b9007e75 	str	w21, [x19, #124]
-ffffff8040002044:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002048:	f94013f5 	ldr	x21, [sp, #32]
-ffffff804000204c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002050:	d65f03c0 	ret
-
-ffffff8040002054 <yield>:
-ffffff8040002054:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002058:	910003fd 	mov	x29, sp
-ffffff804000205c:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002060:	97fffec3 	bl	ffffff8040001b6c <myproc>
-ffffff8040002064:	aa0003f3 	mov	x19, x0
-ffffff8040002068:	97fffae6 	bl	ffffff8040000c00 <acquire>
-ffffff804000206c:	52800060 	mov	w0, #0x3                   	// #3
-ffffff8040002070:	b9001a60 	str	w0, [x19, #24]
-ffffff8040002074:	97ffffc4 	bl	ffffff8040001f84 <sched>
-ffffff8040002078:	aa1303e0 	mov	x0, x19
-ffffff804000207c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002080:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002084:	17fffb0a 	b	ffffff8040000cac <release>
-
-ffffff8040002088 <sleep>:
-ffffff8040002088:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff804000208c:	910003fd 	mov	x29, sp
-ffffff8040002090:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002094:	aa0103f4 	mov	x20, x1
-ffffff8040002098:	f90013f5 	str	x21, [sp, #32]
-ffffff804000209c:	aa0003f5 	mov	x21, x0
-ffffff80400020a0:	97fffeb3 	bl	ffffff8040001b6c <myproc>
-ffffff80400020a4:	aa0003f3 	mov	x19, x0
-ffffff80400020a8:	97fffad6 	bl	ffffff8040000c00 <acquire>
-ffffff80400020ac:	aa1403e0 	mov	x0, x20
-ffffff80400020b0:	97fffaff 	bl	ffffff8040000cac <release>
-ffffff80400020b4:	52800040 	mov	w0, #0x2                   	// #2
-ffffff80400020b8:	f9001275 	str	x21, [x19, #32]
-ffffff80400020bc:	b9001a60 	str	w0, [x19, #24]
-ffffff80400020c0:	97ffffb1 	bl	ffffff8040001f84 <sched>
-ffffff80400020c4:	aa1303e0 	mov	x0, x19
-ffffff80400020c8:	f900127f 	str	xzr, [x19, #32]
-ffffff80400020cc:	97fffaf8 	bl	ffffff8040000cac <release>
-ffffff80400020d0:	aa1403e0 	mov	x0, x20
-ffffff80400020d4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400020d8:	f94013f5 	ldr	x21, [sp, #32]
-ffffff80400020dc:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400020e0:	17fffac8 	b	ffffff8040000c00 <acquire>
-
-ffffff80400020e4 <wait>:
-ffffff80400020e4:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff80400020e8:	910003fd 	mov	x29, sp
-ffffff80400020ec:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400020f0:	900000b5 	adrp	x21, ffffff8040016000 <cons>
-ffffff80400020f4:	910522b5 	add	x21, x21, #0x148
-ffffff80400020f8:	aa0003f6 	mov	x22, x0
-ffffff80400020fc:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002100:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040002104:	910062b8 	add	x24, x21, #0x18
-ffffff8040002108:	f90023f9 	str	x25, [sp, #64]
-ffffff804000210c:	900000b9 	adrp	x25, ffffff8040016000 <cons>
-ffffff8040002110:	97fffe97 	bl	ffffff8040001b6c <myproc>
-ffffff8040002114:	aa0003f4 	mov	x20, x0
-ffffff8040002118:	aa1803e0 	mov	x0, x24
-ffffff804000211c:	97fffab9 	bl	ffffff8040000c00 <acquire>
-ffffff8040002120:	d2800817 	mov	x23, #0x40                  	// #64
-ffffff8040002124:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002128:	91160333 	add	x19, x25, #0x580
-ffffff804000212c:	f9401e61 	ldr	x1, [x19, #56]
-ffffff8040002130:	eb14003f 	cmp	x1, x20
-ffffff8040002134:	54000481 	b.ne	ffffff80400021c4 <wait+0xe0>  // b.any
-ffffff8040002138:	aa1303e0 	mov	x0, x19
-ffffff804000213c:	97fffab1 	bl	ffffff8040000c00 <acquire>
-ffffff8040002140:	b9401a60 	ldr	w0, [x19, #24]
-ffffff8040002144:	7100141f 	cmp	w0, #0x5
-ffffff8040002148:	54000381 	b.ne	ffffff80400021b8 <wait+0xd4>  // b.any
-ffffff804000214c:	b9403277 	ldr	w23, [x19, #48]
-ffffff8040002150:	b40001b6 	cbz	x22, ffffff8040002184 <wait+0xa0>
-ffffff8040002154:	d2800083 	mov	x3, #0x4                   	// #4
-ffffff8040002158:	9100b262 	add	x2, x19, #0x2c
-ffffff804000215c:	aa1603e1 	mov	x1, x22
-ffffff8040002160:	f9402a80 	ldr	x0, [x20, #80]
-ffffff8040002164:	97fffd93 	bl	ffffff80400017b0 <copyout>
-ffffff8040002168:	36f800e0 	tbz	w0, #31, ffffff8040002184 <wait+0xa0>
-ffffff804000216c:	aa1303e0 	mov	x0, x19
-ffffff8040002170:	97fffacf 	bl	ffffff8040000cac <release>
-ffffff8040002174:	910062a0 	add	x0, x21, #0x18
-ffffff8040002178:	12800017 	mov	w23, #0xffffffff            	// #-1
-ffffff804000217c:	97fffacc 	bl	ffffff8040000cac <release>
-ffffff8040002180:	14000007 	b	ffffff804000219c <wait+0xb8>
-ffffff8040002184:	aa1303e0 	mov	x0, x19
-ffffff8040002188:	97fffe06 	bl	ffffff80400019a0 <freeproc>
-ffffff804000218c:	aa1303e0 	mov	x0, x19
-ffffff8040002190:	97fffac7 	bl	ffffff8040000cac <release>
-ffffff8040002194:	910062a0 	add	x0, x21, #0x18
-ffffff8040002198:	97fffac5 	bl	ffffff8040000cac <release>
-ffffff804000219c:	2a1703e0 	mov	w0, w23
-ffffff80400021a0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400021a4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400021a8:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400021ac:	f94023f9 	ldr	x25, [sp, #64]
-ffffff80400021b0:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff80400021b4:	d65f03c0 	ret
-ffffff80400021b8:	aa1303e0 	mov	x0, x19
-ffffff80400021bc:	97fffabc 	bl	ffffff8040000cac <release>
-ffffff80400021c0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff80400021c4:	f10006f7 	subs	x23, x23, #0x1
-ffffff80400021c8:	9105a273 	add	x19, x19, #0x168
-ffffff80400021cc:	54fffb01 	b.ne	ffffff804000212c <wait+0x48>  // b.any
-ffffff80400021d0:	34fffd20 	cbz	w0, ffffff8040002174 <wait+0x90>
-ffffff80400021d4:	b9402a80 	ldr	w0, [x20, #40]
-ffffff80400021d8:	35fffce0 	cbnz	w0, ffffff8040002174 <wait+0x90>
-ffffff80400021dc:	aa1803e1 	mov	x1, x24
-ffffff80400021e0:	aa1403e0 	mov	x0, x20
-ffffff80400021e4:	97ffffa9 	bl	ffffff8040002088 <sleep>
-ffffff80400021e8:	17ffffce 	b	ffffff8040002120 <wait+0x3c>
-
-ffffff80400021ec <wakeup>:
-ffffff80400021ec:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff80400021f0:	910003fd 	mov	x29, sp
-ffffff80400021f4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400021f8:	900000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400021fc:	91160273 	add	x19, x19, #0x580
-ffffff8040002200:	d2800814 	mov	x20, #0x40                  	// #64
-ffffff8040002204:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002208:	aa0003f5 	mov	x21, x0
-ffffff804000220c:	52800076 	mov	w22, #0x3                   	// #3
-ffffff8040002210:	97fffe57 	bl	ffffff8040001b6c <myproc>
-ffffff8040002214:	eb00027f 	cmp	x19, x0
-ffffff8040002218:	54000180 	b.eq	ffffff8040002248 <wakeup+0x5c>  // b.none
-ffffff804000221c:	aa1303e0 	mov	x0, x19
-ffffff8040002220:	97fffa78 	bl	ffffff8040000c00 <acquire>
-ffffff8040002224:	b9401a60 	ldr	w0, [x19, #24]
-ffffff8040002228:	7100081f 	cmp	w0, #0x2
-ffffff804000222c:	540000a1 	b.ne	ffffff8040002240 <wakeup+0x54>  // b.any
-ffffff8040002230:	f9401260 	ldr	x0, [x19, #32]
-ffffff8040002234:	eb15001f 	cmp	x0, x21
-ffffff8040002238:	54000041 	b.ne	ffffff8040002240 <wakeup+0x54>  // b.any
-ffffff804000223c:	b9001a76 	str	w22, [x19, #24]
-ffffff8040002240:	aa1303e0 	mov	x0, x19
-ffffff8040002244:	97fffa9a 	bl	ffffff8040000cac <release>
-ffffff8040002248:	f1000694 	subs	x20, x20, #0x1
-ffffff804000224c:	9105a273 	add	x19, x19, #0x168
-ffffff8040002250:	54fffe01 	b.ne	ffffff8040002210 <wakeup+0x24>  // b.any
-ffffff8040002254:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002258:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000225c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002260:	d65f03c0 	ret
-
-ffffff8040002264 <reparent>:
-ffffff8040002264:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002268:	910003fd 	mov	x29, sp
-ffffff804000226c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002270:	900000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040002274:	91160273 	add	x19, x19, #0x580
-ffffff8040002278:	d2800814 	mov	x20, #0x40                  	// #64
-ffffff804000227c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002280:	900000b6 	adrp	x22, ffffff8040016000 <cons>
-ffffff8040002284:	910522d6 	add	x22, x22, #0x148
-ffffff8040002288:	aa0003f5 	mov	x21, x0
-ffffff804000228c:	f9401e60 	ldr	x0, [x19, #56]
-ffffff8040002290:	eb15001f 	cmp	x0, x21
-ffffff8040002294:	54000081 	b.ne	ffffff80400022a4 <reparent+0x40>  // b.any
-ffffff8040002298:	f9421ac0 	ldr	x0, [x22, #1072]
-ffffff804000229c:	f9001e60 	str	x0, [x19, #56]
-ffffff80400022a0:	97ffffd3 	bl	ffffff80400021ec <wakeup>
-ffffff80400022a4:	f1000694 	subs	x20, x20, #0x1
-ffffff80400022a8:	9105a273 	add	x19, x19, #0x168
-ffffff80400022ac:	54ffff01 	b.ne	ffffff804000228c <reparent+0x28>  // b.any
-ffffff80400022b0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400022b4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400022b8:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400022bc:	d65f03c0 	ret
-
-ffffff80400022c0 <exit>:
-ffffff80400022c0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff80400022c4:	910003fd 	mov	x29, sp
-ffffff80400022c8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400022cc:	900000b4 	adrp	x20, ffffff8040016000 <cons>
-ffffff80400022d0:	91052294 	add	x20, x20, #0x148
-ffffff80400022d4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400022d8:	2a0003f6 	mov	w22, w0
-ffffff80400022dc:	f9001bf7 	str	x23, [sp, #48]
-ffffff80400022e0:	97fffe23 	bl	ffffff8040001b6c <myproc>
-ffffff80400022e4:	aa0003f3 	mov	x19, x0
-ffffff80400022e8:	f9421a80 	ldr	x0, [x20, #1072]
-ffffff80400022ec:	eb13001f 	cmp	x0, x19
-ffffff80400022f0:	54000081 	b.ne	ffffff8040002300 <exit+0x40>  // b.any
-ffffff80400022f4:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400022f8:	9107f000 	add	x0, x0, #0x1fc
-ffffff80400022fc:	97fff881 	bl	ffffff8040000500 <panic>
-ffffff8040002300:	91034275 	add	x21, x19, #0xd0
-ffffff8040002304:	91054277 	add	x23, x19, #0x150
-ffffff8040002308:	f94002a0 	ldr	x0, [x21]
-ffffff804000230c:	b4000060 	cbz	x0, ffffff8040002318 <exit+0x58>
-ffffff8040002310:	940007c9 	bl	ffffff8040004234 <fileclose>
-ffffff8040002314:	f90002bf 	str	xzr, [x21]
-ffffff8040002318:	910022b5 	add	x21, x21, #0x8
-ffffff804000231c:	eb1702bf 	cmp	x21, x23
-ffffff8040002320:	54ffff41 	b.ne	ffffff8040002308 <exit+0x48>  // b.any
-ffffff8040002324:	940006b4 	bl	ffffff8040003df4 <begin_op>
-ffffff8040002328:	f940aa60 	ldr	x0, [x19, #336]
-ffffff804000232c:	91006294 	add	x20, x20, #0x18
-ffffff8040002330:	940004c1 	bl	ffffff8040003634 <iput>
-ffffff8040002334:	940006ca 	bl	ffffff8040003e5c <end_op>
-ffffff8040002338:	aa1403e0 	mov	x0, x20
-ffffff804000233c:	f900aa7f 	str	xzr, [x19, #336]
-ffffff8040002340:	97fffa30 	bl	ffffff8040000c00 <acquire>
-ffffff8040002344:	aa1303e0 	mov	x0, x19
-ffffff8040002348:	97ffffc7 	bl	ffffff8040002264 <reparent>
-ffffff804000234c:	f9401e60 	ldr	x0, [x19, #56]
-ffffff8040002350:	97ffffa7 	bl	ffffff80400021ec <wakeup>
-ffffff8040002354:	aa1303e0 	mov	x0, x19
-ffffff8040002358:	97fffa2a 	bl	ffffff8040000c00 <acquire>
-ffffff804000235c:	528000a0 	mov	w0, #0x5                   	// #5
-ffffff8040002360:	b9002e76 	str	w22, [x19, #44]
-ffffff8040002364:	b9001a60 	str	w0, [x19, #24]
-ffffff8040002368:	aa1403e0 	mov	x0, x20
-ffffff804000236c:	97fffa50 	bl	ffffff8040000cac <release>
-ffffff8040002370:	97ffff05 	bl	ffffff8040001f84 <sched>
-ffffff8040002374:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002378:	91082400 	add	x0, x0, #0x209
-ffffff804000237c:	17ffffe0 	b	ffffff80400022fc <exit+0x3c>
-
-ffffff8040002380 <kill>:
-ffffff8040002380:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002384:	910003fd 	mov	x29, sp
-ffffff8040002388:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000238c:	900000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff8040002390:	91160273 	add	x19, x19, #0x580
-ffffff8040002394:	d2800814 	mov	x20, #0x40                  	// #64
-ffffff8040002398:	f90013f5 	str	x21, [sp, #32]
-ffffff804000239c:	2a0003f5 	mov	w21, w0
-ffffff80400023a0:	aa1303e0 	mov	x0, x19
-ffffff80400023a4:	97fffa17 	bl	ffffff8040000c00 <acquire>
-ffffff80400023a8:	b9403260 	ldr	w0, [x19, #48]
-ffffff80400023ac:	6b15001f 	cmp	w0, w21
-ffffff80400023b0:	540001e1 	b.ne	ffffff80400023ec <kill+0x6c>  // b.any
-ffffff80400023b4:	52800020 	mov	w0, #0x1                   	// #1
-ffffff80400023b8:	b9002a60 	str	w0, [x19, #40]
-ffffff80400023bc:	b9401a60 	ldr	w0, [x19, #24]
-ffffff80400023c0:	7100081f 	cmp	w0, #0x2
-ffffff80400023c4:	54000061 	b.ne	ffffff80400023d0 <kill+0x50>  // b.any
-ffffff80400023c8:	52800060 	mov	w0, #0x3                   	// #3
-ffffff80400023cc:	b9001a60 	str	w0, [x19, #24]
-ffffff80400023d0:	aa1303e0 	mov	x0, x19
-ffffff80400023d4:	97fffa36 	bl	ffffff8040000cac <release>
-ffffff80400023d8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400023dc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400023e0:	f94013f5 	ldr	x21, [sp, #32]
-ffffff80400023e4:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400023e8:	d65f03c0 	ret
-ffffff80400023ec:	aa1303e0 	mov	x0, x19
-ffffff80400023f0:	9105a273 	add	x19, x19, #0x168
-ffffff80400023f4:	97fffa2e 	bl	ffffff8040000cac <release>
-ffffff80400023f8:	f1000694 	subs	x20, x20, #0x1
-ffffff80400023fc:	54fffd21 	b.ne	ffffff80400023a0 <kill+0x20>  // b.any
-ffffff8040002400:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040002404:	17fffff6 	b	ffffff80400023dc <kill+0x5c>
-
-ffffff8040002408 <either_copyout>:
-ffffff8040002408:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff804000240c:	910003fd 	mov	x29, sp
-ffffff8040002410:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002414:	2a0003f6 	mov	w22, w0
-ffffff8040002418:	aa0303f5 	mov	x21, x3
-ffffff804000241c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002420:	aa0103f3 	mov	x19, x1
-ffffff8040002424:	aa0203f4 	mov	x20, x2
-ffffff8040002428:	97fffdd1 	bl	ffffff8040001b6c <myproc>
-ffffff804000242c:	34000136 	cbz	w22, ffffff8040002450 <either_copyout+0x48>
-ffffff8040002430:	aa1503e3 	mov	x3, x21
-ffffff8040002434:	aa1403e2 	mov	x2, x20
-ffffff8040002438:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000243c:	aa1303e1 	mov	x1, x19
-ffffff8040002440:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002444:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002448:	f9402800 	ldr	x0, [x0, #80]
-ffffff804000244c:	17fffcd9 	b	ffffff80400017b0 <copyout>
-ffffff8040002450:	2a1503e2 	mov	w2, w21
-ffffff8040002454:	aa1403e1 	mov	x1, x20
-ffffff8040002458:	aa1303e0 	mov	x0, x19
-ffffff804000245c:	97fffa38 	bl	ffffff8040000d3c <memmove>
-ffffff8040002460:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002464:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002468:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000246c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002470:	d65f03c0 	ret
-
-ffffff8040002474 <either_copyin>:
-ffffff8040002474:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002478:	910003fd 	mov	x29, sp
-ffffff804000247c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002480:	2a0103f6 	mov	w22, w1
-ffffff8040002484:	aa0303f5 	mov	x21, x3
-ffffff8040002488:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000248c:	aa0003f3 	mov	x19, x0
-ffffff8040002490:	aa0203f4 	mov	x20, x2
-ffffff8040002494:	97fffdb6 	bl	ffffff8040001b6c <myproc>
-ffffff8040002498:	34000136 	cbz	w22, ffffff80400024bc <either_copyin+0x48>
-ffffff804000249c:	aa1503e3 	mov	x3, x21
-ffffff80400024a0:	aa1403e2 	mov	x2, x20
-ffffff80400024a4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400024a8:	aa1303e1 	mov	x1, x19
-ffffff80400024ac:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400024b0:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400024b4:	f9402800 	ldr	x0, [x0, #80]
-ffffff80400024b8:	17fffce2 	b	ffffff8040001840 <copyin>
-ffffff80400024bc:	2a1503e2 	mov	w2, w21
-ffffff80400024c0:	aa1403e1 	mov	x1, x20
-ffffff80400024c4:	aa1303e0 	mov	x0, x19
-ffffff80400024c8:	97fffa1d 	bl	ffffff8040000d3c <memmove>
-ffffff80400024cc:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400024d0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400024d4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400024d8:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400024dc:	d65f03c0 	ret
-
-ffffff80400024e0 <procdump>:
-ffffff80400024e0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff80400024e4:	910003fd 	mov	x29, sp
-ffffff80400024e8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400024ec:	b0000034 	adrp	x20, ffffff8040007000 <etext>
-ffffff80400024f0:	910cce94 	add	x20, x20, #0x333
-ffffff80400024f4:	aa1403e0 	mov	x0, x20
-ffffff80400024f8:	900000b3 	adrp	x19, ffffff8040016000 <cons>
-ffffff80400024fc:	91160273 	add	x19, x19, #0x580
-ffffff8040002500:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002504:	b0000035 	adrp	x21, ffffff8040007000 <etext>
-ffffff8040002508:	910856b5 	add	x21, x21, #0x215
-ffffff804000250c:	d2800816 	mov	x22, #0x40                  	// #64
-ffffff8040002510:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040002514:	b0000037 	adrp	x23, ffffff8040007000 <etext>
-ffffff8040002518:	910866f7 	add	x23, x23, #0x219
-ffffff804000251c:	b0000038 	adrp	x24, ffffff8040007000 <etext>
-ffffff8040002520:	97fff80a 	bl	ffffff8040000548 <printf>
-ffffff8040002524:	b9401a60 	ldr	w0, [x19, #24]
-ffffff8040002528:	340001a0 	cbz	w0, ffffff804000255c <procdump+0x7c>
-ffffff804000252c:	7100141f 	cmp	w0, #0x5
-ffffff8040002530:	54000268 	b.hi	ffffff804000257c <procdump+0x9c>  // b.pmore
-ffffff8040002534:	91092301 	add	x1, x24, #0x248
-ffffff8040002538:	f8605822 	ldr	x2, [x1, w0, uxtw #3]
-ffffff804000253c:	f100005f 	cmp	x2, #0x0
-ffffff8040002540:	9a951042 	csel	x2, x2, x21, ne  // ne = any
-ffffff8040002544:	b9403261 	ldr	w1, [x19, #48]
-ffffff8040002548:	aa1703e0 	mov	x0, x23
-ffffff804000254c:	91056263 	add	x3, x19, #0x158
-ffffff8040002550:	97fff7fe 	bl	ffffff8040000548 <printf>
-ffffff8040002554:	aa1403e0 	mov	x0, x20
-ffffff8040002558:	97fff7fc 	bl	ffffff8040000548 <printf>
-ffffff804000255c:	f10006d6 	subs	x22, x22, #0x1
-ffffff8040002560:	9105a273 	add	x19, x19, #0x168
-ffffff8040002564:	54fffe01 	b.ne	ffffff8040002524 <procdump+0x44>  // b.any
-ffffff8040002568:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000256c:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040002570:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040002574:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040002578:	d65f03c0 	ret
-ffffff804000257c:	aa1503e2 	mov	x2, x21
-ffffff8040002580:	17fffff1 	b	ffffff8040002544 <procdump+0x64>
-
-ffffff8040002584 <swtch>:
-// Save current registers in old. Load from new.
-
-
-.global swtch
-swtch:
-        mov x9, x0
-ffffff8040002584:	aa0003e9 	mov	x9, x0
-        mov x10, sp
-ffffff8040002588:	910003ea 	mov	x10, sp
-
-        stp x10/*sp*/, x18, [x9, #16 * 0]
-ffffff804000258c:	a900492a 	stp	x10, x18, [x9]
-        stp x19, x20, [x9, #16 * 1]
-ffffff8040002590:	a9015133 	stp	x19, x20, [x9, #16]
-        stp x21, x22, [x9, #16 * 2]
-ffffff8040002594:	a9025935 	stp	x21, x22, [x9, #32]
-        stp x23, x24, [x9, #16 * 3]
-ffffff8040002598:	a9036137 	stp	x23, x24, [x9, #48]
-        stp x25, x26, [x9, #16 * 4]
-ffffff804000259c:	a9046939 	stp	x25, x26, [x9, #64]
-        stp x27, x28, [x9, #16 * 5]
-ffffff80400025a0:	a905713b 	stp	x27, x28, [x9, #80]
-        stp x29, x30, [x9, #16 * 6]
-ffffff80400025a4:	a906793d 	stp	x29, x30, [x9, #96]
-
-        mov x9, x1
-ffffff80400025a8:	aa0103e9 	mov	x9, x1
-
-        ldp x10/*sp*/, x18, [x9, #16 * 0]
-ffffff80400025ac:	a940492a 	ldp	x10, x18, [x9]
-        ldp x19, x20, [x9, #16 * 1]
-ffffff80400025b0:	a9415133 	ldp	x19, x20, [x9, #16]
-        ldp x21, x22, [x9, #16 * 2]
-ffffff80400025b4:	a9425935 	ldp	x21, x22, [x9, #32]
-        ldp x23, x24, [x9, #16 * 3]
-ffffff80400025b8:	a9436137 	ldp	x23, x24, [x9, #48]
-        ldp x25, x26, [x9, #16 * 4]
-ffffff80400025bc:	a9446939 	ldp	x25, x26, [x9, #64]
-        ldp x27, x28, [x9, #16 * 5]
-ffffff80400025c0:	a945713b 	ldp	x27, x28, [x9, #80]
-        ldp x29, x30, [x9, #16 * 6]
-ffffff80400025c4:	a946793d 	ldp	x29, x30, [x9, #96]
-
-        mov sp, x10
-ffffff80400025c8:	9100015f 	mov	sp, x10
-        
-        ret
-ffffff80400025cc:	d65f03c0 	ret
-
-ffffff80400025d0 <trapinit>:
-ffffff80400025d0:	b0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff80400025d4:	9109e021 	add	x1, x1, #0x278
-ffffff80400025d8:	b00000c0 	adrp	x0, ffffff804001b000 <proc+0x4a80>
-ffffff80400025dc:	913e0000 	add	x0, x0, #0xf80
-ffffff80400025e0:	17fff963 	b	ffffff8040000b6c <initlock>
-
-ffffff80400025e4 <trapinithart>:
-ffffff80400025e4:	f0000000 	adrp	x0, ffffff8040005000 <sys_link+0x68>
-ffffff80400025e8:	91200000 	add	x0, x0, #0x800
-ffffff80400025ec:	d518c000 	msr	vbar_el1, x0
-ffffff80400025f0:	d65f03c0 	ret
-
-ffffff80400025f4 <usertrap>:
-ffffff80400025f4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400025f8:	910003fd 	mov	x29, sp
-ffffff80400025fc:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002600:	97fffd5b 	bl	ffffff8040001b6c <myproc>
-ffffff8040002604:	aa0003f3 	mov	x19, x0
-ffffff8040002608:	d5385200 	mrs	x0, esr_el1
-ffffff804000260c:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040002610:	d5185201 	msr	esr_el1, x1
-ffffff8040002614:	531a7c00 	lsr	w0, w0, #26
-ffffff8040002618:	f100541f 	cmp	x0, #0x15
-ffffff804000261c:	540001e1 	b.ne	ffffff8040002658 <usertrap+0x64>  // b.any
-ffffff8040002620:	b9402a60 	ldr	w0, [x19, #40]
-ffffff8040002624:	34000060 	cbz	w0, ffffff8040002630 <usertrap+0x3c>
-ffffff8040002628:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff804000262c:	97ffff25 	bl	ffffff80400022c0 <exit>
-ffffff8040002630:	d5034fff 	msr	daifclr, #0xf
-ffffff8040002634:	940000f1 	bl	ffffff80400029f8 <syscall>
-ffffff8040002638:	b9402a60 	ldr	w0, [x19, #40]
-ffffff804000263c:	34000060 	cbz	w0, ffffff8040002648 <usertrap+0x54>
-ffffff8040002640:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040002644:	97ffff1f 	bl	ffffff80400022c0 <exit>
-ffffff8040002648:	d5034fdf 	msr	daifset, #0xf
-ffffff804000264c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002650:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002654:	d65f03c0 	ret
-ffffff8040002658:	d5385201 	mrs	x1, esr_el1
-ffffff804000265c:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002660:	9109f400 	add	x0, x0, #0x27d
-ffffff8040002664:	b9403262 	ldr	w2, [x19, #48]
-ffffff8040002668:	97fff7b8 	bl	ffffff8040000548 <printf>
-ffffff804000266c:	d5384021 	mrs	x1, elr_el1
-ffffff8040002670:	d5386002 	mrs	x2, far_el1
-ffffff8040002674:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002678:	910a8800 	add	x0, x0, #0x2a2
-ffffff804000267c:	97fff7b3 	bl	ffffff8040000548 <printf>
-ffffff8040002680:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040002684:	b9002a60 	str	w0, [x19, #40]
-ffffff8040002688:	17ffffee 	b	ffffff8040002640 <usertrap+0x4c>
-
-ffffff804000268c <kerneltrap>:
-ffffff804000268c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040002690:	910003fd 	mov	x29, sp
-ffffff8040002694:	d5385201 	mrs	x1, esr_el1
-ffffff8040002698:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff804000269c:	d5185200 	msr	esr_el1, x0
-ffffff80400026a0:	d53b4220 	mrs	x0, daif
-ffffff80400026a4:	37380080 	tbnz	w0, #7, ffffff80400026b4 <kerneltrap+0x28>
-ffffff80400026a8:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400026ac:	910af400 	add	x0, x0, #0x2bd
-ffffff80400026b0:	97fff794 	bl	ffffff8040000500 <panic>
-ffffff80400026b4:	92406023 	and	x3, x1, #0x1ffffff
-ffffff80400026b8:	531a7c22 	lsr	w2, w1, #26
-ffffff80400026bc:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400026c0:	910b7000 	add	x0, x0, #0x2dc
-ffffff80400026c4:	97fff7a1 	bl	ffffff8040000548 <printf>
-ffffff80400026c8:	d5384021 	mrs	x1, elr_el1
-ffffff80400026cc:	d5386002 	mrs	x2, far_el1
-ffffff80400026d0:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400026d4:	910ab800 	add	x0, x0, #0x2ae
-ffffff80400026d8:	97fff79c 	bl	ffffff8040000548 <printf>
-ffffff80400026dc:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400026e0:	910ba800 	add	x0, x0, #0x2ea
-ffffff80400026e4:	17fffff3 	b	ffffff80400026b0 <kerneltrap+0x24>
-
-ffffff80400026e8 <clockintr>:
-ffffff80400026e8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400026ec:	910003fd 	mov	x29, sp
-ffffff80400026f0:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400026f4:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff80400026f8:	913e0273 	add	x19, x19, #0xf80
-ffffff80400026fc:	aa1303e0 	mov	x0, x19
-ffffff8040002700:	97fff940 	bl	ffffff8040000c00 <acquire>
-ffffff8040002704:	b9401a61 	ldr	w1, [x19, #24]
-ffffff8040002708:	aa1303e0 	mov	x0, x19
-ffffff804000270c:	11000421 	add	w1, w1, #0x1
-ffffff8040002710:	b8018c01 	str	w1, [x0, #24]!
-ffffff8040002714:	97fffeb6 	bl	ffffff80400021ec <wakeup>
-ffffff8040002718:	aa1303e0 	mov	x0, x19
-ffffff804000271c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002720:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002724:	17fff962 	b	ffffff8040000cac <release>
-
-ffffff8040002728 <devintr>:
-ffffff8040002728:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff804000272c:	910003fd 	mov	x29, sp
-ffffff8040002730:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002734:	9400107e 	bl	ffffff804000692c <gic_iar>
-ffffff8040002738:	2a0003f4 	mov	w20, w0
-ffffff804000273c:	9400107a 	bl	ffffff8040006924 <gic_iar_irq>
-ffffff8040002740:	7100841f 	cmp	w0, #0x21
-ffffff8040002744:	54000121 	b.ne	ffffff8040002768 <devintr+0x40>  // b.any
-ffffff8040002748:	97fff895 	bl	ffffff804000099c <uartintr>
-ffffff804000274c:	52800033 	mov	w19, #0x1                   	// #1
-ffffff8040002750:	2a1403e0 	mov	w0, w20
-ffffff8040002754:	94001078 	bl	ffffff8040006934 <gic_eoi>
-ffffff8040002758:	2a1303e0 	mov	w0, w19
-ffffff804000275c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002760:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002764:	d65f03c0 	ret
-ffffff8040002768:	7100c01f 	cmp	w0, #0x30
-ffffff804000276c:	2a0003f3 	mov	w19, w0
-ffffff8040002770:	54000061 	b.ne	ffffff804000277c <devintr+0x54>  // b.any
-ffffff8040002774:	94000fdd 	bl	ffffff80400066e8 <virtio_disk_intr>
-ffffff8040002778:	17fffff5 	b	ffffff804000274c <devintr+0x24>
-ffffff804000277c:	71006c1f 	cmp	w0, #0x1b
-ffffff8040002780:	54000101 	b.ne	ffffff80400027a0 <devintr+0x78>  // b.any
-ffffff8040002784:	d53800a0 	mrs	x0, mpidr_el1
-ffffff8040002788:	72001c1f 	tst	w0, #0xff
-ffffff804000278c:	54000041 	b.ne	ffffff8040002794 <devintr+0x6c>  // b.any
-ffffff8040002790:	97ffffd6 	bl	ffffff80400026e8 <clockintr>
-ffffff8040002794:	52800053 	mov	w19, #0x2                   	// #2
-ffffff8040002798:	94000ec0 	bl	ffffff8040006298 <timerintr>
-ffffff804000279c:	17ffffed 	b	ffffff8040002750 <devintr+0x28>
-ffffff80400027a0:	710ffc1f 	cmp	w0, #0x3ff
-ffffff80400027a4:	540000c0 	b.eq	ffffff80400027bc <devintr+0x94>  // b.none
-ffffff80400027a8:	34fffd80 	cbz	w0, ffffff8040002758 <devintr+0x30>
-ffffff80400027ac:	2a0003e1 	mov	w1, w0
-ffffff80400027b0:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400027b4:	910bd400 	add	x0, x0, #0x2f5
-ffffff80400027b8:	97fff764 	bl	ffffff8040000548 <printf>
-ffffff80400027bc:	52800013 	mov	w19, #0x0                   	// #0
-ffffff80400027c0:	17ffffe6 	b	ffffff8040002758 <devintr+0x30>
-
-ffffff80400027c4 <userirq>:
-ffffff80400027c4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400027c8:	910003fd 	mov	x29, sp
-ffffff80400027cc:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400027d0:	97fffce7 	bl	ffffff8040001b6c <myproc>
-ffffff80400027d4:	aa0003f3 	mov	x19, x0
-ffffff80400027d8:	97ffffd4 	bl	ffffff8040002728 <devintr>
-ffffff80400027dc:	7100081f 	cmp	w0, #0x2
-ffffff80400027e0:	54000041 	b.ne	ffffff80400027e8 <userirq+0x24>  // b.any
-ffffff80400027e4:	97fffe1c 	bl	ffffff8040002054 <yield>
-ffffff80400027e8:	b9402a60 	ldr	w0, [x19, #40]
-ffffff80400027ec:	34000060 	cbz	w0, ffffff80400027f8 <userirq+0x34>
-ffffff80400027f0:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff80400027f4:	97fffeb3 	bl	ffffff80400022c0 <exit>
-ffffff80400027f8:	d5034fdf 	msr	daifset, #0xf
-ffffff80400027fc:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002800:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002804:	d65f03c0 	ret
-
-ffffff8040002808 <kernelirq>:
-ffffff8040002808:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff804000280c:	910003fd 	mov	x29, sp
-ffffff8040002810:	97ffffc6 	bl	ffffff8040002728 <devintr>
-ffffff8040002814:	7100081f 	cmp	w0, #0x2
-ffffff8040002818:	54000121 	b.ne	ffffff804000283c <kernelirq+0x34>  // b.any
-ffffff804000281c:	97fffcd4 	bl	ffffff8040001b6c <myproc>
-ffffff8040002820:	b40000e0 	cbz	x0, ffffff804000283c <kernelirq+0x34>
-ffffff8040002824:	97fffcd2 	bl	ffffff8040001b6c <myproc>
-ffffff8040002828:	b9401800 	ldr	w0, [x0, #24]
-ffffff804000282c:	7100101f 	cmp	w0, #0x4
-ffffff8040002830:	54000061 	b.ne	ffffff804000283c <kernelirq+0x34>  // b.any
-ffffff8040002834:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040002838:	17fffe07 	b	ffffff8040002054 <yield>
-ffffff804000283c:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040002840:	d65f03c0 	ret
-
-ffffff8040002844 <argraw>:
-ffffff8040002844:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002848:	910003fd 	mov	x29, sp
-ffffff804000284c:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002850:	2a0003f3 	mov	w19, w0
-ffffff8040002854:	97fffcc6 	bl	ffffff8040001b6c <myproc>
-ffffff8040002858:	7100167f 	cmp	w19, #0x5
-ffffff804000285c:	540002c8 	b.hi	ffffff80400028b4 <argraw+0x70>  // b.pmore
-ffffff8040002860:	b0000022 	adrp	x2, ffffff8040007000 <etext>
-ffffff8040002864:	910ce042 	add	x2, x2, #0x338
-ffffff8040002868:	f9402c01 	ldr	x1, [x0, #88]
-ffffff804000286c:	38734842 	ldrb	w2, [x2, w19, uxtw]
-ffffff8040002870:	10000073 	adr	x19, ffffff804000287c <argraw+0x38>
-ffffff8040002874:	8b228a62 	add	x2, x19, w2, sxtb #2
-ffffff8040002878:	d61f0040 	br	x2
-ffffff804000287c:	f9400020 	ldr	x0, [x1]
-ffffff8040002880:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002884:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002888:	d65f03c0 	ret
-ffffff804000288c:	f9400420 	ldr	x0, [x1, #8]
-ffffff8040002890:	17fffffc 	b	ffffff8040002880 <argraw+0x3c>
-ffffff8040002894:	f9400820 	ldr	x0, [x1, #16]
-ffffff8040002898:	17fffffa 	b	ffffff8040002880 <argraw+0x3c>
-ffffff804000289c:	f9400c20 	ldr	x0, [x1, #24]
-ffffff80400028a0:	17fffff8 	b	ffffff8040002880 <argraw+0x3c>
-ffffff80400028a4:	f9401020 	ldr	x0, [x1, #32]
-ffffff80400028a8:	17fffff6 	b	ffffff8040002880 <argraw+0x3c>
-ffffff80400028ac:	f9401420 	ldr	x0, [x1, #40]
-ffffff80400028b0:	17fffff4 	b	ffffff8040002880 <argraw+0x3c>
-ffffff80400028b4:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400028b8:	910c4800 	add	x0, x0, #0x312
-ffffff80400028bc:	97fff711 	bl	ffffff8040000500 <panic>
-
-ffffff80400028c0 <fetchaddr>:
-ffffff80400028c0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400028c4:	910003fd 	mov	x29, sp
-ffffff80400028c8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400028cc:	aa0003f3 	mov	x19, x0
-ffffff80400028d0:	aa0103f4 	mov	x20, x1
-ffffff80400028d4:	97fffca6 	bl	ffffff8040001b6c <myproc>
-ffffff80400028d8:	f9402401 	ldr	x1, [x0, #72]
-ffffff80400028dc:	eb13003f 	cmp	x1, x19
-ffffff80400028e0:	540001c9 	b.ls	ffffff8040002918 <fetchaddr+0x58>  // b.plast
-ffffff80400028e4:	91002262 	add	x2, x19, #0x8
-ffffff80400028e8:	eb02003f 	cmp	x1, x2
-ffffff80400028ec:	54000163 	b.cc	ffffff8040002918 <fetchaddr+0x58>  // b.lo, b.ul, b.last
-ffffff80400028f0:	d2800103 	mov	x3, #0x8                   	// #8
-ffffff80400028f4:	aa1303e2 	mov	x2, x19
-ffffff80400028f8:	f9402800 	ldr	x0, [x0, #80]
-ffffff80400028fc:	aa1403e1 	mov	x1, x20
-ffffff8040002900:	97fffbd0 	bl	ffffff8040001840 <copyin>
-ffffff8040002904:	7100001f 	cmp	w0, #0x0
-ffffff8040002908:	5a9f03e0 	csetm	w0, ne  // ne = any
-ffffff804000290c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002910:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002914:	d65f03c0 	ret
-ffffff8040002918:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff804000291c:	17fffffc 	b	ffffff804000290c <fetchaddr+0x4c>
-
-ffffff8040002920 <fetchstr>:
-ffffff8040002920:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002924:	910003fd 	mov	x29, sp
-ffffff8040002928:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000292c:	aa0003f4 	mov	x20, x0
-ffffff8040002930:	aa0103f3 	mov	x19, x1
-ffffff8040002934:	f90013f5 	str	x21, [sp, #32]
-ffffff8040002938:	2a0203f5 	mov	w21, w2
-ffffff804000293c:	97fffc8c 	bl	ffffff8040001b6c <myproc>
-ffffff8040002940:	93407ea3 	sxtw	x3, w21
-ffffff8040002944:	aa1403e2 	mov	x2, x20
-ffffff8040002948:	f9402800 	ldr	x0, [x0, #80]
-ffffff804000294c:	aa1303e1 	mov	x1, x19
-ffffff8040002950:	97fffbe0 	bl	ffffff80400018d0 <copyinstr>
-ffffff8040002954:	37f800c0 	tbnz	w0, #31, ffffff804000296c <fetchstr+0x4c>
-ffffff8040002958:	aa1303e0 	mov	x0, x19
-ffffff804000295c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002960:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040002964:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002968:	17fff935 	b	ffffff8040000e3c <strlen>
-ffffff804000296c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002970:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040002974:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002978:	d65f03c0 	ret
-
-ffffff804000297c <argint>:
-ffffff804000297c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002980:	910003fd 	mov	x29, sp
-ffffff8040002984:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002988:	aa0103f3 	mov	x19, x1
-ffffff804000298c:	97ffffae 	bl	ffffff8040002844 <argraw>
-ffffff8040002990:	b9000260 	str	w0, [x19]
-ffffff8040002994:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002998:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff804000299c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400029a0:	d65f03c0 	ret
-
-ffffff80400029a4 <argaddr>:
-ffffff80400029a4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400029a8:	910003fd 	mov	x29, sp
-ffffff80400029ac:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400029b0:	aa0103f3 	mov	x19, x1
-ffffff80400029b4:	97ffffa4 	bl	ffffff8040002844 <argraw>
-ffffff80400029b8:	f9000260 	str	x0, [x19]
-ffffff80400029bc:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400029c0:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff80400029c4:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400029c8:	d65f03c0 	ret
-
-ffffff80400029cc <argstr>:
-ffffff80400029cc:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400029d0:	910003fd 	mov	x29, sp
-ffffff80400029d4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400029d8:	aa0103f3 	mov	x19, x1
-ffffff80400029dc:	2a0203f4 	mov	w20, w2
-ffffff80400029e0:	97ffff99 	bl	ffffff8040002844 <argraw>
-ffffff80400029e4:	2a1403e2 	mov	w2, w20
-ffffff80400029e8:	aa1303e1 	mov	x1, x19
-ffffff80400029ec:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400029f0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400029f4:	17ffffcb 	b	ffffff8040002920 <fetchstr>
-
-ffffff80400029f8 <syscall>:
-ffffff80400029f8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400029fc:	910003fd 	mov	x29, sp
-ffffff8040002a00:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002a04:	97fffc5a 	bl	ffffff8040001b6c <myproc>
-ffffff8040002a08:	f9402c14 	ldr	x20, [x0, #88]
-ffffff8040002a0c:	aa0003f3 	mov	x19, x0
-ffffff8040002a10:	f9401e83 	ldr	x3, [x20, #56]
-ffffff8040002a14:	51000460 	sub	w0, w3, #0x1
-ffffff8040002a18:	7100501f 	cmp	w0, #0x14
-ffffff8040002a1c:	54000148 	b.hi	ffffff8040002a44 <syscall+0x4c>  // b.pmore
-ffffff8040002a20:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002a24:	910d0000 	add	x0, x0, #0x340
-ffffff8040002a28:	f863d800 	ldr	x0, [x0, w3, sxtw #3]
-ffffff8040002a2c:	b40000c0 	cbz	x0, ffffff8040002a44 <syscall+0x4c>
-ffffff8040002a30:	d63f0000 	blr	x0
-ffffff8040002a34:	f9000280 	str	x0, [x20]
-ffffff8040002a38:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002a3c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002a40:	d65f03c0 	ret
-ffffff8040002a44:	b9403261 	ldr	w1, [x19, #48]
-ffffff8040002a48:	91056262 	add	x2, x19, #0x158
-ffffff8040002a4c:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002a50:	910c6400 	add	x0, x0, #0x319
-ffffff8040002a54:	97fff6bd 	bl	ffffff8040000548 <printf>
-ffffff8040002a58:	f9402e60 	ldr	x0, [x19, #88]
-ffffff8040002a5c:	92800001 	mov	x1, #0xffffffffffffffff    	// #-1
-ffffff8040002a60:	f9000001 	str	x1, [x0]
-ffffff8040002a64:	17fffff5 	b	ffffff8040002a38 <syscall+0x40>
-
-ffffff8040002a68 <sys_exit>:
-ffffff8040002a68:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002a6c:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002a70:	910003fd 	mov	x29, sp
-ffffff8040002a74:	910073e1 	add	x1, sp, #0x1c
-ffffff8040002a78:	97ffffc1 	bl	ffffff804000297c <argint>
-ffffff8040002a7c:	37f800c0 	tbnz	w0, #31, ffffff8040002a94 <sys_exit+0x2c>
-ffffff8040002a80:	b9401fe0 	ldr	w0, [sp, #28]
-ffffff8040002a84:	97fffe0f 	bl	ffffff80400022c0 <exit>
-ffffff8040002a88:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040002a8c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002a90:	d65f03c0 	ret
-ffffff8040002a94:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040002a98:	17fffffd 	b	ffffff8040002a8c <sys_exit+0x24>
-
-ffffff8040002a9c <sys_getpid>:
-ffffff8040002a9c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040002aa0:	910003fd 	mov	x29, sp
-ffffff8040002aa4:	97fffc32 	bl	ffffff8040001b6c <myproc>
-ffffff8040002aa8:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040002aac:	b9803000 	ldrsw	x0, [x0, #48]
-ffffff8040002ab0:	d65f03c0 	ret
-
-ffffff8040002ab4 <sys_fork>:
-ffffff8040002ab4:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff8040002ab8:	910003fd 	mov	x29, sp
-ffffff8040002abc:	97fffccb 	bl	ffffff8040001de8 <fork>
-ffffff8040002ac0:	93407c00 	sxtw	x0, w0
-ffffff8040002ac4:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040002ac8:	d65f03c0 	ret
-
-ffffff8040002acc <sys_wait>:
-ffffff8040002acc:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002ad0:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002ad4:	910003fd 	mov	x29, sp
-ffffff8040002ad8:	910063e1 	add	x1, sp, #0x18
-ffffff8040002adc:	97ffffb2 	bl	ffffff80400029a4 <argaddr>
-ffffff8040002ae0:	37f800c0 	tbnz	w0, #31, ffffff8040002af8 <sys_wait+0x2c>
-ffffff8040002ae4:	f9400fe0 	ldr	x0, [sp, #24]
-ffffff8040002ae8:	97fffd7f 	bl	ffffff80400020e4 <wait>
-ffffff8040002aec:	93407c00 	sxtw	x0, w0
-ffffff8040002af0:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002af4:	d65f03c0 	ret
-ffffff8040002af8:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040002afc:	17fffffd 	b	ffffff8040002af0 <sys_wait+0x24>
-
-ffffff8040002b00 <sys_sbrk>:
-ffffff8040002b00:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002b04:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002b08:	910003fd 	mov	x29, sp
-ffffff8040002b0c:	9100b3e1 	add	x1, sp, #0x2c
-ffffff8040002b10:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002b14:	97ffff9a 	bl	ffffff804000297c <argint>
-ffffff8040002b18:	36f800a0 	tbz	w0, #31, ffffff8040002b2c <sys_sbrk+0x2c>
-ffffff8040002b1c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040002b20:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002b24:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002b28:	d65f03c0 	ret
-ffffff8040002b2c:	97fffc10 	bl	ffffff8040001b6c <myproc>
-ffffff8040002b30:	f9402413 	ldr	x19, [x0, #72]
-ffffff8040002b34:	b9402fe0 	ldr	w0, [sp, #44]
-ffffff8040002b38:	97fffc8f 	bl	ffffff8040001d74 <growproc>
-ffffff8040002b3c:	37ffff00 	tbnz	w0, #31, ffffff8040002b1c <sys_sbrk+0x1c>
-ffffff8040002b40:	93407e60 	sxtw	x0, w19
-ffffff8040002b44:	17fffff7 	b	ffffff8040002b20 <sys_sbrk+0x20>
-
-ffffff8040002b48 <sys_sleep>:
-ffffff8040002b48:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040002b4c:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002b50:	910003fd 	mov	x29, sp
-ffffff8040002b54:	9100f3e1 	add	x1, sp, #0x3c
-ffffff8040002b58:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002b5c:	f90013f5 	str	x21, [sp, #32]
-ffffff8040002b60:	97ffff87 	bl	ffffff804000297c <argint>
-ffffff8040002b64:	37f80320 	tbnz	w0, #31, ffffff8040002bc8 <sys_sleep+0x80>
-ffffff8040002b68:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff8040002b6c:	913e0273 	add	x19, x19, #0xf80
-ffffff8040002b70:	b00000d4 	adrp	x20, ffffff804001b000 <proc+0x4a80>
-ffffff8040002b74:	aa1303e0 	mov	x0, x19
-ffffff8040002b78:	97fff822 	bl	ffffff8040000c00 <acquire>
-ffffff8040002b7c:	b94f9a95 	ldr	w21, [x20, #3992]
-ffffff8040002b80:	913e6294 	add	x20, x20, #0xf98
-ffffff8040002b84:	b9400280 	ldr	w0, [x20]
-ffffff8040002b88:	b9403fe1 	ldr	w1, [sp, #60]
-ffffff8040002b8c:	4b150000 	sub	w0, w0, w21
-ffffff8040002b90:	6b01001f 	cmp	w0, w1
-ffffff8040002b94:	54000103 	b.cc	ffffff8040002bb4 <sys_sleep+0x6c>  // b.lo, b.ul, b.last
-ffffff8040002b98:	aa1303e0 	mov	x0, x19
-ffffff8040002b9c:	97fff844 	bl	ffffff8040000cac <release>
-ffffff8040002ba0:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040002ba4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002ba8:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040002bac:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040002bb0:	d65f03c0 	ret
-ffffff8040002bb4:	97fffbee 	bl	ffffff8040001b6c <myproc>
-ffffff8040002bb8:	b9402800 	ldr	w0, [x0, #40]
-ffffff8040002bbc:	340000a0 	cbz	w0, ffffff8040002bd0 <sys_sleep+0x88>
-ffffff8040002bc0:	aa1303e0 	mov	x0, x19
-ffffff8040002bc4:	97fff83a 	bl	ffffff8040000cac <release>
-ffffff8040002bc8:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040002bcc:	17fffff6 	b	ffffff8040002ba4 <sys_sleep+0x5c>
-ffffff8040002bd0:	aa1303e1 	mov	x1, x19
-ffffff8040002bd4:	aa1403e0 	mov	x0, x20
-ffffff8040002bd8:	97fffd2c 	bl	ffffff8040002088 <sleep>
-ffffff8040002bdc:	17ffffea 	b	ffffff8040002b84 <sys_sleep+0x3c>
-
-ffffff8040002be0 <sys_kill>:
-ffffff8040002be0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002be4:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040002be8:	910003fd 	mov	x29, sp
-ffffff8040002bec:	910073e1 	add	x1, sp, #0x1c
-ffffff8040002bf0:	97ffff63 	bl	ffffff804000297c <argint>
-ffffff8040002bf4:	37f800c0 	tbnz	w0, #31, ffffff8040002c0c <sys_kill+0x2c>
-ffffff8040002bf8:	b9401fe0 	ldr	w0, [sp, #28]
-ffffff8040002bfc:	97fffde1 	bl	ffffff8040002380 <kill>
-ffffff8040002c00:	93407c00 	sxtw	x0, w0
-ffffff8040002c04:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002c08:	d65f03c0 	ret
-ffffff8040002c0c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040002c10:	17fffffd 	b	ffffff8040002c04 <sys_kill+0x24>
-
-ffffff8040002c14 <sys_uptime>:
-ffffff8040002c14:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002c18:	910003fd 	mov	x29, sp
-ffffff8040002c1c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002c20:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff8040002c24:	913e0273 	add	x19, x19, #0xf80
-ffffff8040002c28:	aa1303e0 	mov	x0, x19
-ffffff8040002c2c:	97fff7f5 	bl	ffffff8040000c00 <acquire>
-ffffff8040002c30:	b00000c0 	adrp	x0, ffffff804001b000 <proc+0x4a80>
-ffffff8040002c34:	b94f9814 	ldr	w20, [x0, #3992]
-ffffff8040002c38:	aa1303e0 	mov	x0, x19
-ffffff8040002c3c:	97fff81c 	bl	ffffff8040000cac <release>
-ffffff8040002c40:	2a1403e0 	mov	w0, w20
-ffffff8040002c44:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002c48:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002c4c:	d65f03c0 	ret
-
-ffffff8040002c50 <binit>:
-ffffff8040002c50:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040002c54:	910003fd 	mov	x29, sp
-ffffff8040002c58:	b0000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040002c5c:	910fc021 	add	x1, x1, #0x3f0
-ffffff8040002c60:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002c64:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff8040002c68:	913e8273 	add	x19, x19, #0xfa0
-ffffff8040002c6c:	aa1303e0 	mov	x0, x19
-ffffff8040002c70:	b00000d4 	adrp	x20, ffffff804001b000 <proc+0x4a80>
-ffffff8040002c74:	913ee294 	add	x20, x20, #0xfb8
-ffffff8040002c78:	91402273 	add	x19, x19, #0x8, lsl #12
-ffffff8040002c7c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002c80:	d0000115 	adrp	x21, ffffff8040024000 <bcache+0x8060>
-ffffff8040002c84:	910822b5 	add	x21, x21, #0x208
-ffffff8040002c88:	d28003d6 	mov	x22, #0x1e                  	// #30
-ffffff8040002c8c:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040002c90:	b0000037 	adrp	x23, ffffff8040007000 <etext>
-ffffff8040002c94:	910fdef7 	add	x23, x23, #0x3f7
-ffffff8040002c98:	97fff7b5 	bl	ffffff8040000b6c <initlock>
-ffffff8040002c9c:	f9015a75 	str	x21, [x19, #688]
-ffffff8040002ca0:	f9015e75 	str	x21, [x19, #696]
-ffffff8040002ca4:	f9415e60 	ldr	x0, [x19, #696]
-ffffff8040002ca8:	aa1703e1 	mov	x1, x23
-ffffff8040002cac:	a9048295 	stp	x21, x0, [x20, #72]
-ffffff8040002cb0:	91004280 	add	x0, x20, #0x10
-ffffff8040002cb4:	940004e1 	bl	ffffff8040004038 <initsleeplock>
-ffffff8040002cb8:	f9415e60 	ldr	x0, [x19, #696]
-ffffff8040002cbc:	f10006d6 	subs	x22, x22, #0x1
-ffffff8040002cc0:	f9002414 	str	x20, [x0, #72]
-ffffff8040002cc4:	f9015e74 	str	x20, [x19, #696]
-ffffff8040002cc8:	91116294 	add	x20, x20, #0x458
-ffffff8040002ccc:	54fffec1 	b.ne	ffffff8040002ca4 <binit+0x54>  // b.any
-ffffff8040002cd0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002cd4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040002cd8:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff8040002cdc:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040002ce0:	d65f03c0 	ret
-
-ffffff8040002ce4 <bread>:
-ffffff8040002ce4:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040002ce8:	910003fd 	mov	x29, sp
-ffffff8040002cec:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002cf0:	b00000d4 	adrp	x20, ffffff804001b000 <proc+0x4a80>
-ffffff8040002cf4:	913e8294 	add	x20, x20, #0xfa0
-ffffff8040002cf8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002cfc:	2a0003f5 	mov	w21, w0
-ffffff8040002d00:	aa1403e0 	mov	x0, x20
-ffffff8040002d04:	2a0103f6 	mov	w22, w1
-ffffff8040002d08:	97fff7be 	bl	ffffff8040000c00 <acquire>
-ffffff8040002d0c:	91402280 	add	x0, x20, #0x8, lsl #12
-ffffff8040002d10:	d0000102 	adrp	x2, ffffff8040024000 <bcache+0x8060>
-ffffff8040002d14:	91082042 	add	x2, x2, #0x208
-ffffff8040002d18:	f9415c13 	ldr	x19, [x0, #696]
-ffffff8040002d1c:	eb02027f 	cmp	x19, x2
-ffffff8040002d20:	540000e1 	b.ne	ffffff8040002d3c <bread+0x58>  // b.any
-ffffff8040002d24:	f9415813 	ldr	x19, [x0, #688]
-ffffff8040002d28:	eb02027f 	cmp	x19, x2
-ffffff8040002d2c:	540003e1 	b.ne	ffffff8040002da8 <bread+0xc4>  // b.any
-ffffff8040002d30:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002d34:	910ff800 	add	x0, x0, #0x3fe
-ffffff8040002d38:	97fff5f2 	bl	ffffff8040000500 <panic>
-ffffff8040002d3c:	b9400a61 	ldr	w1, [x19, #8]
-ffffff8040002d40:	6b0102bf 	cmp	w21, w1
-ffffff8040002d44:	540002e1 	b.ne	ffffff8040002da0 <bread+0xbc>  // b.any
-ffffff8040002d48:	b9400e61 	ldr	w1, [x19, #12]
-ffffff8040002d4c:	6b0102df 	cmp	w22, w1
-ffffff8040002d50:	54000281 	b.ne	ffffff8040002da0 <bread+0xbc>  // b.any
-ffffff8040002d54:	b9404260 	ldr	w0, [x19, #64]
-ffffff8040002d58:	11000400 	add	w0, w0, #0x1
-ffffff8040002d5c:	b9004260 	str	w0, [x19, #64]
-ffffff8040002d60:	aa1403e0 	mov	x0, x20
-ffffff8040002d64:	97fff7d2 	bl	ffffff8040000cac <release>
-ffffff8040002d68:	91004260 	add	x0, x19, #0x10
-ffffff8040002d6c:	940004c2 	bl	ffffff8040004074 <acquiresleep>
-ffffff8040002d70:	b9400260 	ldr	w0, [x19]
-ffffff8040002d74:	350000c0 	cbnz	w0, ffffff8040002d8c <bread+0xa8>
-ffffff8040002d78:	aa1303e0 	mov	x0, x19
-ffffff8040002d7c:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040002d80:	94000dc8 	bl	ffffff80400064a0 <virtio_disk_rw>
-ffffff8040002d84:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040002d88:	b9000260 	str	w0, [x19]
-ffffff8040002d8c:	aa1303e0 	mov	x0, x19
-ffffff8040002d90:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002d94:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040002d98:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040002d9c:	d65f03c0 	ret
-ffffff8040002da0:	f9402a73 	ldr	x19, [x19, #80]
-ffffff8040002da4:	17ffffde 	b	ffffff8040002d1c <bread+0x38>
-ffffff8040002da8:	b9404260 	ldr	w0, [x19, #64]
-ffffff8040002dac:	350000a0 	cbnz	w0, ffffff8040002dc0 <bread+0xdc>
-ffffff8040002db0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040002db4:	b900027f 	str	wzr, [x19]
-ffffff8040002db8:	29015a75 	stp	w21, w22, [x19, #8]
-ffffff8040002dbc:	17ffffe8 	b	ffffff8040002d5c <bread+0x78>
-ffffff8040002dc0:	f9402673 	ldr	x19, [x19, #72]
-ffffff8040002dc4:	17ffffd9 	b	ffffff8040002d28 <bread+0x44>
-
-ffffff8040002dc8 <bwrite>:
-ffffff8040002dc8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002dcc:	910003fd 	mov	x29, sp
-ffffff8040002dd0:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040002dd4:	aa0003f3 	mov	x19, x0
-ffffff8040002dd8:	91004000 	add	x0, x0, #0x10
-ffffff8040002ddc:	940004cb 	bl	ffffff8040004108 <holdingsleep>
-ffffff8040002de0:	35000080 	cbnz	w0, ffffff8040002df0 <bwrite+0x28>
-ffffff8040002de4:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002de8:	91103c00 	add	x0, x0, #0x40f
-ffffff8040002dec:	97fff5c5 	bl	ffffff8040000500 <panic>
-ffffff8040002df0:	aa1303e0 	mov	x0, x19
-ffffff8040002df4:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040002df8:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040002dfc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002e00:	14000da8 	b	ffffff80400064a0 <virtio_disk_rw>
-
-ffffff8040002e04 <brelse>:
-ffffff8040002e04:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002e08:	910003fd 	mov	x29, sp
-ffffff8040002e0c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002e10:	91004014 	add	x20, x0, #0x10
-ffffff8040002e14:	aa0003f3 	mov	x19, x0
-ffffff8040002e18:	aa1403e0 	mov	x0, x20
-ffffff8040002e1c:	940004bb 	bl	ffffff8040004108 <holdingsleep>
-ffffff8040002e20:	35000080 	cbnz	w0, ffffff8040002e30 <brelse+0x2c>
-ffffff8040002e24:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002e28:	91105800 	add	x0, x0, #0x416
-ffffff8040002e2c:	97fff5b5 	bl	ffffff8040000500 <panic>
-ffffff8040002e30:	aa1403e0 	mov	x0, x20
-ffffff8040002e34:	b00000d4 	adrp	x20, ffffff804001b000 <proc+0x4a80>
-ffffff8040002e38:	913e8294 	add	x20, x20, #0xfa0
-ffffff8040002e3c:	940004a4 	bl	ffffff80400040cc <releasesleep>
-ffffff8040002e40:	aa1403e0 	mov	x0, x20
-ffffff8040002e44:	97fff76f 	bl	ffffff8040000c00 <acquire>
-ffffff8040002e48:	b9404260 	ldr	w0, [x19, #64]
-ffffff8040002e4c:	51000400 	sub	w0, w0, #0x1
-ffffff8040002e50:	b9004260 	str	w0, [x19, #64]
-ffffff8040002e54:	35000180 	cbnz	w0, ffffff8040002e84 <brelse+0x80>
-ffffff8040002e58:	a9448261 	ldp	x1, x0, [x19, #72]
-ffffff8040002e5c:	f9002401 	str	x1, [x0, #72]
-ffffff8040002e60:	f9402661 	ldr	x1, [x19, #72]
-ffffff8040002e64:	f9002820 	str	x0, [x1, #80]
-ffffff8040002e68:	91402281 	add	x1, x20, #0x8, lsl #12
-ffffff8040002e6c:	d0000100 	adrp	x0, ffffff8040024000 <bcache+0x8060>
-ffffff8040002e70:	91082000 	add	x0, x0, #0x208
-ffffff8040002e74:	f9415c22 	ldr	x2, [x1, #696]
-ffffff8040002e78:	a9048a60 	stp	x0, x2, [x19, #72]
-ffffff8040002e7c:	f9002453 	str	x19, [x2, #72]
-ffffff8040002e80:	f9015c33 	str	x19, [x1, #696]
-ffffff8040002e84:	aa1403e0 	mov	x0, x20
-ffffff8040002e88:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002e8c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002e90:	17fff787 	b	ffffff8040000cac <release>
-
-ffffff8040002e94 <bpin>:
-ffffff8040002e94:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002e98:	910003fd 	mov	x29, sp
-ffffff8040002e9c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002ea0:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff8040002ea4:	913e8273 	add	x19, x19, #0xfa0
-ffffff8040002ea8:	aa0003f4 	mov	x20, x0
-ffffff8040002eac:	aa1303e0 	mov	x0, x19
-ffffff8040002eb0:	97fff754 	bl	ffffff8040000c00 <acquire>
-ffffff8040002eb4:	b9404280 	ldr	w0, [x20, #64]
-ffffff8040002eb8:	11000400 	add	w0, w0, #0x1
-ffffff8040002ebc:	b9004280 	str	w0, [x20, #64]
-ffffff8040002ec0:	aa1303e0 	mov	x0, x19
-ffffff8040002ec4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002ec8:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002ecc:	17fff778 	b	ffffff8040000cac <release>
-
-ffffff8040002ed0 <bunpin>:
-ffffff8040002ed0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002ed4:	910003fd 	mov	x29, sp
-ffffff8040002ed8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002edc:	b00000d3 	adrp	x19, ffffff804001b000 <proc+0x4a80>
-ffffff8040002ee0:	913e8273 	add	x19, x19, #0xfa0
-ffffff8040002ee4:	aa0003f4 	mov	x20, x0
-ffffff8040002ee8:	aa1303e0 	mov	x0, x19
-ffffff8040002eec:	97fff745 	bl	ffffff8040000c00 <acquire>
-ffffff8040002ef0:	b9404280 	ldr	w0, [x20, #64]
-ffffff8040002ef4:	51000400 	sub	w0, w0, #0x1
-ffffff8040002ef8:	b9004280 	str	w0, [x20, #64]
-ffffff8040002efc:	aa1303e0 	mov	x0, x19
-ffffff8040002f00:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002f04:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002f08:	17fff769 	b	ffffff8040000cac <release>
-
-ffffff8040002f0c <bfree>:
-ffffff8040002f0c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040002f10:	910003fd 	mov	x29, sp
-ffffff8040002f14:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002f18:	2a0103f3 	mov	w19, w1
-ffffff8040002f1c:	d0000101 	adrp	x1, ffffff8040024000 <bcache+0x8060>
-ffffff8040002f20:	b9467c21 	ldr	w1, [x1, #1660]
-ffffff8040002f24:	0b533421 	add	w1, w1, w19, lsr #13
-ffffff8040002f28:	97ffff6f 	bl	ffffff8040002ce4 <bread>
-ffffff8040002f2c:	12000a62 	and	w2, w19, #0x7
-ffffff8040002f30:	d3433273 	ubfx	x19, x19, #3, #10
-ffffff8040002f34:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040002f38:	8b130013 	add	x19, x0, x19
-ffffff8040002f3c:	1ac22021 	lsl	w1, w1, w2
-ffffff8040002f40:	39416262 	ldrb	w2, [x19, #88]
-ffffff8040002f44:	6a01005f 	tst	w2, w1
-ffffff8040002f48:	54000081 	b.ne	ffffff8040002f58 <bfree+0x4c>  // b.any
-ffffff8040002f4c:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002f50:	91107400 	add	x0, x0, #0x41d
-ffffff8040002f54:	97fff56b 	bl	ffffff8040000500 <panic>
-ffffff8040002f58:	0a210041 	bic	w1, w2, w1
-ffffff8040002f5c:	aa0003f4 	mov	x20, x0
-ffffff8040002f60:	39016261 	strb	w1, [x19, #88]
-ffffff8040002f64:	94000406 	bl	ffffff8040003f7c <log_write>
-ffffff8040002f68:	aa1403e0 	mov	x0, x20
-ffffff8040002f6c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040002f70:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040002f74:	17ffffa4 	b	ffffff8040002e04 <brelse>
-
-ffffff8040002f78 <balloc>:
-ffffff8040002f78:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040002f7c:	910003fd 	mov	x29, sp
-ffffff8040002f80:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040002f84:	52800014 	mov	w20, #0x0                   	// #0
-ffffff8040002f88:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040002f8c:	d0000115 	adrp	x21, ffffff8040024000 <bcache+0x8060>
-ffffff8040002f90:	911982b5 	add	x21, x21, #0x660
-ffffff8040002f94:	2a0003f6 	mov	w22, w0
-ffffff8040002f98:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040002f9c:	52800037 	mov	w23, #0x1                   	// #1
-ffffff8040002fa0:	b94006a0 	ldr	w0, [x21, #4]
-ffffff8040002fa4:	6b14001f 	cmp	w0, w20
-ffffff8040002fa8:	54000088 	b.hi	ffffff8040002fb8 <balloc+0x40>  // b.pmore
-ffffff8040002fac:	b0000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040002fb0:	9110c000 	add	x0, x0, #0x430
-ffffff8040002fb4:	97fff553 	bl	ffffff8040000500 <panic>
-ffffff8040002fb8:	b9401ea1 	ldr	w1, [x21, #28]
-ffffff8040002fbc:	2a1603e0 	mov	w0, w22
-ffffff8040002fc0:	0b943421 	add	w1, w1, w20, asr #13
-ffffff8040002fc4:	97ffff48 	bl	ffffff8040002ce4 <bread>
-ffffff8040002fc8:	b94006a4 	ldr	w4, [x21, #4]
-ffffff8040002fcc:	aa0003f3 	mov	x19, x0
-ffffff8040002fd0:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040002fd4:	0b140038 	add	w24, w1, w20
-ffffff8040002fd8:	6b18009f 	cmp	w4, w24
-ffffff8040002fdc:	54000169 	b.ls	ffffff8040003008 <balloc+0x90>  // b.plast
-ffffff8040002fe0:	13037c20 	asr	w0, w1, #3
-ffffff8040002fe4:	8b20c260 	add	x0, x19, w0, sxtw
-ffffff8040002fe8:	39416002 	ldrb	w2, [x0, #88]
-ffffff8040002fec:	12000823 	and	w3, w1, #0x7
-ffffff8040002ff0:	1ac322e3 	lsl	w3, w23, w3
-ffffff8040002ff4:	6a03005f 	tst	w2, w3
-ffffff8040002ff8:	54000100 	b.eq	ffffff8040003018 <balloc+0xa0>  // b.none
-ffffff8040002ffc:	11000421 	add	w1, w1, #0x1
-ffffff8040003000:	7140083f 	cmp	w1, #0x2, lsl #12
-ffffff8040003004:	54fffe81 	b.ne	ffffff8040002fd4 <balloc+0x5c>  // b.any
-ffffff8040003008:	aa1303e0 	mov	x0, x19
-ffffff804000300c:	11400a94 	add	w20, w20, #0x2, lsl #12
-ffffff8040003010:	97ffff7d 	bl	ffffff8040002e04 <brelse>
-ffffff8040003014:	17ffffe3 	b	ffffff8040002fa0 <balloc+0x28>
-ffffff8040003018:	2a030042 	orr	w2, w2, w3
-ffffff804000301c:	39016002 	strb	w2, [x0, #88]
-ffffff8040003020:	aa1303e0 	mov	x0, x19
-ffffff8040003024:	940003d6 	bl	ffffff8040003f7c <log_write>
-ffffff8040003028:	aa1303e0 	mov	x0, x19
-ffffff804000302c:	97ffff76 	bl	ffffff8040002e04 <brelse>
-ffffff8040003030:	2a1803e1 	mov	w1, w24
-ffffff8040003034:	2a1603e0 	mov	w0, w22
-ffffff8040003038:	97ffff2b 	bl	ffffff8040002ce4 <bread>
-ffffff804000303c:	aa0003f3 	mov	x19, x0
-ffffff8040003040:	52808002 	mov	w2, #0x400                 	// #1024
-ffffff8040003044:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040003048:	91016000 	add	x0, x0, #0x58
-ffffff804000304c:	97fff727 	bl	ffffff8040000ce8 <memset>
-ffffff8040003050:	aa1303e0 	mov	x0, x19
-ffffff8040003054:	940003ca 	bl	ffffff8040003f7c <log_write>
-ffffff8040003058:	aa1303e0 	mov	x0, x19
-ffffff804000305c:	97ffff6a 	bl	ffffff8040002e04 <brelse>
-ffffff8040003060:	2a1803e0 	mov	w0, w24
-ffffff8040003064:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003068:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000306c:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040003070:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040003074:	d65f03c0 	ret
-
-ffffff8040003078 <iget>:
-ffffff8040003078:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff804000307c:	910003fd 	mov	x29, sp
-ffffff8040003080:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003084:	b0000115 	adrp	x21, ffffff8040024000 <bcache+0x8060>
-ffffff8040003088:	911a02b5 	add	x21, x21, #0x680
-ffffff804000308c:	2a0103f6 	mov	w22, w1
-ffffff8040003090:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040003094:	2a0003f7 	mov	w23, w0
-ffffff8040003098:	aa1503e0 	mov	x0, x21
-ffffff804000309c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400030a0:	b0000113 	adrp	x19, ffffff8040024000 <bcache+0x8060>
-ffffff80400030a4:	911a6273 	add	x19, x19, #0x698
-ffffff80400030a8:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff80400030ac:	97fff6d5 	bl	ffffff8040000c00 <acquire>
-ffffff80400030b0:	d2800640 	mov	x0, #0x32                  	// #50
-ffffff80400030b4:	b9400a62 	ldr	w2, [x19, #8]
-ffffff80400030b8:	7100005f 	cmp	w2, #0x0
-ffffff80400030bc:	5400022d 	b.le	ffffff8040003100 <iget+0x88>
-ffffff80400030c0:	b9400261 	ldr	w1, [x19]
-ffffff80400030c4:	6b17003f 	cmp	w1, w23
-ffffff80400030c8:	54000201 	b.ne	ffffff8040003108 <iget+0x90>  // b.any
-ffffff80400030cc:	b9400661 	ldr	w1, [x19, #4]
-ffffff80400030d0:	6b16003f 	cmp	w1, w22
-ffffff80400030d4:	540001a1 	b.ne	ffffff8040003108 <iget+0x90>  // b.any
-ffffff80400030d8:	11000442 	add	w2, w2, #0x1
-ffffff80400030dc:	aa1503e0 	mov	x0, x21
-ffffff80400030e0:	b9000a62 	str	w2, [x19, #8]
-ffffff80400030e4:	97fff6f2 	bl	ffffff8040000cac <release>
-ffffff80400030e8:	aa1303e0 	mov	x0, x19
-ffffff80400030ec:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400030f0:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400030f4:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff80400030f8:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400030fc:	d65f03c0 	ret
-ffffff8040003100:	b5000054 	cbnz	x20, ffffff8040003108 <iget+0x90>
-ffffff8040003104:	9a9313f4 	csel	x20, xzr, x19, ne  // ne = any
-ffffff8040003108:	f1000400 	subs	x0, x0, #0x1
-ffffff804000310c:	91022273 	add	x19, x19, #0x88
-ffffff8040003110:	54fffd21 	b.ne	ffffff80400030b4 <iget+0x3c>  // b.any
-ffffff8040003114:	b5000094 	cbnz	x20, ffffff8040003124 <iget+0xac>
-ffffff8040003118:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000311c:	91111800 	add	x0, x0, #0x446
-ffffff8040003120:	97fff4f8 	bl	ffffff8040000500 <panic>
-ffffff8040003124:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040003128:	29005a97 	stp	w23, w22, [x20]
-ffffff804000312c:	aa1403f3 	mov	x19, x20
-ffffff8040003130:	b900429f 	str	wzr, [x20, #64]
-ffffff8040003134:	b9000a80 	str	w0, [x20, #8]
-ffffff8040003138:	aa1503e0 	mov	x0, x21
-ffffff804000313c:	97fff6dc 	bl	ffffff8040000cac <release>
-ffffff8040003140:	17ffffea 	b	ffffff80400030e8 <iget+0x70>
-
-ffffff8040003144 <bmap>:
-ffffff8040003144:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040003148:	910003fd 	mov	x29, sp
-ffffff804000314c:	71002c3f 	cmp	w1, #0xb
-ffffff8040003150:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003154:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003158:	aa0003f5 	mov	x21, x0
-ffffff804000315c:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040003160:	540001c8 	b.hi	ffffff8040003198 <bmap+0x54>  // b.pmore
-ffffff8040003164:	8b214813 	add	x19, x0, w1, uxtw #2
-ffffff8040003168:	b9405274 	ldr	w20, [x19, #80]
-ffffff804000316c:	350000b4 	cbnz	w20, ffffff8040003180 <bmap+0x3c>
-ffffff8040003170:	b9400000 	ldr	w0, [x0]
-ffffff8040003174:	97ffff81 	bl	ffffff8040002f78 <balloc>
-ffffff8040003178:	2a0003f4 	mov	w20, w0
-ffffff804000317c:	b9005260 	str	w0, [x19, #80]
-ffffff8040003180:	2a1403e0 	mov	w0, w20
-ffffff8040003184:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003188:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000318c:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff8040003190:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040003194:	d65f03c0 	ret
-ffffff8040003198:	51003033 	sub	w19, w1, #0xc
-ffffff804000319c:	7103fe7f 	cmp	w19, #0xff
-ffffff80400031a0:	540002e8 	b.hi	ffffff80400031fc <bmap+0xb8>  // b.pmore
-ffffff80400031a4:	b9408001 	ldr	w1, [x0, #128]
-ffffff80400031a8:	350000a1 	cbnz	w1, ffffff80400031bc <bmap+0x78>
-ffffff80400031ac:	b9400000 	ldr	w0, [x0]
-ffffff80400031b0:	97ffff72 	bl	ffffff8040002f78 <balloc>
-ffffff80400031b4:	2a0003e1 	mov	w1, w0
-ffffff80400031b8:	b90082a0 	str	w0, [x21, #128]
-ffffff80400031bc:	b94002a0 	ldr	w0, [x21]
-ffffff80400031c0:	d37e7e73 	ubfiz	x19, x19, #2, #32
-ffffff80400031c4:	97fffec8 	bl	ffffff8040002ce4 <bread>
-ffffff80400031c8:	91016017 	add	x23, x0, #0x58
-ffffff80400031cc:	aa0003f6 	mov	x22, x0
-ffffff80400031d0:	b8736af4 	ldr	w20, [x23, x19]
-ffffff80400031d4:	350000f4 	cbnz	w20, ffffff80400031f0 <bmap+0xac>
-ffffff80400031d8:	b94002a0 	ldr	w0, [x21]
-ffffff80400031dc:	97ffff67 	bl	ffffff8040002f78 <balloc>
-ffffff80400031e0:	2a0003f4 	mov	w20, w0
-ffffff80400031e4:	b8336ae0 	str	w0, [x23, x19]
-ffffff80400031e8:	aa1603e0 	mov	x0, x22
-ffffff80400031ec:	94000364 	bl	ffffff8040003f7c <log_write>
-ffffff80400031f0:	aa1603e0 	mov	x0, x22
-ffffff80400031f4:	97ffff04 	bl	ffffff8040002e04 <brelse>
-ffffff80400031f8:	17ffffe2 	b	ffffff8040003180 <bmap+0x3c>
-ffffff80400031fc:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003200:	91115800 	add	x0, x0, #0x456
-ffffff8040003204:	97fff4bf 	bl	ffffff8040000500 <panic>
-
-ffffff8040003208 <fsinit>:
-ffffff8040003208:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff804000320c:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040003210:	910003fd 	mov	x29, sp
-ffffff8040003214:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003218:	2a0003f4 	mov	w20, w0
-ffffff804000321c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003220:	b0000116 	adrp	x22, ffffff8040024000 <bcache+0x8060>
-ffffff8040003224:	911982d5 	add	x21, x22, #0x660
-ffffff8040003228:	97fffeaf 	bl	ffffff8040002ce4 <bread>
-ffffff804000322c:	91016001 	add	x1, x0, #0x58
-ffffff8040003230:	aa0003f3 	mov	x19, x0
-ffffff8040003234:	52800402 	mov	w2, #0x20                  	// #32
-ffffff8040003238:	aa1503e0 	mov	x0, x21
-ffffff804000323c:	97fff6c0 	bl	ffffff8040000d3c <memmove>
-ffffff8040003240:	aa1303e0 	mov	x0, x19
-ffffff8040003244:	97fffef0 	bl	ffffff8040002e04 <brelse>
-ffffff8040003248:	b94662c1 	ldr	w1, [x22, #1632]
-ffffff804000324c:	52860800 	mov	w0, #0x3040                	// #12352
-ffffff8040003250:	72a20400 	movk	w0, #0x1020, lsl #16
-ffffff8040003254:	6b00003f 	cmp	w1, w0
-ffffff8040003258:	54000080 	b.eq	ffffff8040003268 <fsinit+0x60>  // b.none
-ffffff804000325c:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003260:	9111a400 	add	x0, x0, #0x469
-ffffff8040003264:	97fff4a7 	bl	ffffff8040000500 <panic>
-ffffff8040003268:	aa1503e1 	mov	x1, x21
-ffffff804000326c:	2a1403e0 	mov	w0, w20
-ffffff8040003270:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003274:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003278:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff804000327c:	140002ba 	b	ffffff8040003d64 <initlog>
-
-ffffff8040003280 <iinit>:
-ffffff8040003280:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040003284:	910003fd 	mov	x29, sp
-ffffff8040003288:	90000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff804000328c:	9111f421 	add	x1, x1, #0x47d
-ffffff8040003290:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003294:	b0000113 	adrp	x19, ffffff8040024000 <bcache+0x8060>
-ffffff8040003298:	911a0273 	add	x19, x19, #0x680
-ffffff804000329c:	aa1303e0 	mov	x0, x19
-ffffff80400032a0:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff80400032a4:	9100a273 	add	x19, x19, #0x28
-ffffff80400032a8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400032ac:	90000035 	adrp	x21, ffffff8040007000 <etext>
-ffffff80400032b0:	911212b5 	add	x21, x21, #0x484
-ffffff80400032b4:	d2835216 	mov	x22, #0x1a90                	// #6800
-ffffff80400032b8:	97fff62d 	bl	ffffff8040000b6c <initlock>
-ffffff80400032bc:	8b140260 	add	x0, x19, x20
-ffffff80400032c0:	aa1503e1 	mov	x1, x21
-ffffff80400032c4:	91022294 	add	x20, x20, #0x88
-ffffff80400032c8:	9400035c 	bl	ffffff8040004038 <initsleeplock>
-ffffff80400032cc:	eb16029f 	cmp	x20, x22
-ffffff80400032d0:	54ffff61 	b.ne	ffffff80400032bc <iinit+0x3c>  // b.any
-ffffff80400032d4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400032d8:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400032dc:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400032e0:	d65f03c0 	ret
-
-ffffff80400032e4 <ialloc>:
-ffffff80400032e4:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff80400032e8:	910003fd 	mov	x29, sp
-ffffff80400032ec:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400032f0:	d2800033 	mov	x19, #0x1                   	// #1
-ffffff80400032f4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400032f8:	b0000115 	adrp	x21, ffffff8040024000 <bcache+0x8060>
-ffffff80400032fc:	911982b5 	add	x21, x21, #0x660
-ffffff8040003300:	2a0003f6 	mov	w22, w0
-ffffff8040003304:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040003308:	13003c38 	sxth	w24, w1
-ffffff804000330c:	f90023f9 	str	x25, [sp, #64]
-ffffff8040003310:	b9400ea0 	ldr	w0, [x21, #12]
-ffffff8040003314:	2a1303f9 	mov	w25, w19
-ffffff8040003318:	6b13001f 	cmp	w0, w19
-ffffff804000331c:	54000088 	b.hi	ffffff804000332c <ialloc+0x48>  // b.pmore
-ffffff8040003320:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003324:	91122800 	add	x0, x0, #0x48a
-ffffff8040003328:	97fff476 	bl	ffffff8040000500 <panic>
-ffffff804000332c:	b9401aa1 	ldr	w1, [x21, #24]
-ffffff8040003330:	d344fe60 	lsr	x0, x19, #4
-ffffff8040003334:	0b000021 	add	w1, w1, w0
-ffffff8040003338:	2a1603e0 	mov	w0, w22
-ffffff804000333c:	97fffe6a 	bl	ffffff8040002ce4 <bread>
-ffffff8040003340:	d37a0e61 	ubfiz	x1, x19, #6, #4
-ffffff8040003344:	91016002 	add	x2, x0, #0x58
-ffffff8040003348:	8b010057 	add	x23, x2, x1
-ffffff804000334c:	78e16841 	ldrsh	w1, [x2, x1]
-ffffff8040003350:	aa0003f4 	mov	x20, x0
-ffffff8040003354:	91000673 	add	x19, x19, #0x1
-ffffff8040003358:	35000221 	cbnz	w1, ffffff804000339c <ialloc+0xb8>
-ffffff804000335c:	52800802 	mov	w2, #0x40                  	// #64
-ffffff8040003360:	aa1703e0 	mov	x0, x23
-ffffff8040003364:	97fff661 	bl	ffffff8040000ce8 <memset>
-ffffff8040003368:	aa1403e0 	mov	x0, x20
-ffffff804000336c:	790002f8 	strh	w24, [x23]
-ffffff8040003370:	94000303 	bl	ffffff8040003f7c <log_write>
-ffffff8040003374:	aa1403e0 	mov	x0, x20
-ffffff8040003378:	97fffea3 	bl	ffffff8040002e04 <brelse>
-ffffff804000337c:	2a1903e1 	mov	w1, w25
-ffffff8040003380:	2a1603e0 	mov	w0, w22
-ffffff8040003384:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003388:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000338c:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040003390:	f94023f9 	ldr	x25, [sp, #64]
-ffffff8040003394:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040003398:	17ffff38 	b	ffffff8040003078 <iget>
-ffffff804000339c:	97fffe9a 	bl	ffffff8040002e04 <brelse>
-ffffff80400033a0:	17ffffdc 	b	ffffff8040003310 <ialloc+0x2c>
-
-ffffff80400033a4 <iupdate>:
-ffffff80400033a4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400033a8:	910003fd 	mov	x29, sp
-ffffff80400033ac:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400033b0:	aa0003f3 	mov	x19, x0
-ffffff80400033b4:	b0000100 	adrp	x0, ffffff8040024000 <bcache+0x8060>
-ffffff80400033b8:	b9467800 	ldr	w0, [x0, #1656]
-ffffff80400033bc:	b9400661 	ldr	w1, [x19, #4]
-ffffff80400033c0:	0b411001 	add	w1, w0, w1, lsr #4
-ffffff80400033c4:	b9400260 	ldr	w0, [x19]
-ffffff80400033c8:	97fffe47 	bl	ffffff8040002ce4 <bread>
-ffffff80400033cc:	b9400661 	ldr	w1, [x19, #4]
-ffffff80400033d0:	91016002 	add	x2, x0, #0x58
-ffffff80400033d4:	aa0003f4 	mov	x20, x0
-ffffff80400033d8:	79408a63 	ldrh	w3, [x19, #68]
-ffffff80400033dc:	d37a0c21 	ubfiz	x1, x1, #6, #4
-ffffff80400033e0:	8b010040 	add	x0, x2, x1
-ffffff80400033e4:	78216843 	strh	w3, [x2, x1]
-ffffff80400033e8:	91003000 	add	x0, x0, #0xc
-ffffff80400033ec:	52800682 	mov	w2, #0x34                  	// #52
-ffffff80400033f0:	79408e61 	ldrh	w1, [x19, #70]
-ffffff80400033f4:	781f6001 	sturh	w1, [x0, #-10]
-ffffff80400033f8:	79409261 	ldrh	w1, [x19, #72]
-ffffff80400033fc:	781f8001 	sturh	w1, [x0, #-8]
-ffffff8040003400:	79409661 	ldrh	w1, [x19, #74]
-ffffff8040003404:	781fa001 	sturh	w1, [x0, #-6]
-ffffff8040003408:	b9404e61 	ldr	w1, [x19, #76]
-ffffff804000340c:	b81fc001 	stur	w1, [x0, #-4]
-ffffff8040003410:	91014261 	add	x1, x19, #0x50
-ffffff8040003414:	97fff64a 	bl	ffffff8040000d3c <memmove>
-ffffff8040003418:	aa1403e0 	mov	x0, x20
-ffffff804000341c:	940002d8 	bl	ffffff8040003f7c <log_write>
-ffffff8040003420:	aa1403e0 	mov	x0, x20
-ffffff8040003424:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003428:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff804000342c:	17fffe76 	b	ffffff8040002e04 <brelse>
-
-ffffff8040003430 <idup>:
-ffffff8040003430:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003434:	910003fd 	mov	x29, sp
-ffffff8040003438:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000343c:	b0000114 	adrp	x20, ffffff8040024000 <bcache+0x8060>
-ffffff8040003440:	911a0294 	add	x20, x20, #0x680
-ffffff8040003444:	aa0003f3 	mov	x19, x0
-ffffff8040003448:	aa1403e0 	mov	x0, x20
-ffffff804000344c:	97fff5ed 	bl	ffffff8040000c00 <acquire>
-ffffff8040003450:	b9400a60 	ldr	w0, [x19, #8]
-ffffff8040003454:	11000400 	add	w0, w0, #0x1
-ffffff8040003458:	b9000a60 	str	w0, [x19, #8]
-ffffff804000345c:	aa1403e0 	mov	x0, x20
-ffffff8040003460:	97fff613 	bl	ffffff8040000cac <release>
-ffffff8040003464:	aa1303e0 	mov	x0, x19
-ffffff8040003468:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000346c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040003470:	d65f03c0 	ret
-
-ffffff8040003474 <ilock>:
-ffffff8040003474:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003478:	910003fd 	mov	x29, sp
-ffffff804000347c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003480:	b40000a0 	cbz	x0, ffffff8040003494 <ilock+0x20>
-ffffff8040003484:	aa0003f3 	mov	x19, x0
-ffffff8040003488:	b9400800 	ldr	w0, [x0, #8]
-ffffff804000348c:	7100001f 	cmp	w0, #0x0
-ffffff8040003490:	5400008c 	b.gt	ffffff80400034a0 <ilock+0x2c>
-ffffff8040003494:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003498:	91127000 	add	x0, x0, #0x49c
-ffffff804000349c:	97fff419 	bl	ffffff8040000500 <panic>
-ffffff80400034a0:	91004260 	add	x0, x19, #0x10
-ffffff80400034a4:	940002f4 	bl	ffffff8040004074 <acquiresleep>
-ffffff80400034a8:	b9404260 	ldr	w0, [x19, #64]
-ffffff80400034ac:	35000460 	cbnz	w0, ffffff8040003538 <ilock+0xc4>
-ffffff80400034b0:	b0000100 	adrp	x0, ffffff8040024000 <bcache+0x8060>
-ffffff80400034b4:	b9400661 	ldr	w1, [x19, #4]
-ffffff80400034b8:	b9467800 	ldr	w0, [x0, #1656]
-ffffff80400034bc:	0b411001 	add	w1, w0, w1, lsr #4
-ffffff80400034c0:	b9400260 	ldr	w0, [x19]
-ffffff80400034c4:	97fffe08 	bl	ffffff8040002ce4 <bread>
-ffffff80400034c8:	91016002 	add	x2, x0, #0x58
-ffffff80400034cc:	aa0003f4 	mov	x20, x0
-ffffff80400034d0:	b9400660 	ldr	w0, [x19, #4]
-ffffff80400034d4:	d37a0c00 	ubfiz	x0, x0, #6, #4
-ffffff80400034d8:	8b000041 	add	x1, x2, x0
-ffffff80400034dc:	78606840 	ldrh	w0, [x2, x0]
-ffffff80400034e0:	52800682 	mov	w2, #0x34                  	// #52
-ffffff80400034e4:	91003021 	add	x1, x1, #0xc
-ffffff80400034e8:	79008a60 	strh	w0, [x19, #68]
-ffffff80400034ec:	785f6020 	ldurh	w0, [x1, #-10]
-ffffff80400034f0:	79008e60 	strh	w0, [x19, #70]
-ffffff80400034f4:	785f8020 	ldurh	w0, [x1, #-8]
-ffffff80400034f8:	79009260 	strh	w0, [x19, #72]
-ffffff80400034fc:	785fa020 	ldurh	w0, [x1, #-6]
-ffffff8040003500:	79009660 	strh	w0, [x19, #74]
-ffffff8040003504:	b85fc020 	ldur	w0, [x1, #-4]
-ffffff8040003508:	b9004e60 	str	w0, [x19, #76]
-ffffff804000350c:	91014260 	add	x0, x19, #0x50
-ffffff8040003510:	97fff60b 	bl	ffffff8040000d3c <memmove>
-ffffff8040003514:	aa1403e0 	mov	x0, x20
-ffffff8040003518:	97fffe3b 	bl	ffffff8040002e04 <brelse>
-ffffff804000351c:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040003520:	b9004260 	str	w0, [x19, #64]
-ffffff8040003524:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff8040003528:	35000080 	cbnz	w0, ffffff8040003538 <ilock+0xc4>
-ffffff804000352c:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003530:	91128800 	add	x0, x0, #0x4a2
-ffffff8040003534:	17ffffda 	b	ffffff804000349c <ilock+0x28>
-ffffff8040003538:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000353c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040003540:	d65f03c0 	ret
-
-ffffff8040003544 <iunlock>:
-ffffff8040003544:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003548:	910003fd 	mov	x29, sp
-ffffff804000354c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003550:	b5000080 	cbnz	x0, ffffff8040003560 <iunlock+0x1c>
-ffffff8040003554:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003558:	9112c400 	add	x0, x0, #0x4b1
-ffffff804000355c:	97fff3e9 	bl	ffffff8040000500 <panic>
-ffffff8040003560:	91004014 	add	x20, x0, #0x10
-ffffff8040003564:	aa0003f3 	mov	x19, x0
-ffffff8040003568:	aa1403e0 	mov	x0, x20
-ffffff804000356c:	940002e7 	bl	ffffff8040004108 <holdingsleep>
-ffffff8040003570:	34ffff20 	cbz	w0, ffffff8040003554 <iunlock+0x10>
-ffffff8040003574:	b9400a60 	ldr	w0, [x19, #8]
-ffffff8040003578:	7100001f 	cmp	w0, #0x0
-ffffff804000357c:	54fffecd 	b.le	ffffff8040003554 <iunlock+0x10>
-ffffff8040003580:	aa1403e0 	mov	x0, x20
-ffffff8040003584:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003588:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff804000358c:	140002d0 	b	ffffff80400040cc <releasesleep>
-
-ffffff8040003590 <itrunc>:
-ffffff8040003590:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040003594:	910003fd 	mov	x29, sp
-ffffff8040003598:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000359c:	aa0003f3 	mov	x19, x0
-ffffff80400035a0:	91014014 	add	x20, x0, #0x50
-ffffff80400035a4:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400035a8:	91020015 	add	x21, x0, #0x80
-ffffff80400035ac:	b9400281 	ldr	w1, [x20]
-ffffff80400035b0:	34000081 	cbz	w1, ffffff80400035c0 <itrunc+0x30>
-ffffff80400035b4:	b9400260 	ldr	w0, [x19]
-ffffff80400035b8:	97fffe55 	bl	ffffff8040002f0c <bfree>
-ffffff80400035bc:	b900029f 	str	wzr, [x20]
-ffffff80400035c0:	91001294 	add	x20, x20, #0x4
-ffffff80400035c4:	eb15029f 	cmp	x20, x21
-ffffff80400035c8:	54ffff21 	b.ne	ffffff80400035ac <itrunc+0x1c>  // b.any
-ffffff80400035cc:	b9408261 	ldr	w1, [x19, #128]
-ffffff80400035d0:	34000261 	cbz	w1, ffffff804000361c <itrunc+0x8c>
-ffffff80400035d4:	b9400260 	ldr	w0, [x19]
-ffffff80400035d8:	97fffdc3 	bl	ffffff8040002ce4 <bread>
-ffffff80400035dc:	aa0003f4 	mov	x20, x0
-ffffff80400035e0:	91016015 	add	x21, x0, #0x58
-ffffff80400035e4:	91116016 	add	x22, x0, #0x458
-ffffff80400035e8:	b94002a1 	ldr	w1, [x21]
-ffffff80400035ec:	34000061 	cbz	w1, ffffff80400035f8 <itrunc+0x68>
-ffffff80400035f0:	b9400260 	ldr	w0, [x19]
-ffffff80400035f4:	97fffe46 	bl	ffffff8040002f0c <bfree>
-ffffff80400035f8:	910012b5 	add	x21, x21, #0x4
-ffffff80400035fc:	eb1502df 	cmp	x22, x21
-ffffff8040003600:	54ffff41 	b.ne	ffffff80400035e8 <itrunc+0x58>  // b.any
-ffffff8040003604:	aa1403e0 	mov	x0, x20
-ffffff8040003608:	97fffdff 	bl	ffffff8040002e04 <brelse>
-ffffff804000360c:	b9400260 	ldr	w0, [x19]
-ffffff8040003610:	b9408261 	ldr	w1, [x19, #128]
-ffffff8040003614:	97fffe3e 	bl	ffffff8040002f0c <bfree>
-ffffff8040003618:	b900827f 	str	wzr, [x19, #128]
-ffffff804000361c:	aa1303e0 	mov	x0, x19
-ffffff8040003620:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003624:	b9004e7f 	str	wzr, [x19, #76]
-ffffff8040003628:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000362c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040003630:	17ffff5d 	b	ffffff80400033a4 <iupdate>
-
-ffffff8040003634 <iput>:
-ffffff8040003634:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040003638:	910003fd 	mov	x29, sp
-ffffff804000363c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003640:	b0000114 	adrp	x20, ffffff8040024000 <bcache+0x8060>
-ffffff8040003644:	911a0294 	add	x20, x20, #0x680
-ffffff8040003648:	aa0003f3 	mov	x19, x0
-ffffff804000364c:	aa1403e0 	mov	x0, x20
-ffffff8040003650:	f90013f5 	str	x21, [sp, #32]
-ffffff8040003654:	97fff56b 	bl	ffffff8040000c00 <acquire>
-ffffff8040003658:	b9400a60 	ldr	w0, [x19, #8]
-ffffff804000365c:	7100041f 	cmp	w0, #0x1
-ffffff8040003660:	54000281 	b.ne	ffffff80400036b0 <iput+0x7c>  // b.any
-ffffff8040003664:	b9404260 	ldr	w0, [x19, #64]
-ffffff8040003668:	34000240 	cbz	w0, ffffff80400036b0 <iput+0x7c>
-ffffff804000366c:	79c09660 	ldrsh	w0, [x19, #74]
-ffffff8040003670:	35000200 	cbnz	w0, ffffff80400036b0 <iput+0x7c>
-ffffff8040003674:	91004275 	add	x21, x19, #0x10
-ffffff8040003678:	aa1503e0 	mov	x0, x21
-ffffff804000367c:	9400027e 	bl	ffffff8040004074 <acquiresleep>
-ffffff8040003680:	aa1403e0 	mov	x0, x20
-ffffff8040003684:	97fff58a 	bl	ffffff8040000cac <release>
-ffffff8040003688:	aa1303e0 	mov	x0, x19
-ffffff804000368c:	97ffffc1 	bl	ffffff8040003590 <itrunc>
-ffffff8040003690:	aa1303e0 	mov	x0, x19
-ffffff8040003694:	79008a7f 	strh	wzr, [x19, #68]
-ffffff8040003698:	97ffff43 	bl	ffffff80400033a4 <iupdate>
-ffffff804000369c:	aa1503e0 	mov	x0, x21
-ffffff80400036a0:	b900427f 	str	wzr, [x19, #64]
-ffffff80400036a4:	9400028a 	bl	ffffff80400040cc <releasesleep>
-ffffff80400036a8:	aa1403e0 	mov	x0, x20
-ffffff80400036ac:	97fff555 	bl	ffffff8040000c00 <acquire>
-ffffff80400036b0:	b9400a60 	ldr	w0, [x19, #8]
-ffffff80400036b4:	f94013f5 	ldr	x21, [sp, #32]
-ffffff80400036b8:	51000400 	sub	w0, w0, #0x1
-ffffff80400036bc:	b9000a60 	str	w0, [x19, #8]
-ffffff80400036c0:	aa1403e0 	mov	x0, x20
-ffffff80400036c4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400036c8:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400036cc:	17fff578 	b	ffffff8040000cac <release>
-
-ffffff80400036d0 <iunlockput>:
-ffffff80400036d0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400036d4:	910003fd 	mov	x29, sp
-ffffff80400036d8:	f9000bf3 	str	x19, [sp, #16]
-ffffff80400036dc:	aa0003f3 	mov	x19, x0
-ffffff80400036e0:	97ffff99 	bl	ffffff8040003544 <iunlock>
-ffffff80400036e4:	aa1303e0 	mov	x0, x19
-ffffff80400036e8:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff80400036ec:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400036f0:	17ffffd1 	b	ffffff8040003634 <iput>
-
-ffffff80400036f4 <stati>:
-ffffff80400036f4:	b9400002 	ldr	w2, [x0]
-ffffff80400036f8:	b9000022 	str	w2, [x1]
-ffffff80400036fc:	b9400402 	ldr	w2, [x0, #4]
-ffffff8040003700:	b9000422 	str	w2, [x1, #4]
-ffffff8040003704:	79408802 	ldrh	w2, [x0, #68]
-ffffff8040003708:	79001022 	strh	w2, [x1, #8]
-ffffff804000370c:	79409402 	ldrh	w2, [x0, #74]
-ffffff8040003710:	b9404c00 	ldr	w0, [x0, #76]
-ffffff8040003714:	79001422 	strh	w2, [x1, #10]
-ffffff8040003718:	f9000820 	str	x0, [x1, #16]
-ffffff804000371c:	d65f03c0 	ret
-
-ffffff8040003720 <readi>:
-ffffff8040003720:	a9b97bfd 	stp	x29, x30, [sp, #-112]!
-ffffff8040003724:	910003fd 	mov	x29, sp
-ffffff8040003728:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff804000372c:	aa0003f7 	mov	x23, x0
-ffffff8040003730:	b9404c00 	ldr	w0, [x0, #76]
-ffffff8040003734:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003738:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000373c:	6b03001f 	cmp	w0, w3
-ffffff8040003740:	a9046bf9 	stp	x25, x26, [sp, #64]
-ffffff8040003744:	a90573fb 	stp	x27, x28, [sp, #80]
-ffffff8040003748:	54000703 	b.cc	ffffff8040003828 <readi+0x108>  // b.lo, b.ul, b.last
-ffffff804000374c:	2a0103fa 	mov	w26, w1
-ffffff8040003750:	2b040061 	adds	w1, w3, w4
-ffffff8040003754:	1a9f37f4 	cset	w20, cs  // cs = hs, nlast
-ffffff8040003758:	2a0303f3 	mov	w19, w3
-ffffff804000375c:	2a0403f5 	mov	w21, w4
-ffffff8040003760:	54000642 	b.cs	ffffff8040003828 <readi+0x108>  // b.hs, b.nlast
-ffffff8040003764:	6b01001f 	cmp	w0, w1
-ffffff8040003768:	aa0203f8 	mov	x24, x2
-ffffff804000376c:	54000042 	b.cs	ffffff8040003774 <readi+0x54>  // b.hs, b.nlast
-ffffff8040003770:	4b030015 	sub	w21, w0, w3
-ffffff8040003774:	5280801b 	mov	w27, #0x400                 	// #1024
-ffffff8040003778:	6b1402bf 	cmp	w21, w20
-ffffff804000377c:	540003a9 	b.ls	ffffff80400037f0 <readi+0xd0>  // b.plast
-ffffff8040003780:	b94002f6 	ldr	w22, [x23]
-ffffff8040003784:	530a7e61 	lsr	w1, w19, #10
-ffffff8040003788:	aa1703e0 	mov	x0, x23
-ffffff804000378c:	97fffe6e 	bl	ffffff8040003144 <bmap>
-ffffff8040003790:	2a0003e1 	mov	w1, w0
-ffffff8040003794:	2a1603e0 	mov	w0, w22
-ffffff8040003798:	97fffd53 	bl	ffffff8040002ce4 <bread>
-ffffff804000379c:	aa0003f9 	mov	x25, x0
-ffffff80400037a0:	12002660 	and	w0, w19, #0x3ff
-ffffff80400037a4:	4b000376 	sub	w22, w27, w0
-ffffff80400037a8:	4b1402a1 	sub	w1, w21, w20
-ffffff80400037ac:	91016322 	add	x2, x25, #0x58
-ffffff80400037b0:	6b0102df 	cmp	w22, w1
-ffffff80400037b4:	1a8192dc 	csel	w28, w22, w1, ls  // ls = plast
-ffffff80400037b8:	8b000042 	add	x2, x2, x0
-ffffff80400037bc:	1a8192d6 	csel	w22, w22, w1, ls  // ls = plast
-ffffff80400037c0:	2a1a03e0 	mov	w0, w26
-ffffff80400037c4:	aa1803e1 	mov	x1, x24
-ffffff80400037c8:	aa1603e3 	mov	x3, x22
-ffffff80400037cc:	97fffb0f 	bl	ffffff8040002408 <either_copyout>
-ffffff80400037d0:	3100041f 	cmn	w0, #0x1
-ffffff80400037d4:	2a0003e1 	mov	w1, w0
-ffffff80400037d8:	540001c1 	b.ne	ffffff8040003810 <readi+0xf0>  // b.any
-ffffff80400037dc:	aa1903e0 	mov	x0, x25
-ffffff80400037e0:	b9006fe1 	str	w1, [sp, #108]
-ffffff80400037e4:	97fffd88 	bl	ffffff8040002e04 <brelse>
-ffffff80400037e8:	b9406fe1 	ldr	w1, [sp, #108]
-ffffff80400037ec:	2a0103f4 	mov	w20, w1
-ffffff80400037f0:	2a1403e0 	mov	w0, w20
-ffffff80400037f4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400037f8:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400037fc:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040003800:	a9446bf9 	ldp	x25, x26, [sp, #64]
-ffffff8040003804:	a94573fb 	ldp	x27, x28, [sp, #80]
-ffffff8040003808:	a8c77bfd 	ldp	x29, x30, [sp], #112
-ffffff804000380c:	d65f03c0 	ret
-ffffff8040003810:	aa1903e0 	mov	x0, x25
-ffffff8040003814:	0b1c0294 	add	w20, w20, w28
-ffffff8040003818:	0b1c0273 	add	w19, w19, w28
-ffffff804000381c:	8b160318 	add	x24, x24, x22
-ffffff8040003820:	97fffd79 	bl	ffffff8040002e04 <brelse>
-ffffff8040003824:	17ffffd5 	b	ffffff8040003778 <readi+0x58>
-ffffff8040003828:	52800000 	mov	w0, #0x0                   	// #0
-ffffff804000382c:	17fffff2 	b	ffffff80400037f4 <readi+0xd4>
-
-ffffff8040003830 <writei>:
-ffffff8040003830:	a9ba7bfd 	stp	x29, x30, [sp, #-96]!
-ffffff8040003834:	910003fd 	mov	x29, sp
-ffffff8040003838:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000383c:	aa0003f5 	mov	x21, x0
-ffffff8040003840:	b9404c00 	ldr	w0, [x0, #76]
-ffffff8040003844:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003848:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff804000384c:	6b03001f 	cmp	w0, w3
-ffffff8040003850:	a9046bf9 	stp	x25, x26, [sp, #64]
-ffffff8040003854:	a90573fb 	stp	x27, x28, [sp, #80]
-ffffff8040003858:	54000763 	b.cc	ffffff8040003944 <writei+0x114>  // b.lo, b.ul, b.last
-ffffff804000385c:	2b040060 	adds	w0, w3, w4
-ffffff8040003860:	2a0303f3 	mov	w19, w3
-ffffff8040003864:	1a9f37f4 	cset	w20, cs  // cs = hs, nlast
-ffffff8040003868:	2a0403f6 	mov	w22, w4
-ffffff804000386c:	540006c2 	b.cs	ffffff8040003944 <writei+0x114>  // b.hs, b.nlast
-ffffff8040003870:	71410c1f 	cmp	w0, #0x43, lsl #12
-ffffff8040003874:	54000688 	b.hi	ffffff8040003944 <writei+0x114>  // b.pmore
-ffffff8040003878:	2a0103fa 	mov	w26, w1
-ffffff804000387c:	aa0203f9 	mov	x25, x2
-ffffff8040003880:	5280801b 	mov	w27, #0x400                 	// #1024
-ffffff8040003884:	6b1402df 	cmp	w22, w20
-ffffff8040003888:	54000349 	b.ls	ffffff80400038f0 <writei+0xc0>  // b.plast
-ffffff804000388c:	b94002b7 	ldr	w23, [x21]
-ffffff8040003890:	530a7e61 	lsr	w1, w19, #10
-ffffff8040003894:	aa1503e0 	mov	x0, x21
-ffffff8040003898:	97fffe2b 	bl	ffffff8040003144 <bmap>
-ffffff804000389c:	2a0003e1 	mov	w1, w0
-ffffff80400038a0:	2a1703e0 	mov	w0, w23
-ffffff80400038a4:	97fffd10 	bl	ffffff8040002ce4 <bread>
-ffffff80400038a8:	12002661 	and	w1, w19, #0x3ff
-ffffff80400038ac:	aa0003f8 	mov	x24, x0
-ffffff80400038b0:	4b010377 	sub	w23, w27, w1
-ffffff80400038b4:	4b1402c0 	sub	w0, w22, w20
-ffffff80400038b8:	6b0002ff 	cmp	w23, w0
-ffffff80400038bc:	91016304 	add	x4, x24, #0x58
-ffffff80400038c0:	1a8092fc 	csel	w28, w23, w0, ls  // ls = plast
-ffffff80400038c4:	1a8092f7 	csel	w23, w23, w0, ls  // ls = plast
-ffffff80400038c8:	2a0103e0 	mov	w0, w1
-ffffff80400038cc:	aa1703e3 	mov	x3, x23
-ffffff80400038d0:	aa1903e2 	mov	x2, x25
-ffffff80400038d4:	2a1a03e1 	mov	w1, w26
-ffffff80400038d8:	8b000080 	add	x0, x4, x0
-ffffff80400038dc:	97fffae6 	bl	ffffff8040002474 <either_copyin>
-ffffff80400038e0:	3100041f 	cmn	w0, #0x1
-ffffff80400038e4:	aa1803e0 	mov	x0, x24
-ffffff80400038e8:	54000201 	b.ne	ffffff8040003928 <writei+0xf8>  // b.any
-ffffff80400038ec:	97fffd46 	bl	ffffff8040002e04 <brelse>
-ffffff80400038f0:	b9404ea0 	ldr	w0, [x21, #76]
-ffffff80400038f4:	6b00027f 	cmp	w19, w0
-ffffff80400038f8:	54000049 	b.ls	ffffff8040003900 <writei+0xd0>  // b.plast
-ffffff80400038fc:	b9004eb3 	str	w19, [x21, #76]
-ffffff8040003900:	aa1503e0 	mov	x0, x21
-ffffff8040003904:	97fffea8 	bl	ffffff80400033a4 <iupdate>
-ffffff8040003908:	2a1403e0 	mov	w0, w20
-ffffff804000390c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003910:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003914:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040003918:	a9446bf9 	ldp	x25, x26, [sp, #64]
-ffffff804000391c:	a94573fb 	ldp	x27, x28, [sp, #80]
-ffffff8040003920:	a8c67bfd 	ldp	x29, x30, [sp], #96
-ffffff8040003924:	d65f03c0 	ret
-ffffff8040003928:	94000195 	bl	ffffff8040003f7c <log_write>
-ffffff804000392c:	aa1803e0 	mov	x0, x24
-ffffff8040003930:	0b1c0294 	add	w20, w20, w28
-ffffff8040003934:	0b1c0273 	add	w19, w19, w28
-ffffff8040003938:	8b170339 	add	x25, x25, x23
-ffffff804000393c:	97fffd32 	bl	ffffff8040002e04 <brelse>
-ffffff8040003940:	17ffffd1 	b	ffffff8040003884 <writei+0x54>
-ffffff8040003944:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040003948:	17fffff1 	b	ffffff804000390c <writei+0xdc>
-
-ffffff804000394c <namecmp>:
-ffffff804000394c:	528001c2 	mov	w2, #0xe                   	// #14
-ffffff8040003950:	17fff513 	b	ffffff8040000d9c <strncmp>
-
-ffffff8040003954 <dirlookup>:
-ffffff8040003954:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040003958:	910003fd 	mov	x29, sp
-ffffff804000395c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003960:	aa0003f3 	mov	x19, x0
-ffffff8040003964:	79c08800 	ldrsh	w0, [x0, #68]
-ffffff8040003968:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000396c:	7100041f 	cmp	w0, #0x1
-ffffff8040003970:	54000480 	b.eq	ffffff8040003a00 <dirlookup+0xac>  // b.none
-ffffff8040003974:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003978:	9112e400 	add	x0, x0, #0x4b9
-ffffff804000397c:	97fff2e1 	bl	ffffff8040000500 <panic>
-ffffff8040003980:	52800204 	mov	w4, #0x10                  	// #16
-ffffff8040003984:	2a1403e3 	mov	w3, w20
-ffffff8040003988:	9100c3e2 	add	x2, sp, #0x30
-ffffff804000398c:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040003990:	aa1303e0 	mov	x0, x19
-ffffff8040003994:	97ffff63 	bl	ffffff8040003720 <readi>
-ffffff8040003998:	7100401f 	cmp	w0, #0x10
-ffffff804000399c:	54000080 	b.eq	ffffff80400039ac <dirlookup+0x58>  // b.none
-ffffff80400039a0:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400039a4:	91132c00 	add	x0, x0, #0x4cb
-ffffff80400039a8:	17fffff5 	b	ffffff804000397c <dirlookup+0x28>
-ffffff80400039ac:	794063e0 	ldrh	w0, [sp, #48]
-ffffff80400039b0:	340001c0 	cbz	w0, ffffff80400039e8 <dirlookup+0x94>
-ffffff80400039b4:	9100cbe1 	add	x1, sp, #0x32
-ffffff80400039b8:	aa1603e0 	mov	x0, x22
-ffffff80400039bc:	97ffffe4 	bl	ffffff804000394c <namecmp>
-ffffff80400039c0:	35000140 	cbnz	w0, ffffff80400039e8 <dirlookup+0x94>
-ffffff80400039c4:	b4000055 	cbz	x21, ffffff80400039cc <dirlookup+0x78>
-ffffff80400039c8:	b90002b4 	str	w20, [x21]
-ffffff80400039cc:	794063e1 	ldrh	w1, [sp, #48]
-ffffff80400039d0:	b9400260 	ldr	w0, [x19]
-ffffff80400039d4:	97fffda9 	bl	ffffff8040003078 <iget>
-ffffff80400039d8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400039dc:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400039e0:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400039e4:	d65f03c0 	ret
-ffffff80400039e8:	11004294 	add	w20, w20, #0x10
-ffffff80400039ec:	b9404e60 	ldr	w0, [x19, #76]
-ffffff80400039f0:	6b00029f 	cmp	w20, w0
-ffffff80400039f4:	54fffc63 	b.cc	ffffff8040003980 <dirlookup+0x2c>  // b.lo, b.ul, b.last
-ffffff80400039f8:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff80400039fc:	17fffff7 	b	ffffff80400039d8 <dirlookup+0x84>
-ffffff8040003a00:	aa0103f6 	mov	x22, x1
-ffffff8040003a04:	aa0203f5 	mov	x21, x2
-ffffff8040003a08:	52800014 	mov	w20, #0x0                   	// #0
-ffffff8040003a0c:	17fffff8 	b	ffffff80400039ec <dirlookup+0x98>
-
-ffffff8040003a10 <namex>:
-ffffff8040003a10:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040003a14:	910003fd 	mov	x29, sp
-ffffff8040003a18:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003a1c:	aa0003f4 	mov	x20, x0
-ffffff8040003a20:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003a24:	2a0103f6 	mov	w22, w1
-ffffff8040003a28:	aa0203f5 	mov	x21, x2
-ffffff8040003a2c:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040003a30:	39400000 	ldrb	w0, [x0]
-ffffff8040003a34:	7100bc1f 	cmp	w0, #0x2f
-ffffff8040003a38:	540001c1 	b.ne	ffffff8040003a70 <namex+0x60>  // b.any
-ffffff8040003a3c:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040003a40:	2a0103e0 	mov	w0, w1
-ffffff8040003a44:	97fffd8d 	bl	ffffff8040003078 <iget>
-ffffff8040003a48:	aa0003f3 	mov	x19, x0
-ffffff8040003a4c:	aa1403e1 	mov	x1, x20
-ffffff8040003a50:	39400020 	ldrb	w0, [x1]
-ffffff8040003a54:	7100bc1f 	cmp	w0, #0x2f
-ffffff8040003a58:	540003e0 	b.eq	ffffff8040003ad4 <namex+0xc4>  // b.none
-ffffff8040003a5c:	35000400 	cbnz	w0, ffffff8040003adc <namex+0xcc>
-ffffff8040003a60:	340001b6 	cbz	w22, ffffff8040003a94 <namex+0x84>
-ffffff8040003a64:	aa1303e0 	mov	x0, x19
-ffffff8040003a68:	97fffef3 	bl	ffffff8040003634 <iput>
-ffffff8040003a6c:	14000031 	b	ffffff8040003b30 <namex+0x120>
-ffffff8040003a70:	97fff83f 	bl	ffffff8040001b6c <myproc>
-ffffff8040003a74:	f940a800 	ldr	x0, [x0, #336]
-ffffff8040003a78:	97fffe6e 	bl	ffffff8040003430 <idup>
-ffffff8040003a7c:	17fffff3 	b	ffffff8040003a48 <namex+0x38>
-ffffff8040003a80:	34000176 	cbz	w22, ffffff8040003aac <namex+0x9c>
-ffffff8040003a84:	39400280 	ldrb	w0, [x20]
-ffffff8040003a88:	35000120 	cbnz	w0, ffffff8040003aac <namex+0x9c>
-ffffff8040003a8c:	aa1303e0 	mov	x0, x19
-ffffff8040003a90:	97fffead 	bl	ffffff8040003544 <iunlock>
-ffffff8040003a94:	aa1303e0 	mov	x0, x19
-ffffff8040003a98:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003a9c:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003aa0:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff8040003aa4:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040003aa8:	d65f03c0 	ret
-ffffff8040003aac:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff8040003ab0:	aa1503e1 	mov	x1, x21
-ffffff8040003ab4:	aa1303e0 	mov	x0, x19
-ffffff8040003ab8:	97ffffa7 	bl	ffffff8040003954 <dirlookup>
-ffffff8040003abc:	aa0003f7 	mov	x23, x0
-ffffff8040003ac0:	aa1303e0 	mov	x0, x19
-ffffff8040003ac4:	b4000357 	cbz	x23, ffffff8040003b2c <namex+0x11c>
-ffffff8040003ac8:	aa1703f3 	mov	x19, x23
-ffffff8040003acc:	97ffff01 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040003ad0:	17ffffdf 	b	ffffff8040003a4c <namex+0x3c>
-ffffff8040003ad4:	91000421 	add	x1, x1, #0x1
-ffffff8040003ad8:	17ffffde 	b	ffffff8040003a50 <namex+0x40>
-ffffff8040003adc:	aa0103f4 	mov	x20, x1
-ffffff8040003ae0:	38401e80 	ldrb	w0, [x20, #1]!
-ffffff8040003ae4:	7100bc1f 	cmp	w0, #0x2f
-ffffff8040003ae8:	7a401804 	ccmp	w0, #0x0, #0x4, ne  // ne = any
-ffffff8040003aec:	54ffffa1 	b.ne	ffffff8040003ae0 <namex+0xd0>  // b.any
-ffffff8040003af0:	cb010297 	sub	x23, x20, x1
-ffffff8040003af4:	710036ff 	cmp	w23, #0xd
-ffffff8040003af8:	5400020d 	b.le	ffffff8040003b38 <namex+0x128>
-ffffff8040003afc:	528001c2 	mov	w2, #0xe                   	// #14
-ffffff8040003b00:	aa1503e0 	mov	x0, x21
-ffffff8040003b04:	97fff48e 	bl	ffffff8040000d3c <memmove>
-ffffff8040003b08:	39400280 	ldrb	w0, [x20]
-ffffff8040003b0c:	7100bc1f 	cmp	w0, #0x2f
-ffffff8040003b10:	540001e0 	b.eq	ffffff8040003b4c <namex+0x13c>  // b.none
-ffffff8040003b14:	aa1303e0 	mov	x0, x19
-ffffff8040003b18:	97fffe57 	bl	ffffff8040003474 <ilock>
-ffffff8040003b1c:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff8040003b20:	7100041f 	cmp	w0, #0x1
-ffffff8040003b24:	54fffae0 	b.eq	ffffff8040003a80 <namex+0x70>  // b.none
-ffffff8040003b28:	aa1303e0 	mov	x0, x19
-ffffff8040003b2c:	97fffee9 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040003b30:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff8040003b34:	17ffffd8 	b	ffffff8040003a94 <namex+0x84>
-ffffff8040003b38:	2a1703e2 	mov	w2, w23
-ffffff8040003b3c:	aa1503e0 	mov	x0, x21
-ffffff8040003b40:	97fff47f 	bl	ffffff8040000d3c <memmove>
-ffffff8040003b44:	3837cabf 	strb	wzr, [x21, w23, sxtw]
-ffffff8040003b48:	17fffff0 	b	ffffff8040003b08 <namex+0xf8>
-ffffff8040003b4c:	91000694 	add	x20, x20, #0x1
-ffffff8040003b50:	17ffffee 	b	ffffff8040003b08 <namex+0xf8>
-
-ffffff8040003b54 <dirlink>:
-ffffff8040003b54:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040003b58:	910003fd 	mov	x29, sp
-ffffff8040003b5c:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003b60:	2a0203f6 	mov	w22, w2
-ffffff8040003b64:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff8040003b68:	aa0103f5 	mov	x21, x1
-ffffff8040003b6c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003b70:	aa0003f4 	mov	x20, x0
-ffffff8040003b74:	97ffff78 	bl	ffffff8040003954 <dirlookup>
-ffffff8040003b78:	b40004e0 	cbz	x0, ffffff8040003c14 <dirlink+0xc0>
-ffffff8040003b7c:	97fffeae 	bl	ffffff8040003634 <iput>
-ffffff8040003b80:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040003b84:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003b88:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003b8c:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040003b90:	d65f03c0 	ret
-ffffff8040003b94:	794063e0 	ldrh	w0, [sp, #48]
-ffffff8040003b98:	35000200 	cbnz	w0, ffffff8040003bd8 <dirlink+0x84>
-ffffff8040003b9c:	528001c2 	mov	w2, #0xe                   	// #14
-ffffff8040003ba0:	aa1503e1 	mov	x1, x21
-ffffff8040003ba4:	9100cbe0 	add	x0, sp, #0x32
-ffffff8040003ba8:	97fff48b 	bl	ffffff8040000dd4 <strncpy>
-ffffff8040003bac:	52800204 	mov	w4, #0x10                  	// #16
-ffffff8040003bb0:	2a1303e3 	mov	w3, w19
-ffffff8040003bb4:	790063f6 	strh	w22, [sp, #48]
-ffffff8040003bb8:	9100c3e2 	add	x2, sp, #0x30
-ffffff8040003bbc:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040003bc0:	aa1403e0 	mov	x0, x20
-ffffff8040003bc4:	97ffff1b 	bl	ffffff8040003830 <writei>
-ffffff8040003bc8:	7100401f 	cmp	w0, #0x10
-ffffff8040003bcc:	54000281 	b.ne	ffffff8040003c1c <dirlink+0xc8>  // b.any
-ffffff8040003bd0:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040003bd4:	17ffffec 	b	ffffff8040003b84 <dirlink+0x30>
-ffffff8040003bd8:	11004273 	add	w19, w19, #0x10
-ffffff8040003bdc:	b9404e80 	ldr	w0, [x20, #76]
-ffffff8040003be0:	6b13001f 	cmp	w0, w19
-ffffff8040003be4:	54fffdc9 	b.ls	ffffff8040003b9c <dirlink+0x48>  // b.plast
-ffffff8040003be8:	52800204 	mov	w4, #0x10                  	// #16
-ffffff8040003bec:	2a1303e3 	mov	w3, w19
-ffffff8040003bf0:	9100c3e2 	add	x2, sp, #0x30
-ffffff8040003bf4:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040003bf8:	aa1403e0 	mov	x0, x20
-ffffff8040003bfc:	97fffec9 	bl	ffffff8040003720 <readi>
-ffffff8040003c00:	7100401f 	cmp	w0, #0x10
-ffffff8040003c04:	54fffc80 	b.eq	ffffff8040003b94 <dirlink+0x40>  // b.none
-ffffff8040003c08:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003c0c:	91136800 	add	x0, x0, #0x4da
-ffffff8040003c10:	97fff23c 	bl	ffffff8040000500 <panic>
-ffffff8040003c14:	52800013 	mov	w19, #0x0                   	// #0
-ffffff8040003c18:	17fffff1 	b	ffffff8040003bdc <dirlink+0x88>
-ffffff8040003c1c:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003c20:	9116ac00 	add	x0, x0, #0x5ab
-ffffff8040003c24:	17fffffb 	b	ffffff8040003c10 <dirlink+0xbc>
-
-ffffff8040003c28 <namei>:
-ffffff8040003c28:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003c2c:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040003c30:	910003fd 	mov	x29, sp
-ffffff8040003c34:	910043e2 	add	x2, sp, #0x10
-ffffff8040003c38:	97ffff76 	bl	ffffff8040003a10 <namex>
-ffffff8040003c3c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040003c40:	d65f03c0 	ret
-
-ffffff8040003c44 <nameiparent>:
-ffffff8040003c44:	aa0103e2 	mov	x2, x1
-ffffff8040003c48:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040003c4c:	17ffff71 	b	ffffff8040003a10 <namex>
-
-ffffff8040003c50 <write_head>:
-ffffff8040003c50:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003c54:	910003fd 	mov	x29, sp
-ffffff8040003c58:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003c5c:	f0000114 	adrp	x20, ffffff8040026000 <itable+0x1980>
-ffffff8040003c60:	9104a294 	add	x20, x20, #0x128
-ffffff8040003c64:	b9401a81 	ldr	w1, [x20, #24]
-ffffff8040003c68:	b9402a80 	ldr	w0, [x20, #40]
-ffffff8040003c6c:	97fffc1e 	bl	ffffff8040002ce4 <bread>
-ffffff8040003c70:	b9402e81 	ldr	w1, [x20, #44]
-ffffff8040003c74:	aa0003f3 	mov	x19, x0
-ffffff8040003c78:	91017002 	add	x2, x0, #0x5c
-ffffff8040003c7c:	b9005801 	str	w1, [x0, #88]
-ffffff8040003c80:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040003c84:	6b00003f 	cmp	w1, w0
-ffffff8040003c88:	540000ec 	b.gt	ffffff8040003ca4 <write_head+0x54>
-ffffff8040003c8c:	aa1303e0 	mov	x0, x19
-ffffff8040003c90:	97fffc4e 	bl	ffffff8040002dc8 <bwrite>
-ffffff8040003c94:	aa1303e0 	mov	x0, x19
-ffffff8040003c98:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003c9c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040003ca0:	17fffc59 	b	ffffff8040002e04 <brelse>
-ffffff8040003ca4:	8b000a83 	add	x3, x20, x0, lsl #2
-ffffff8040003ca8:	b9403063 	ldr	w3, [x3, #48]
-ffffff8040003cac:	b8207843 	str	w3, [x2, x0, lsl #2]
-ffffff8040003cb0:	91000400 	add	x0, x0, #0x1
-ffffff8040003cb4:	17fffff4 	b	ffffff8040003c84 <write_head+0x34>
-
-ffffff8040003cb8 <install_trans>:
-ffffff8040003cb8:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040003cbc:	910003fd 	mov	x29, sp
-ffffff8040003cc0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003cc4:	f0000113 	adrp	x19, ffffff8040026000 <itable+0x1980>
-ffffff8040003cc8:	9104a273 	add	x19, x19, #0x128
-ffffff8040003ccc:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003cd0:	d2800015 	mov	x21, #0x0                   	// #0
-ffffff8040003cd4:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040003cd8:	2a0003f7 	mov	w23, w0
-ffffff8040003cdc:	b9402e60 	ldr	w0, [x19, #44]
-ffffff8040003ce0:	6b15001f 	cmp	w0, w21
-ffffff8040003ce4:	540000cc 	b.gt	ffffff8040003cfc <install_trans+0x44>
-ffffff8040003ce8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003cec:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003cf0:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff8040003cf4:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040003cf8:	d65f03c0 	ret
-ffffff8040003cfc:	b9401a61 	ldr	w1, [x19, #24]
-ffffff8040003d00:	b9402a60 	ldr	w0, [x19, #40]
-ffffff8040003d04:	0b150021 	add	w1, w1, w21
-ffffff8040003d08:	11000421 	add	w1, w1, #0x1
-ffffff8040003d0c:	97fffbf6 	bl	ffffff8040002ce4 <bread>
-ffffff8040003d10:	aa0003f6 	mov	x22, x0
-ffffff8040003d14:	8b150a60 	add	x0, x19, x21, lsl #2
-ffffff8040003d18:	b9403001 	ldr	w1, [x0, #48]
-ffffff8040003d1c:	b9402a60 	ldr	w0, [x19, #40]
-ffffff8040003d20:	97fffbf1 	bl	ffffff8040002ce4 <bread>
-ffffff8040003d24:	aa0003f4 	mov	x20, x0
-ffffff8040003d28:	52808002 	mov	w2, #0x400                 	// #1024
-ffffff8040003d2c:	910162c1 	add	x1, x22, #0x58
-ffffff8040003d30:	91016000 	add	x0, x0, #0x58
-ffffff8040003d34:	97fff402 	bl	ffffff8040000d3c <memmove>
-ffffff8040003d38:	aa1403e0 	mov	x0, x20
-ffffff8040003d3c:	97fffc23 	bl	ffffff8040002dc8 <bwrite>
-ffffff8040003d40:	35000077 	cbnz	w23, ffffff8040003d4c <install_trans+0x94>
-ffffff8040003d44:	aa1403e0 	mov	x0, x20
-ffffff8040003d48:	97fffc62 	bl	ffffff8040002ed0 <bunpin>
-ffffff8040003d4c:	aa1603e0 	mov	x0, x22
-ffffff8040003d50:	910006b5 	add	x21, x21, #0x1
-ffffff8040003d54:	97fffc2c 	bl	ffffff8040002e04 <brelse>
-ffffff8040003d58:	aa1403e0 	mov	x0, x20
-ffffff8040003d5c:	97fffc2a 	bl	ffffff8040002e04 <brelse>
-ffffff8040003d60:	17ffffdf 	b	ffffff8040003cdc <install_trans+0x24>
-
-ffffff8040003d64 <initlog>:
-ffffff8040003d64:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040003d68:	910003fd 	mov	x29, sp
-ffffff8040003d6c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003d70:	f0000113 	adrp	x19, ffffff8040026000 <itable+0x1980>
-ffffff8040003d74:	9104a273 	add	x19, x19, #0x128
-ffffff8040003d78:	2a0003f4 	mov	w20, w0
-ffffff8040003d7c:	aa1303e0 	mov	x0, x19
-ffffff8040003d80:	f90013f5 	str	x21, [sp, #32]
-ffffff8040003d84:	aa0103f5 	mov	x21, x1
-ffffff8040003d88:	90000021 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040003d8c:	91139c21 	add	x1, x1, #0x4e7
-ffffff8040003d90:	97fff377 	bl	ffffff8040000b6c <initlock>
-ffffff8040003d94:	294206a0 	ldp	w0, w1, [x21, #16]
-ffffff8040003d98:	b9002a74 	str	w20, [x19, #40]
-ffffff8040003d9c:	29030261 	stp	w1, w0, [x19, #24]
-ffffff8040003da0:	2a1403e0 	mov	w0, w20
-ffffff8040003da4:	97fffbd0 	bl	ffffff8040002ce4 <bread>
-ffffff8040003da8:	b9405802 	ldr	w2, [x0, #88]
-ffffff8040003dac:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040003db0:	91017003 	add	x3, x0, #0x5c
-ffffff8040003db4:	b9002e62 	str	w2, [x19, #44]
-ffffff8040003db8:	6b01005f 	cmp	w2, w1
-ffffff8040003dbc:	5400012c 	b.gt	ffffff8040003de0 <initlog+0x7c>
-ffffff8040003dc0:	97fffc11 	bl	ffffff8040002e04 <brelse>
-ffffff8040003dc4:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040003dc8:	97ffffbc 	bl	ffffff8040003cb8 <install_trans>
-ffffff8040003dcc:	b9002e7f 	str	wzr, [x19, #44]
-ffffff8040003dd0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003dd4:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040003dd8:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040003ddc:	17ffff9d 	b	ffffff8040003c50 <write_head>
-ffffff8040003de0:	b8617865 	ldr	w5, [x3, x1, lsl #2]
-ffffff8040003de4:	8b010a64 	add	x4, x19, x1, lsl #2
-ffffff8040003de8:	91000421 	add	x1, x1, #0x1
-ffffff8040003dec:	b9003085 	str	w5, [x4, #48]
-ffffff8040003df0:	17fffff2 	b	ffffff8040003db8 <initlog+0x54>
-
-ffffff8040003df4 <begin_op>:
-ffffff8040003df4:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003df8:	910003fd 	mov	x29, sp
-ffffff8040003dfc:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003e00:	f0000113 	adrp	x19, ffffff8040026000 <itable+0x1980>
-ffffff8040003e04:	9104a273 	add	x19, x19, #0x128
-ffffff8040003e08:	aa1303e0 	mov	x0, x19
-ffffff8040003e0c:	52800154 	mov	w20, #0xa                   	// #10
-ffffff8040003e10:	97fff37c 	bl	ffffff8040000c00 <acquire>
-ffffff8040003e14:	b9402660 	ldr	w0, [x19, #36]
-ffffff8040003e18:	340000a0 	cbz	w0, ffffff8040003e2c <begin_op+0x38>
-ffffff8040003e1c:	aa1303e1 	mov	x1, x19
-ffffff8040003e20:	aa1303e0 	mov	x0, x19
-ffffff8040003e24:	97fff899 	bl	ffffff8040002088 <sleep>
-ffffff8040003e28:	17fffffb 	b	ffffff8040003e14 <begin_op+0x20>
-ffffff8040003e2c:	b9402260 	ldr	w0, [x19, #32]
-ffffff8040003e30:	b9402e62 	ldr	w2, [x19, #44]
-ffffff8040003e34:	11000401 	add	w1, w0, #0x1
-ffffff8040003e38:	1b145000 	madd	w0, w0, w20, w20
-ffffff8040003e3c:	0b020000 	add	w0, w0, w2
-ffffff8040003e40:	7100781f 	cmp	w0, #0x1e
-ffffff8040003e44:	54fffecc 	b.gt	ffffff8040003e1c <begin_op+0x28>
-ffffff8040003e48:	aa1303e0 	mov	x0, x19
-ffffff8040003e4c:	b9002261 	str	w1, [x19, #32]
-ffffff8040003e50:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003e54:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040003e58:	17fff395 	b	ffffff8040000cac <release>
-
-ffffff8040003e5c <end_op>:
-ffffff8040003e5c:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040003e60:	910003fd 	mov	x29, sp
-ffffff8040003e64:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003e68:	f0000113 	adrp	x19, ffffff8040026000 <itable+0x1980>
-ffffff8040003e6c:	9104a273 	add	x19, x19, #0x128
-ffffff8040003e70:	aa1303e0 	mov	x0, x19
-ffffff8040003e74:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040003e78:	97fff362 	bl	ffffff8040000c00 <acquire>
-ffffff8040003e7c:	29445260 	ldp	w0, w20, [x19, #32]
-ffffff8040003e80:	51000400 	sub	w0, w0, #0x1
-ffffff8040003e84:	b9002260 	str	w0, [x19, #32]
-ffffff8040003e88:	34000094 	cbz	w20, ffffff8040003e98 <end_op+0x3c>
-ffffff8040003e8c:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003e90:	9113ac00 	add	x0, x0, #0x4eb
-ffffff8040003e94:	97fff19b 	bl	ffffff8040000500 <panic>
-ffffff8040003e98:	35000640 	cbnz	w0, ffffff8040003f60 <end_op+0x104>
-ffffff8040003e9c:	52800034 	mov	w20, #0x1                   	// #1
-ffffff8040003ea0:	b9002674 	str	w20, [x19, #36]
-ffffff8040003ea4:	aa1303e0 	mov	x0, x19
-ffffff8040003ea8:	97fff381 	bl	ffffff8040000cac <release>
-ffffff8040003eac:	34000614 	cbz	w20, ffffff8040003f6c <end_op+0x110>
-ffffff8040003eb0:	b9402e60 	ldr	w0, [x19, #44]
-ffffff8040003eb4:	7100001f 	cmp	w0, #0x0
-ffffff8040003eb8:	5400040d 	b.le	ffffff8040003f38 <end_op+0xdc>
-ffffff8040003ebc:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff8040003ec0:	b9401a61 	ldr	w1, [x19, #24]
-ffffff8040003ec4:	b9402a60 	ldr	w0, [x19, #40]
-ffffff8040003ec8:	0b140021 	add	w1, w1, w20
-ffffff8040003ecc:	11000421 	add	w1, w1, #0x1
-ffffff8040003ed0:	97fffb85 	bl	ffffff8040002ce4 <bread>
-ffffff8040003ed4:	aa0003f5 	mov	x21, x0
-ffffff8040003ed8:	8b140a60 	add	x0, x19, x20, lsl #2
-ffffff8040003edc:	91000694 	add	x20, x20, #0x1
-ffffff8040003ee0:	b9403001 	ldr	w1, [x0, #48]
-ffffff8040003ee4:	b9402a60 	ldr	w0, [x19, #40]
-ffffff8040003ee8:	97fffb7f 	bl	ffffff8040002ce4 <bread>
-ffffff8040003eec:	91016001 	add	x1, x0, #0x58
-ffffff8040003ef0:	52808002 	mov	w2, #0x400                 	// #1024
-ffffff8040003ef4:	aa0003f6 	mov	x22, x0
-ffffff8040003ef8:	910162a0 	add	x0, x21, #0x58
-ffffff8040003efc:	97fff390 	bl	ffffff8040000d3c <memmove>
-ffffff8040003f00:	aa1503e0 	mov	x0, x21
-ffffff8040003f04:	97fffbb1 	bl	ffffff8040002dc8 <bwrite>
-ffffff8040003f08:	aa1603e0 	mov	x0, x22
-ffffff8040003f0c:	97fffbbe 	bl	ffffff8040002e04 <brelse>
-ffffff8040003f10:	aa1503e0 	mov	x0, x21
-ffffff8040003f14:	97fffbbc 	bl	ffffff8040002e04 <brelse>
-ffffff8040003f18:	b9402e60 	ldr	w0, [x19, #44]
-ffffff8040003f1c:	6b14001f 	cmp	w0, w20
-ffffff8040003f20:	54fffd0c 	b.gt	ffffff8040003ec0 <end_op+0x64>
-ffffff8040003f24:	97ffff4b 	bl	ffffff8040003c50 <write_head>
-ffffff8040003f28:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040003f2c:	97ffff63 	bl	ffffff8040003cb8 <install_trans>
-ffffff8040003f30:	b9002e7f 	str	wzr, [x19, #44]
-ffffff8040003f34:	97ffff47 	bl	ffffff8040003c50 <write_head>
-ffffff8040003f38:	aa1303e0 	mov	x0, x19
-ffffff8040003f3c:	97fff331 	bl	ffffff8040000c00 <acquire>
-ffffff8040003f40:	aa1303e0 	mov	x0, x19
-ffffff8040003f44:	b900267f 	str	wzr, [x19, #36]
-ffffff8040003f48:	97fff8a9 	bl	ffffff80400021ec <wakeup>
-ffffff8040003f4c:	aa1303e0 	mov	x0, x19
-ffffff8040003f50:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003f54:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003f58:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040003f5c:	17fff354 	b	ffffff8040000cac <release>
-ffffff8040003f60:	aa1303e0 	mov	x0, x19
-ffffff8040003f64:	97fff8a2 	bl	ffffff80400021ec <wakeup>
-ffffff8040003f68:	17ffffcf 	b	ffffff8040003ea4 <end_op+0x48>
-ffffff8040003f6c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040003f70:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040003f74:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040003f78:	d65f03c0 	ret
-
-ffffff8040003f7c <log_write>:
-ffffff8040003f7c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040003f80:	910003fd 	mov	x29, sp
-ffffff8040003f84:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040003f88:	f0000113 	adrp	x19, ffffff8040026000 <itable+0x1980>
-ffffff8040003f8c:	9104a273 	add	x19, x19, #0x128
-ffffff8040003f90:	aa0003f4 	mov	x20, x0
-ffffff8040003f94:	aa1303e0 	mov	x0, x19
-ffffff8040003f98:	97fff31a 	bl	ffffff8040000c00 <acquire>
-ffffff8040003f9c:	b9402e60 	ldr	w0, [x19, #44]
-ffffff8040003fa0:	7100741f 	cmp	w0, #0x1d
-ffffff8040003fa4:	540000ac 	b.gt	ffffff8040003fb8 <log_write+0x3c>
-ffffff8040003fa8:	b9401e61 	ldr	w1, [x19, #28]
-ffffff8040003fac:	51000421 	sub	w1, w1, #0x1
-ffffff8040003fb0:	6b01001f 	cmp	w0, w1
-ffffff8040003fb4:	5400008b 	b.lt	ffffff8040003fc4 <log_write+0x48>  // b.tstop
-ffffff8040003fb8:	90000020 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040003fbc:	9113e800 	add	x0, x0, #0x4fa
-ffffff8040003fc0:	97fff150 	bl	ffffff8040000500 <panic>
-ffffff8040003fc4:	b9402261 	ldr	w1, [x19, #32]
-ffffff8040003fc8:	7100003f 	cmp	w1, #0x0
-ffffff8040003fcc:	5400030d 	b.le	ffffff804000402c <log_write+0xb0>
-ffffff8040003fd0:	b9400e83 	ldr	w3, [x20, #12]
-ffffff8040003fd4:	d2800001 	mov	x1, #0x0                   	// #0
-ffffff8040003fd8:	6b01001f 	cmp	w0, w1
-ffffff8040003fdc:	2a0103e2 	mov	w2, w1
-ffffff8040003fe0:	540000cd 	b.le	ffffff8040003ff8 <log_write+0x7c>
-ffffff8040003fe4:	8b010a64 	add	x4, x19, x1, lsl #2
-ffffff8040003fe8:	91000421 	add	x1, x1, #0x1
-ffffff8040003fec:	b9403084 	ldr	w4, [x4, #48]
-ffffff8040003ff0:	6b04007f 	cmp	w3, w4
-ffffff8040003ff4:	54ffff21 	b.ne	ffffff8040003fd8 <log_write+0x5c>  // b.any
-ffffff8040003ff8:	8b22ca61 	add	x1, x19, w2, sxtw #2
-ffffff8040003ffc:	6b02001f 	cmp	w0, w2
-ffffff8040004000:	b9003023 	str	w3, [x1, #48]
-ffffff8040004004:	540000c1 	b.ne	ffffff804000401c <log_write+0xa0>  // b.any
-ffffff8040004008:	aa1403e0 	mov	x0, x20
-ffffff804000400c:	97fffba2 	bl	ffffff8040002e94 <bpin>
-ffffff8040004010:	b9402e60 	ldr	w0, [x19, #44]
-ffffff8040004014:	11000400 	add	w0, w0, #0x1
-ffffff8040004018:	b9002e60 	str	w0, [x19, #44]
-ffffff804000401c:	aa1303e0 	mov	x0, x19
-ffffff8040004020:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004024:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004028:	17fff321 	b	ffffff8040000cac <release>
-ffffff804000402c:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004030:	91144000 	add	x0, x0, #0x510
-ffffff8040004034:	17ffffe3 	b	ffffff8040003fc0 <log_write+0x44>
-
-ffffff8040004038 <initsleeplock>:
-ffffff8040004038:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff804000403c:	910003fd 	mov	x29, sp
-ffffff8040004040:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004044:	aa0003f3 	mov	x19, x0
-ffffff8040004048:	aa0103f4 	mov	x20, x1
-ffffff804000404c:	91002000 	add	x0, x0, #0x8
-ffffff8040004050:	f0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040004054:	9114ac21 	add	x1, x1, #0x52b
-ffffff8040004058:	97fff2c5 	bl	ffffff8040000b6c <initlock>
-ffffff804000405c:	b900027f 	str	wzr, [x19]
-ffffff8040004060:	f9001274 	str	x20, [x19, #32]
-ffffff8040004064:	b9002a7f 	str	wzr, [x19, #40]
-ffffff8040004068:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000406c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004070:	d65f03c0 	ret
-
-ffffff8040004074 <acquiresleep>:
-ffffff8040004074:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004078:	910003fd 	mov	x29, sp
-ffffff804000407c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004080:	91002014 	add	x20, x0, #0x8
-ffffff8040004084:	aa0003f3 	mov	x19, x0
-ffffff8040004088:	aa1403e0 	mov	x0, x20
-ffffff804000408c:	97fff2dd 	bl	ffffff8040000c00 <acquire>
-ffffff8040004090:	b9400260 	ldr	w0, [x19]
-ffffff8040004094:	35000140 	cbnz	w0, ffffff80400040bc <acquiresleep+0x48>
-ffffff8040004098:	52800020 	mov	w0, #0x1                   	// #1
-ffffff804000409c:	b9000260 	str	w0, [x19]
-ffffff80400040a0:	97fff6b3 	bl	ffffff8040001b6c <myproc>
-ffffff80400040a4:	b9403000 	ldr	w0, [x0, #48]
-ffffff80400040a8:	b9002a60 	str	w0, [x19, #40]
-ffffff80400040ac:	aa1403e0 	mov	x0, x20
-ffffff80400040b0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400040b4:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400040b8:	17fff2fd 	b	ffffff8040000cac <release>
-ffffff80400040bc:	aa1403e1 	mov	x1, x20
-ffffff80400040c0:	aa1303e0 	mov	x0, x19
-ffffff80400040c4:	97fff7f1 	bl	ffffff8040002088 <sleep>
-ffffff80400040c8:	17fffff2 	b	ffffff8040004090 <acquiresleep+0x1c>
-
-ffffff80400040cc <releasesleep>:
-ffffff80400040cc:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400040d0:	910003fd 	mov	x29, sp
-ffffff80400040d4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400040d8:	91002014 	add	x20, x0, #0x8
-ffffff80400040dc:	aa0003f3 	mov	x19, x0
-ffffff80400040e0:	aa1403e0 	mov	x0, x20
-ffffff80400040e4:	97fff2c7 	bl	ffffff8040000c00 <acquire>
-ffffff80400040e8:	aa1303e0 	mov	x0, x19
-ffffff80400040ec:	b900027f 	str	wzr, [x19]
-ffffff80400040f0:	b9002a7f 	str	wzr, [x19, #40]
-ffffff80400040f4:	97fff83e 	bl	ffffff80400021ec <wakeup>
-ffffff80400040f8:	aa1403e0 	mov	x0, x20
-ffffff80400040fc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004100:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004104:	17fff2ea 	b	ffffff8040000cac <release>
-
-ffffff8040004108 <holdingsleep>:
-ffffff8040004108:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff804000410c:	910003fd 	mov	x29, sp
-ffffff8040004110:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004114:	91002014 	add	x20, x0, #0x8
-ffffff8040004118:	aa0003f3 	mov	x19, x0
-ffffff804000411c:	aa1403e0 	mov	x0, x20
-ffffff8040004120:	97fff2b8 	bl	ffffff8040000c00 <acquire>
-ffffff8040004124:	b9400260 	ldr	w0, [x19]
-ffffff8040004128:	34000180 	cbz	w0, ffffff8040004158 <holdingsleep+0x50>
-ffffff804000412c:	b9402a73 	ldr	w19, [x19, #40]
-ffffff8040004130:	97fff68f 	bl	ffffff8040001b6c <myproc>
-ffffff8040004134:	b9403000 	ldr	w0, [x0, #48]
-ffffff8040004138:	6b13001f 	cmp	w0, w19
-ffffff804000413c:	1a9f17f3 	cset	w19, eq  // eq = none
-ffffff8040004140:	aa1403e0 	mov	x0, x20
-ffffff8040004144:	97fff2da 	bl	ffffff8040000cac <release>
-ffffff8040004148:	2a1303e0 	mov	w0, w19
-ffffff804000414c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004150:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004154:	d65f03c0 	ret
-ffffff8040004158:	52800013 	mov	w19, #0x0                   	// #0
-ffffff804000415c:	17fffff9 	b	ffffff8040004140 <holdingsleep+0x38>
-
-ffffff8040004160 <fileinit>:
-ffffff8040004160:	f0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040004164:	9114d821 	add	x1, x1, #0x536
-ffffff8040004168:	d0000100 	adrp	x0, ffffff8040026000 <itable+0x1980>
-ffffff804000416c:	91074000 	add	x0, x0, #0x1d0
-ffffff8040004170:	17fff27f 	b	ffffff8040000b6c <initlock>
-
-ffffff8040004174 <filealloc>:
-ffffff8040004174:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004178:	910003fd 	mov	x29, sp
-ffffff804000417c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004180:	d0000114 	adrp	x20, ffffff8040026000 <itable+0x1980>
-ffffff8040004184:	91074294 	add	x20, x20, #0x1d0
-ffffff8040004188:	aa1403e0 	mov	x0, x20
-ffffff804000418c:	91006293 	add	x19, x20, #0x18
-ffffff8040004190:	97fff29c 	bl	ffffff8040000c00 <acquire>
-ffffff8040004194:	d2800c80 	mov	x0, #0x64                  	// #100
-ffffff8040004198:	b9400661 	ldr	w1, [x19, #4]
-ffffff804000419c:	35000121 	cbnz	w1, ffffff80400041c0 <filealloc+0x4c>
-ffffff80400041a0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff80400041a4:	b9000660 	str	w0, [x19, #4]
-ffffff80400041a8:	aa1403e0 	mov	x0, x20
-ffffff80400041ac:	97fff2c0 	bl	ffffff8040000cac <release>
-ffffff80400041b0:	aa1303e0 	mov	x0, x19
-ffffff80400041b4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400041b8:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400041bc:	d65f03c0 	ret
-ffffff80400041c0:	f1000400 	subs	x0, x0, #0x1
-ffffff80400041c4:	9100a273 	add	x19, x19, #0x28
-ffffff80400041c8:	54fffe81 	b.ne	ffffff8040004198 <filealloc+0x24>  // b.any
-ffffff80400041cc:	aa1403e0 	mov	x0, x20
-ffffff80400041d0:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff80400041d4:	97fff2b6 	bl	ffffff8040000cac <release>
-ffffff80400041d8:	17fffff6 	b	ffffff80400041b0 <filealloc+0x3c>
-
-ffffff80400041dc <filedup>:
-ffffff80400041dc:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400041e0:	910003fd 	mov	x29, sp
-ffffff80400041e4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400041e8:	d0000114 	adrp	x20, ffffff8040026000 <itable+0x1980>
-ffffff80400041ec:	91074294 	add	x20, x20, #0x1d0
-ffffff80400041f0:	aa0003f3 	mov	x19, x0
-ffffff80400041f4:	aa1403e0 	mov	x0, x20
-ffffff80400041f8:	97fff282 	bl	ffffff8040000c00 <acquire>
-ffffff80400041fc:	b9400660 	ldr	w0, [x19, #4]
-ffffff8040004200:	7100001f 	cmp	w0, #0x0
-ffffff8040004204:	5400008c 	b.gt	ffffff8040004214 <filedup+0x38>
-ffffff8040004208:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000420c:	9114f400 	add	x0, x0, #0x53d
-ffffff8040004210:	97fff0bc 	bl	ffffff8040000500 <panic>
-ffffff8040004214:	11000400 	add	w0, w0, #0x1
-ffffff8040004218:	b9000660 	str	w0, [x19, #4]
-ffffff804000421c:	aa1403e0 	mov	x0, x20
-ffffff8040004220:	97fff2a3 	bl	ffffff8040000cac <release>
-ffffff8040004224:	aa1303e0 	mov	x0, x19
-ffffff8040004228:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000422c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004230:	d65f03c0 	ret
-
-ffffff8040004234 <fileclose>:
-ffffff8040004234:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff8040004238:	910003fd 	mov	x29, sp
-ffffff804000423c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004240:	d0000114 	adrp	x20, ffffff8040026000 <itable+0x1980>
-ffffff8040004244:	91074294 	add	x20, x20, #0x1d0
-ffffff8040004248:	aa0003f3 	mov	x19, x0
-ffffff804000424c:	aa1403e0 	mov	x0, x20
-ffffff8040004250:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040004254:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040004258:	97fff26a 	bl	ffffff8040000c00 <acquire>
-ffffff804000425c:	b9400660 	ldr	w0, [x19, #4]
-ffffff8040004260:	7100001f 	cmp	w0, #0x0
-ffffff8040004264:	5400008c 	b.gt	ffffff8040004274 <fileclose+0x40>
-ffffff8040004268:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000426c:	91151400 	add	x0, x0, #0x545
-ffffff8040004270:	97fff0a4 	bl	ffffff8040000500 <panic>
-ffffff8040004274:	51000400 	sub	w0, w0, #0x1
-ffffff8040004278:	b9000660 	str	w0, [x19, #4]
-ffffff804000427c:	340000e0 	cbz	w0, ffffff8040004298 <fileclose+0x64>
-ffffff8040004280:	aa1403e0 	mov	x0, x20
-ffffff8040004284:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004288:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000428c:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004290:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040004294:	17fff286 	b	ffffff8040000cac <release>
-ffffff8040004298:	b9400275 	ldr	w21, [x19]
-ffffff804000429c:	aa1403e0 	mov	x0, x20
-ffffff80400042a0:	b900027f 	str	wzr, [x19]
-ffffff80400042a4:	39402678 	ldrb	w24, [x19, #9]
-ffffff80400042a8:	a9415a77 	ldp	x23, x22, [x19, #16]
-ffffff80400042ac:	97fff280 	bl	ffffff8040000cac <release>
-ffffff80400042b0:	710006bf 	cmp	w21, #0x1
-ffffff80400042b4:	54000101 	b.ne	ffffff80400042d4 <fileclose+0xa0>  // b.any
-ffffff80400042b8:	2a1803e1 	mov	w1, w24
-ffffff80400042bc:	aa1703e0 	mov	x0, x23
-ffffff80400042c0:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400042c4:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400042c8:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400042cc:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400042d0:	140000ef 	b	ffffff804000468c <pipeclose>
-ffffff80400042d4:	51000ab5 	sub	w21, w21, #0x2
-ffffff80400042d8:	710006bf 	cmp	w21, #0x1
-ffffff80400042dc:	54000128 	b.hi	ffffff8040004300 <fileclose+0xcc>  // b.pmore
-ffffff80400042e0:	97fffec5 	bl	ffffff8040003df4 <begin_op>
-ffffff80400042e4:	aa1603e0 	mov	x0, x22
-ffffff80400042e8:	97fffcd3 	bl	ffffff8040003634 <iput>
-ffffff80400042ec:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400042f0:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400042f4:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400042f8:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff80400042fc:	17fffed8 	b	ffffff8040003e5c <end_op>
-ffffff8040004300:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004304:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004308:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff804000430c:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040004310:	d65f03c0 	ret
-
-ffffff8040004314 <filestat>:
-ffffff8040004314:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff8040004318:	910003fd 	mov	x29, sp
-ffffff804000431c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004320:	aa0003f3 	mov	x19, x0
-ffffff8040004324:	f90013f5 	str	x21, [sp, #32]
-ffffff8040004328:	aa0103f5 	mov	x21, x1
-ffffff804000432c:	97fff610 	bl	ffffff8040001b6c <myproc>
-ffffff8040004330:	aa0003f4 	mov	x20, x0
-ffffff8040004334:	b9400260 	ldr	w0, [x19]
-ffffff8040004338:	51000800 	sub	w0, w0, #0x2
-ffffff804000433c:	7100041f 	cmp	w0, #0x1
-ffffff8040004340:	54000248 	b.hi	ffffff8040004388 <filestat+0x74>  // b.pmore
-ffffff8040004344:	f9400e60 	ldr	x0, [x19, #24]
-ffffff8040004348:	97fffc4b 	bl	ffffff8040003474 <ilock>
-ffffff804000434c:	9100e3e1 	add	x1, sp, #0x38
-ffffff8040004350:	f9400e60 	ldr	x0, [x19, #24]
-ffffff8040004354:	97fffce8 	bl	ffffff80400036f4 <stati>
-ffffff8040004358:	f9400e60 	ldr	x0, [x19, #24]
-ffffff804000435c:	97fffc7a 	bl	ffffff8040003544 <iunlock>
-ffffff8040004360:	d2800303 	mov	x3, #0x18                  	// #24
-ffffff8040004364:	9100e3e2 	add	x2, sp, #0x38
-ffffff8040004368:	f9402a80 	ldr	x0, [x20, #80]
-ffffff804000436c:	aa1503e1 	mov	x1, x21
-ffffff8040004370:	97fff510 	bl	ffffff80400017b0 <copyout>
-ffffff8040004374:	131f7c00 	asr	w0, w0, #31
-ffffff8040004378:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000437c:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040004380:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040004384:	d65f03c0 	ret
-ffffff8040004388:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff804000438c:	17fffffb 	b	ffffff8040004378 <filestat+0x64>
-
-ffffff8040004390 <fileread>:
-ffffff8040004390:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040004394:	910003fd 	mov	x29, sp
-ffffff8040004398:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff804000439c:	aa0003f3 	mov	x19, x0
-ffffff80400043a0:	f90013f5 	str	x21, [sp, #32]
-ffffff80400043a4:	39402000 	ldrb	w0, [x0, #8]
-ffffff80400043a8:	340006c0 	cbz	w0, ffffff8040004480 <fileread+0xf0>
-ffffff80400043ac:	b9400260 	ldr	w0, [x19]
-ffffff80400043b0:	7100041f 	cmp	w0, #0x1
-ffffff80400043b4:	540000c1 	b.ne	ffffff80400043cc <fileread+0x3c>  // b.any
-ffffff80400043b8:	f9400a60 	ldr	x0, [x19, #16]
-ffffff80400043bc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400043c0:	f94013f5 	ldr	x21, [sp, #32]
-ffffff80400043c4:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff80400043c8:	1400010a 	b	ffffff80400047f0 <piperead>
-ffffff80400043cc:	71000c1f 	cmp	w0, #0x3
-ffffff80400043d0:	54000201 	b.ne	ffffff8040004410 <fileread+0x80>  // b.any
-ffffff80400043d4:	79404a63 	ldrh	w3, [x19, #36]
-ffffff80400043d8:	79c04a60 	ldrsh	w0, [x19, #36]
-ffffff80400043dc:	7100247f 	cmp	w3, #0x9
-ffffff80400043e0:	54000508 	b.hi	ffffff8040004480 <fileread+0xf0>  // b.pmore
-ffffff80400043e4:	d0000103 	adrp	x3, ffffff8040026000 <itable+0x1980>
-ffffff80400043e8:	91074063 	add	x3, x3, #0x1d0
-ffffff80400043ec:	8b20d060 	add	x0, x3, w0, sxtw #4
-ffffff80400043f0:	f947dc03 	ldr	x3, [x0, #4024]
-ffffff80400043f4:	b4000463 	cbz	x3, ffffff8040004480 <fileread+0xf0>
-ffffff80400043f8:	52800020 	mov	w0, #0x1                   	// #1
-ffffff80400043fc:	aa0303f0 	mov	x16, x3
-ffffff8040004400:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004404:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040004408:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff804000440c:	d61f0200 	br	x16
-ffffff8040004410:	7100081f 	cmp	w0, #0x2
-ffffff8040004414:	54000301 	b.ne	ffffff8040004474 <fileread+0xe4>  // b.any
-ffffff8040004418:	f9400e60 	ldr	x0, [x19, #24]
-ffffff804000441c:	aa0103f4 	mov	x20, x1
-ffffff8040004420:	2a0203f5 	mov	w21, w2
-ffffff8040004424:	97fffc14 	bl	ffffff8040003474 <ilock>
-ffffff8040004428:	aa1403e2 	mov	x2, x20
-ffffff804000442c:	b9402263 	ldr	w3, [x19, #32]
-ffffff8040004430:	2a1503e4 	mov	w4, w21
-ffffff8040004434:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040004438:	f9400e60 	ldr	x0, [x19, #24]
-ffffff804000443c:	97fffcb9 	bl	ffffff8040003720 <readi>
-ffffff8040004440:	7100001f 	cmp	w0, #0x0
-ffffff8040004444:	2a0003f4 	mov	w20, w0
-ffffff8040004448:	5400008d 	b.le	ffffff8040004458 <fileread+0xc8>
-ffffff804000444c:	b9402260 	ldr	w0, [x19, #32]
-ffffff8040004450:	0b140000 	add	w0, w0, w20
-ffffff8040004454:	b9002260 	str	w0, [x19, #32]
-ffffff8040004458:	f9400e60 	ldr	x0, [x19, #24]
-ffffff804000445c:	97fffc3a 	bl	ffffff8040003544 <iunlock>
-ffffff8040004460:	2a1403e0 	mov	w0, w20
-ffffff8040004464:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004468:	f94013f5 	ldr	x21, [sp, #32]
-ffffff804000446c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004470:	d65f03c0 	ret
-ffffff8040004474:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004478:	91153c00 	add	x0, x0, #0x54f
-ffffff804000447c:	97fff021 	bl	ffffff8040000500 <panic>
-ffffff8040004480:	12800014 	mov	w20, #0xffffffff            	// #-1
-ffffff8040004484:	17fffff7 	b	ffffff8040004460 <fileread+0xd0>
-
-ffffff8040004488 <filewrite>:
-ffffff8040004488:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff804000448c:	910003fd 	mov	x29, sp
-ffffff8040004490:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004494:	aa0003f3 	mov	x19, x0
-ffffff8040004498:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff804000449c:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400044a0:	f90023f9 	str	x25, [sp, #64]
-ffffff80400044a4:	39402400 	ldrb	w0, [x0, #9]
-ffffff80400044a8:	340004e0 	cbz	w0, ffffff8040004544 <filewrite+0xbc>
-ffffff80400044ac:	b9400260 	ldr	w0, [x19]
-ffffff80400044b0:	7100041f 	cmp	w0, #0x1
-ffffff80400044b4:	54000101 	b.ne	ffffff80400044d4 <filewrite+0x4c>  // b.any
-ffffff80400044b8:	f9400a60 	ldr	x0, [x19, #16]
-ffffff80400044bc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400044c0:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400044c4:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400044c8:	f94023f9 	ldr	x25, [sp, #64]
-ffffff80400044cc:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff80400044d0:	14000088 	b	ffffff80400046f0 <pipewrite>
-ffffff80400044d4:	71000c1f 	cmp	w0, #0x3
-ffffff80400044d8:	54000241 	b.ne	ffffff8040004520 <filewrite+0x98>  // b.any
-ffffff80400044dc:	79404a63 	ldrh	w3, [x19, #36]
-ffffff80400044e0:	79c04a60 	ldrsh	w0, [x19, #36]
-ffffff80400044e4:	7100247f 	cmp	w3, #0x9
-ffffff80400044e8:	540002e8 	b.hi	ffffff8040004544 <filewrite+0xbc>  // b.pmore
-ffffff80400044ec:	d0000103 	adrp	x3, ffffff8040026000 <itable+0x1980>
-ffffff80400044f0:	91074063 	add	x3, x3, #0x1d0
-ffffff80400044f4:	8b20d060 	add	x0, x3, w0, sxtw #4
-ffffff80400044f8:	f947e003 	ldr	x3, [x0, #4032]
-ffffff80400044fc:	b4000243 	cbz	x3, ffffff8040004544 <filewrite+0xbc>
-ffffff8040004500:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004504:	aa0303f0 	mov	x16, x3
-ffffff8040004508:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000450c:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004510:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004514:	f94023f9 	ldr	x25, [sp, #64]
-ffffff8040004518:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff804000451c:	d61f0200 	br	x16
-ffffff8040004520:	7100081f 	cmp	w0, #0x2
-ffffff8040004524:	52800016 	mov	w22, #0x0                   	// #0
-ffffff8040004528:	54000501 	b.ne	ffffff80400045c8 <filewrite+0x140>  // b.any
-ffffff804000452c:	aa0103f8 	mov	x24, x1
-ffffff8040004530:	2a0203f4 	mov	w20, w2
-ffffff8040004534:	52818019 	mov	w25, #0xc00                 	// #3072
-ffffff8040004538:	6b1402df 	cmp	w22, w20
-ffffff804000453c:	5400014b 	b.lt	ffffff8040004564 <filewrite+0xdc>  // b.tstop
-ffffff8040004540:	54000040 	b.eq	ffffff8040004548 <filewrite+0xc0>  // b.none
-ffffff8040004544:	12800014 	mov	w20, #0xffffffff            	// #-1
-ffffff8040004548:	2a1403e0 	mov	w0, w20
-ffffff804000454c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004550:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004554:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004558:	f94023f9 	ldr	x25, [sp, #64]
-ffffff804000455c:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040004560:	d65f03c0 	ret
-ffffff8040004564:	4b160295 	sub	w21, w20, w22
-ffffff8040004568:	713002bf 	cmp	w21, #0xc00
-ffffff804000456c:	1a99d2b5 	csel	w21, w21, w25, le
-ffffff8040004570:	97fffe21 	bl	ffffff8040003df4 <begin_op>
-ffffff8040004574:	f9400e60 	ldr	x0, [x19, #24]
-ffffff8040004578:	97fffbbf 	bl	ffffff8040003474 <ilock>
-ffffff804000457c:	b9402263 	ldr	w3, [x19, #32]
-ffffff8040004580:	2a1503e4 	mov	w4, w21
-ffffff8040004584:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040004588:	8b36c302 	add	x2, x24, w22, sxtw
-ffffff804000458c:	f9400e60 	ldr	x0, [x19, #24]
-ffffff8040004590:	97fffca8 	bl	ffffff8040003830 <writei>
-ffffff8040004594:	7100001f 	cmp	w0, #0x0
-ffffff8040004598:	2a0003f7 	mov	w23, w0
-ffffff804000459c:	5400008d 	b.le	ffffff80400045ac <filewrite+0x124>
-ffffff80400045a0:	b9402260 	ldr	w0, [x19, #32]
-ffffff80400045a4:	0b170000 	add	w0, w0, w23
-ffffff80400045a8:	b9002260 	str	w0, [x19, #32]
-ffffff80400045ac:	f9400e60 	ldr	x0, [x19, #24]
-ffffff80400045b0:	97fffbe5 	bl	ffffff8040003544 <iunlock>
-ffffff80400045b4:	97fffe2a 	bl	ffffff8040003e5c <end_op>
-ffffff80400045b8:	6b1702bf 	cmp	w21, w23
-ffffff80400045bc:	54fffc41 	b.ne	ffffff8040004544 <filewrite+0xbc>  // b.any
-ffffff80400045c0:	0b1502d6 	add	w22, w22, w21
-ffffff80400045c4:	17ffffdd 	b	ffffff8040004538 <filewrite+0xb0>
-ffffff80400045c8:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400045cc:	91156000 	add	x0, x0, #0x558
-ffffff80400045d0:	97ffefcc 	bl	ffffff8040000500 <panic>
-
-ffffff80400045d4 <pipealloc>:
-ffffff80400045d4:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff80400045d8:	910003fd 	mov	x29, sp
-ffffff80400045dc:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400045e0:	aa0103f4 	mov	x20, x1
-ffffff80400045e4:	f90013f5 	str	x21, [sp, #32]
-ffffff80400045e8:	aa0003f5 	mov	x21, x0
-ffffff80400045ec:	f900003f 	str	xzr, [x1]
-ffffff80400045f0:	f900001f 	str	xzr, [x0]
-ffffff80400045f4:	97fffee0 	bl	ffffff8040004174 <filealloc>
-ffffff80400045f8:	f90002a0 	str	x0, [x21]
-ffffff80400045fc:	b4000380 	cbz	x0, ffffff804000466c <pipealloc+0x98>
-ffffff8040004600:	97fffedd 	bl	ffffff8040004174 <filealloc>
-ffffff8040004604:	f9000280 	str	x0, [x20]
-ffffff8040004608:	b4000320 	cbz	x0, ffffff804000466c <pipealloc+0x98>
-ffffff804000460c:	97fff139 	bl	ffffff8040000af0 <kalloc>
-ffffff8040004610:	aa0003f3 	mov	x19, x0
-ffffff8040004614:	b40002c0 	cbz	x0, ffffff804000466c <pipealloc+0x98>
-ffffff8040004618:	b20003e1 	mov	x1, #0x100000001           	// #4294967297
-ffffff804000461c:	f9010c1f 	str	xzr, [x0, #536]
-ffffff8040004620:	f9011001 	str	x1, [x0, #544]
-ffffff8040004624:	f0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040004628:	91158821 	add	x1, x1, #0x562
-ffffff804000462c:	97fff150 	bl	ffffff8040000b6c <initlock>
-ffffff8040004630:	f94002a0 	ldr	x0, [x21]
-ffffff8040004634:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040004638:	b9000001 	str	w1, [x0]
-ffffff804000463c:	79001001 	strh	w1, [x0, #8]
-ffffff8040004640:	f9000813 	str	x19, [x0, #16]
-ffffff8040004644:	f9400280 	ldr	x0, [x20]
-ffffff8040004648:	b9000001 	str	w1, [x0]
-ffffff804000464c:	52802001 	mov	w1, #0x100                 	// #256
-ffffff8040004650:	f9000813 	str	x19, [x0, #16]
-ffffff8040004654:	79001001 	strh	w1, [x0, #8]
-ffffff8040004658:	52800000 	mov	w0, #0x0                   	// #0
-ffffff804000465c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004660:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040004664:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004668:	d65f03c0 	ret
-ffffff804000466c:	f94002a0 	ldr	x0, [x21]
-ffffff8040004670:	b4000040 	cbz	x0, ffffff8040004678 <pipealloc+0xa4>
-ffffff8040004674:	97fffef0 	bl	ffffff8040004234 <fileclose>
-ffffff8040004678:	f9400280 	ldr	x0, [x20]
-ffffff804000467c:	b4000040 	cbz	x0, ffffff8040004684 <pipealloc+0xb0>
-ffffff8040004680:	97fffeed 	bl	ffffff8040004234 <fileclose>
-ffffff8040004684:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040004688:	17fffff5 	b	ffffff804000465c <pipealloc+0x88>
-
-ffffff804000468c <pipeclose>:
-ffffff804000468c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004690:	910003fd 	mov	x29, sp
-ffffff8040004694:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004698:	2a0103f4 	mov	w20, w1
-ffffff804000469c:	aa0003f3 	mov	x19, x0
-ffffff80400046a0:	97fff158 	bl	ffffff8040000c00 <acquire>
-ffffff80400046a4:	34000194 	cbz	w20, ffffff80400046d4 <pipeclose+0x48>
-ffffff80400046a8:	91086260 	add	x0, x19, #0x218
-ffffff80400046ac:	b902267f 	str	wzr, [x19, #548]
-ffffff80400046b0:	97fff6cf 	bl	ffffff80400021ec <wakeup>
-ffffff80400046b4:	f9411260 	ldr	x0, [x19, #544]
-ffffff80400046b8:	b5000140 	cbnz	x0, ffffff80400046e0 <pipeclose+0x54>
-ffffff80400046bc:	aa1303e0 	mov	x0, x19
-ffffff80400046c0:	97fff17b 	bl	ffffff8040000cac <release>
-ffffff80400046c4:	aa1303e0 	mov	x0, x19
-ffffff80400046c8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400046cc:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400046d0:	17fff0ca 	b	ffffff80400009f8 <kfree>
-ffffff80400046d4:	91087260 	add	x0, x19, #0x21c
-ffffff80400046d8:	b902227f 	str	wzr, [x19, #544]
-ffffff80400046dc:	17fffff5 	b	ffffff80400046b0 <pipeclose+0x24>
-ffffff80400046e0:	aa1303e0 	mov	x0, x19
-ffffff80400046e4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400046e8:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff80400046ec:	17fff170 	b	ffffff8040000cac <release>
-
-ffffff80400046f0 <pipewrite>:
-ffffff80400046f0:	a9ba7bfd 	stp	x29, x30, [sp, #-96]!
-ffffff80400046f4:	910003fd 	mov	x29, sp
-ffffff80400046f8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400046fc:	aa0003f3 	mov	x19, x0
-ffffff8040004700:	52800014 	mov	w20, #0x0                   	// #0
-ffffff8040004704:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040004708:	2a0203f6 	mov	w22, w2
-ffffff804000470c:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040004710:	aa0103f7 	mov	x23, x1
-ffffff8040004714:	91086018 	add	x24, x0, #0x218
-ffffff8040004718:	f90023f9 	str	x25, [sp, #64]
-ffffff804000471c:	91087279 	add	x25, x19, #0x21c
-ffffff8040004720:	97fff513 	bl	ffffff8040001b6c <myproc>
-ffffff8040004724:	aa0003f5 	mov	x21, x0
-ffffff8040004728:	aa1303e0 	mov	x0, x19
-ffffff804000472c:	97fff135 	bl	ffffff8040000c00 <acquire>
-ffffff8040004730:	6b16029f 	cmp	w20, w22
-ffffff8040004734:	540000cb 	b.lt	ffffff804000474c <pipewrite+0x5c>  // b.tstop
-ffffff8040004738:	91086260 	add	x0, x19, #0x218
-ffffff804000473c:	97fff6ac 	bl	ffffff80400021ec <wakeup>
-ffffff8040004740:	aa1303e0 	mov	x0, x19
-ffffff8040004744:	97fff15a 	bl	ffffff8040000cac <release>
-ffffff8040004748:	14000008 	b	ffffff8040004768 <pipewrite+0x78>
-ffffff804000474c:	b9422260 	ldr	w0, [x19, #544]
-ffffff8040004750:	34000060 	cbz	w0, ffffff804000475c <pipewrite+0x6c>
-ffffff8040004754:	b9402aa0 	ldr	w0, [x21, #40]
-ffffff8040004758:	34000160 	cbz	w0, ffffff8040004784 <pipewrite+0x94>
-ffffff804000475c:	aa1303e0 	mov	x0, x19
-ffffff8040004760:	12800014 	mov	w20, #0xffffffff            	// #-1
-ffffff8040004764:	97fff152 	bl	ffffff8040000cac <release>
-ffffff8040004768:	2a1403e0 	mov	w0, w20
-ffffff804000476c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004770:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004774:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004778:	f94023f9 	ldr	x25, [sp, #64]
-ffffff804000477c:	a8c67bfd 	ldp	x29, x30, [sp], #96
-ffffff8040004780:	d65f03c0 	ret
-ffffff8040004784:	b9421a60 	ldr	w0, [x19, #536]
-ffffff8040004788:	b9421e61 	ldr	w1, [x19, #540]
-ffffff804000478c:	11080000 	add	w0, w0, #0x200
-ffffff8040004790:	6b00003f 	cmp	w1, w0
-ffffff8040004794:	540000e1 	b.ne	ffffff80400047b0 <pipewrite+0xc0>  // b.any
-ffffff8040004798:	aa1803e0 	mov	x0, x24
-ffffff804000479c:	97fff694 	bl	ffffff80400021ec <wakeup>
-ffffff80400047a0:	aa1303e1 	mov	x1, x19
-ffffff80400047a4:	aa1903e0 	mov	x0, x25
-ffffff80400047a8:	97fff638 	bl	ffffff8040002088 <sleep>
-ffffff80400047ac:	17ffffe1 	b	ffffff8040004730 <pipewrite+0x40>
-ffffff80400047b0:	d2800023 	mov	x3, #0x1                   	// #1
-ffffff80400047b4:	91017fe1 	add	x1, sp, #0x5f
-ffffff80400047b8:	f9402aa0 	ldr	x0, [x21, #80]
-ffffff80400047bc:	8b34c2e2 	add	x2, x23, w20, sxtw
-ffffff80400047c0:	97fff420 	bl	ffffff8040001840 <copyin>
-ffffff80400047c4:	3100041f 	cmn	w0, #0x1
-ffffff80400047c8:	54fffb80 	b.eq	ffffff8040004738 <pipewrite+0x48>  // b.none
-ffffff80400047cc:	b9421e63 	ldr	w3, [x19, #540]
-ffffff80400047d0:	11000694 	add	w20, w20, #0x1
-ffffff80400047d4:	11000460 	add	w0, w3, #0x1
-ffffff80400047d8:	92402063 	and	x3, x3, #0x1ff
-ffffff80400047dc:	8b030263 	add	x3, x19, x3
-ffffff80400047e0:	b9021e60 	str	w0, [x19, #540]
-ffffff80400047e4:	39417fe0 	ldrb	w0, [sp, #95]
-ffffff80400047e8:	39006060 	strb	w0, [x3, #24]
-ffffff80400047ec:	17ffffd1 	b	ffffff8040004730 <pipewrite+0x40>
-
-ffffff80400047f0 <piperead>:
-ffffff80400047f0:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff80400047f4:	910003fd 	mov	x29, sp
-ffffff80400047f8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400047fc:	aa0003f3 	mov	x19, x0
-ffffff8040004800:	91086274 	add	x20, x19, #0x218
-ffffff8040004804:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040004808:	2a0203f6 	mov	w22, w2
-ffffff804000480c:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040004810:	aa0103f7 	mov	x23, x1
-ffffff8040004814:	97fff4d6 	bl	ffffff8040001b6c <myproc>
-ffffff8040004818:	aa0003f5 	mov	x21, x0
-ffffff804000481c:	aa1303e0 	mov	x0, x19
-ffffff8040004820:	97fff0f8 	bl	ffffff8040000c00 <acquire>
-ffffff8040004824:	b9421a61 	ldr	w1, [x19, #536]
-ffffff8040004828:	b9421e60 	ldr	w0, [x19, #540]
-ffffff804000482c:	6b00003f 	cmp	w1, w0
-ffffff8040004830:	54000061 	b.ne	ffffff804000483c <piperead+0x4c>  // b.any
-ffffff8040004834:	b9422661 	ldr	w1, [x19, #548]
-ffffff8040004838:	35000061 	cbnz	w1, ffffff8040004844 <piperead+0x54>
-ffffff804000483c:	d2800014 	mov	x20, #0x0                   	// #0
-ffffff8040004840:	1400001e 	b	ffffff80400048b8 <piperead+0xc8>
-ffffff8040004844:	b9402aa0 	ldr	w0, [x21, #40]
-ffffff8040004848:	34000140 	cbz	w0, ffffff8040004870 <piperead+0x80>
-ffffff804000484c:	aa1303e0 	mov	x0, x19
-ffffff8040004850:	12800018 	mov	w24, #0xffffffff            	// #-1
-ffffff8040004854:	97fff116 	bl	ffffff8040000cac <release>
-ffffff8040004858:	2a1803e0 	mov	w0, w24
-ffffff804000485c:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004860:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004864:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004868:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff804000486c:	d65f03c0 	ret
-ffffff8040004870:	aa1303e1 	mov	x1, x19
-ffffff8040004874:	aa1403e0 	mov	x0, x20
-ffffff8040004878:	97fff604 	bl	ffffff8040002088 <sleep>
-ffffff804000487c:	17ffffea 	b	ffffff8040004824 <piperead+0x34>
-ffffff8040004880:	11000460 	add	w0, w3, #0x1
-ffffff8040004884:	92402063 	and	x3, x3, #0x1ff
-ffffff8040004888:	8b030263 	add	x3, x19, x3
-ffffff804000488c:	8b170281 	add	x1, x20, x23
-ffffff8040004890:	b9021a60 	str	w0, [x19, #536]
-ffffff8040004894:	91013fe2 	add	x2, sp, #0x4f
-ffffff8040004898:	91000694 	add	x20, x20, #0x1
-ffffff804000489c:	39406060 	ldrb	w0, [x3, #24]
-ffffff80400048a0:	d2800023 	mov	x3, #0x1                   	// #1
-ffffff80400048a4:	39013fe0 	strb	w0, [sp, #79]
-ffffff80400048a8:	f9402aa0 	ldr	x0, [x21, #80]
-ffffff80400048ac:	97fff3c1 	bl	ffffff80400017b0 <copyout>
-ffffff80400048b0:	3100041f 	cmn	w0, #0x1
-ffffff80400048b4:	54000100 	b.eq	ffffff80400048d4 <piperead+0xe4>  // b.none
-ffffff80400048b8:	6b1402df 	cmp	w22, w20
-ffffff80400048bc:	2a1403f8 	mov	w24, w20
-ffffff80400048c0:	540000ad 	b.le	ffffff80400048d4 <piperead+0xe4>
-ffffff80400048c4:	b9421a63 	ldr	w3, [x19, #536]
-ffffff80400048c8:	b9421e60 	ldr	w0, [x19, #540]
-ffffff80400048cc:	6b00007f 	cmp	w3, w0
-ffffff80400048d0:	54fffd81 	b.ne	ffffff8040004880 <piperead+0x90>  // b.any
-ffffff80400048d4:	91087260 	add	x0, x19, #0x21c
-ffffff80400048d8:	97fff645 	bl	ffffff80400021ec <wakeup>
-ffffff80400048dc:	aa1303e0 	mov	x0, x19
-ffffff80400048e0:	97fff0f3 	bl	ffffff8040000cac <release>
-ffffff80400048e4:	17ffffdd 	b	ffffff8040004858 <piperead+0x68>
-
-ffffff80400048e8 <exec>:
-ffffff80400048e8:	a9a17bfd 	stp	x29, x30, [sp, #-496]!
-ffffff80400048ec:	910003fd 	mov	x29, sp
-ffffff80400048f0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400048f4:	aa0003f4 	mov	x20, x0
-ffffff80400048f8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400048fc:	aa0103f5 	mov	x21, x1
-ffffff8040004900:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff8040004904:	a9046bf9 	stp	x25, x26, [sp, #64]
-ffffff8040004908:	a90573fb 	stp	x27, x28, [sp, #80]
-ffffff804000490c:	97fff498 	bl	ffffff8040001b6c <myproc>
-ffffff8040004910:	97fffd39 	bl	ffffff8040003df4 <begin_op>
-ffffff8040004914:	aa1403e0 	mov	x0, x20
-ffffff8040004918:	97fffcc4 	bl	ffffff8040003c28 <namei>
-ffffff804000491c:	b5000080 	cbnz	x0, ffffff804000492c <exec+0x44>
-ffffff8040004920:	97fffd4f 	bl	ffffff8040003e5c <end_op>
-ffffff8040004924:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040004928:	1400004f 	b	ffffff8040004a64 <exec+0x17c>
-ffffff804000492c:	aa0003fb 	mov	x27, x0
-ffffff8040004930:	97fffad1 	bl	ffffff8040003474 <ilock>
-ffffff8040004934:	52800804 	mov	w4, #0x40                  	// #64
-ffffff8040004938:	52800003 	mov	w3, #0x0                   	// #0
-ffffff804000493c:	9102c3e2 	add	x2, sp, #0xb0
-ffffff8040004940:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040004944:	aa1b03e0 	mov	x0, x27
-ffffff8040004948:	97fffb76 	bl	ffffff8040003720 <readi>
-ffffff804000494c:	7101001f 	cmp	w0, #0x40
-ffffff8040004950:	54001481 	b.ne	ffffff8040004be0 <exec+0x2f8>  // b.any
-ffffff8040004954:	b940b3e1 	ldr	w1, [sp, #176]
-ffffff8040004958:	5288afe0 	mov	w0, #0x457f                	// #17791
-ffffff804000495c:	72a8c980 	movk	w0, #0x464c, lsl #16
-ffffff8040004960:	6b00003f 	cmp	w1, w0
-ffffff8040004964:	540013e1 	b.ne	ffffff8040004be0 <exec+0x2f8>  // b.any
-ffffff8040004968:	97fff29b 	bl	ffffff80400013d4 <uvmcreate>
-ffffff804000496c:	aa0003f3 	mov	x19, x0
-ffffff8040004970:	b4001380 	cbz	x0, ffffff8040004be0 <exec+0x2f8>
-ffffff8040004974:	f9406be0 	ldr	x0, [sp, #208]
-ffffff8040004978:	d2800017 	mov	x23, #0x0                   	// #0
-ffffff804000497c:	52800016 	mov	w22, #0x0                   	// #0
-ffffff8040004980:	f90033e0 	str	x0, [sp, #96]
-ffffff8040004984:	7941d3e0 	ldrh	w0, [sp, #232]
-ffffff8040004988:	6b16001f 	cmp	w0, w22
-ffffff804000498c:	540007ac 	b.gt	ffffff8040004a80 <exec+0x198>
-ffffff8040004990:	aa1b03e0 	mov	x0, x27
-ffffff8040004994:	913ffef6 	add	x22, x23, #0xfff
-ffffff8040004998:	97fffb4e 	bl	ffffff80400036d0 <iunlockput>
-ffffff804000499c:	97fffd30 	bl	ffffff8040003e5c <end_op>
-ffffff80400049a0:	97fff473 	bl	ffffff8040001b6c <myproc>
-ffffff80400049a4:	9274ced6 	and	x22, x22, #0xfffffffffffff000
-ffffff80400049a8:	aa0003f8 	mov	x24, x0
-ffffff80400049ac:	91400ac2 	add	x2, x22, #0x2, lsl #12
-ffffff80400049b0:	aa1603e1 	mov	x1, x22
-ffffff80400049b4:	f940271a 	ldr	x26, [x24, #72]
-ffffff80400049b8:	aa1303e0 	mov	x0, x19
-ffffff80400049bc:	97fff2dc 	bl	ffffff804000152c <uvmalloc>
-ffffff80400049c0:	aa0003f7 	mov	x23, x0
-ffffff80400049c4:	b4001140 	cbz	x0, ffffff8040004bec <exec+0x304>
-ffffff80400049c8:	d1400801 	sub	x1, x0, #0x2, lsl #12
-ffffff80400049cc:	d14006f9 	sub	x25, x23, #0x1, lsl #12
-ffffff80400049d0:	aa1303e0 	mov	x0, x19
-ffffff80400049d4:	aa1703fc 	mov	x28, x23
-ffffff80400049d8:	d2800016 	mov	x22, #0x0                   	// #0
-ffffff80400049dc:	97fff368 	bl	ffffff804000177c <uvmclear>
-ffffff80400049e0:	f8767abb 	ldr	x27, [x21, x22, lsl #3]
-ffffff80400049e4:	b5000bfb 	cbnz	x27, ffffff8040004b60 <exec+0x278>
-ffffff80400049e8:	910006d5 	add	x21, x22, #0x1
-ffffff80400049ec:	9103c3e2 	add	x2, sp, #0xf0
-ffffff80400049f0:	d37df2a3 	lsl	x3, x21, #3
-ffffff80400049f4:	cb150f95 	sub	x21, x28, x21, lsl #3
-ffffff80400049f8:	f836785f 	str	xzr, [x2, x22, lsl #3]
-ffffff80400049fc:	927ceeb5 	and	x21, x21, #0xfffffffffffffff0
-ffffff8040004a00:	eb15033f 	cmp	x25, x21
-ffffff8040004a04:	54000e68 	b.hi	ffffff8040004bd0 <exec+0x2e8>  // b.pmore
-ffffff8040004a08:	aa1503e1 	mov	x1, x21
-ffffff8040004a0c:	aa1303e0 	mov	x0, x19
-ffffff8040004a10:	97fff368 	bl	ffffff80400017b0 <copyout>
-ffffff8040004a14:	37f80de0 	tbnz	w0, #31, ffffff8040004bd0 <exec+0x2e8>
-ffffff8040004a18:	f9402f00 	ldr	x0, [x24, #88]
-ffffff8040004a1c:	aa1403e1 	mov	x1, x20
-ffffff8040004a20:	f9000415 	str	x21, [x0, #8]
-ffffff8040004a24:	39400280 	ldrb	w0, [x20]
-ffffff8040004a28:	35000ca0 	cbnz	w0, ffffff8040004bbc <exec+0x2d4>
-ffffff8040004a2c:	52800202 	mov	w2, #0x10                  	// #16
-ffffff8040004a30:	91056300 	add	x0, x24, #0x158
-ffffff8040004a34:	97fff0f8 	bl	ffffff8040000e14 <safestrcpy>
-ffffff8040004a38:	a9450314 	ldp	x20, x0, [x24, #80]
-ffffff8040004a3c:	a904cf17 	stp	x23, x19, [x24, #72]
-ffffff8040004a40:	f94067e1 	ldr	x1, [sp, #200]
-ffffff8040004a44:	f9008415 	str	x21, [x0, #264]
-ffffff8040004a48:	a90ffc01 	stp	x1, xzr, [x0, #248]
-ffffff8040004a4c:	aa1803e0 	mov	x0, x24
-ffffff8040004a50:	97fff28d 	bl	ffffff8040001484 <switchuvm>
-ffffff8040004a54:	aa1403e0 	mov	x0, x20
-ffffff8040004a58:	aa1a03e1 	mov	x1, x26
-ffffff8040004a5c:	97fff2fa 	bl	ffffff8040001644 <uvmfree>
-ffffff8040004a60:	2a1603e0 	mov	w0, w22
-ffffff8040004a64:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004a68:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004a6c:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff8040004a70:	a9446bf9 	ldp	x25, x26, [sp, #64]
-ffffff8040004a74:	a94573fb 	ldp	x27, x28, [sp, #80]
-ffffff8040004a78:	a8df7bfd 	ldp	x29, x30, [sp], #496
-ffffff8040004a7c:	d65f03c0 	ret
-ffffff8040004a80:	b94063e1 	ldr	w1, [sp, #96]
-ffffff8040004a84:	52800704 	mov	w4, #0x38                  	// #56
-ffffff8040004a88:	9101e3e2 	add	x2, sp, #0x78
-ffffff8040004a8c:	aa1b03e0 	mov	x0, x27
-ffffff8040004a90:	1b0406c3 	madd	w3, w22, w4, w1
-ffffff8040004a94:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040004a98:	97fffb22 	bl	ffffff8040003720 <readi>
-ffffff8040004a9c:	7100e01f 	cmp	w0, #0x38
-ffffff8040004aa0:	54000981 	b.ne	ffffff8040004bd0 <exec+0x2e8>  // b.any
-ffffff8040004aa4:	b9407be0 	ldr	w0, [sp, #120]
-ffffff8040004aa8:	7100041f 	cmp	w0, #0x1
-ffffff8040004aac:	540002a1 	b.ne	ffffff8040004b00 <exec+0x218>  // b.any
-ffffff8040004ab0:	a9498be0 	ldp	x0, x2, [sp, #152]
-ffffff8040004ab4:	eb00005f 	cmp	x2, x0
-ffffff8040004ab8:	540008c3 	b.cc	ffffff8040004bd0 <exec+0x2e8>  // b.lo, b.ul, b.last
-ffffff8040004abc:	f94047e0 	ldr	x0, [sp, #136]
-ffffff8040004ac0:	ab000042 	adds	x2, x2, x0
-ffffff8040004ac4:	54000862 	b.cs	ffffff8040004bd0 <exec+0x2e8>  // b.hs, b.nlast
-ffffff8040004ac8:	aa1703e1 	mov	x1, x23
-ffffff8040004acc:	aa1303e0 	mov	x0, x19
-ffffff8040004ad0:	97fff297 	bl	ffffff804000152c <uvmalloc>
-ffffff8040004ad4:	aa0003f9 	mov	x25, x0
-ffffff8040004ad8:	b40007c0 	cbz	x0, ffffff8040004bd0 <exec+0x2e8>
-ffffff8040004adc:	f94047f8 	ldr	x24, [sp, #136]
-ffffff8040004ae0:	f2402f1f 	tst	x24, #0xfff
-ffffff8040004ae4:	54000741 	b.ne	ffffff8040004bcc <exec+0x2e4>  // b.any
-ffffff8040004ae8:	b94083fc 	ldr	w28, [sp, #128]
-ffffff8040004aec:	5280001a 	mov	w26, #0x0                   	// #0
-ffffff8040004af0:	b9409bf7 	ldr	w23, [sp, #152]
-ffffff8040004af4:	6b1a02ff 	cmp	w23, w26
-ffffff8040004af8:	54000088 	b.hi	ffffff8040004b08 <exec+0x220>  // b.pmore
-ffffff8040004afc:	aa1903f7 	mov	x23, x25
-ffffff8040004b00:	110006d6 	add	w22, w22, #0x1
-ffffff8040004b04:	17ffffa0 	b	ffffff8040004984 <exec+0x9c>
-ffffff8040004b08:	aa1303e0 	mov	x0, x19
-ffffff8040004b0c:	8b3a4301 	add	x1, x24, w26, uxtw
-ffffff8040004b10:	97fff18c 	bl	ffffff8040001140 <uva2ka>
-ffffff8040004b14:	aa0003e2 	mov	x2, x0
-ffffff8040004b18:	b5000080 	cbnz	x0, ffffff8040004b28 <exec+0x240>
-ffffff8040004b1c:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004b20:	91159c00 	add	x0, x0, #0x567
-ffffff8040004b24:	97ffee77 	bl	ffffff8040000500 <panic>
-ffffff8040004b28:	4b1a02e4 	sub	w4, w23, w26
-ffffff8040004b2c:	52820000 	mov	w0, #0x1000                	// #4096
-ffffff8040004b30:	7140049f 	cmp	w4, #0x1, lsl #12
-ffffff8040004b34:	0b1a0383 	add	w3, w28, w26
-ffffff8040004b38:	1a803084 	csel	w4, w4, w0, cc  // cc = lo, ul, last
-ffffff8040004b3c:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040004b40:	aa1b03e0 	mov	x0, x27
-ffffff8040004b44:	b9006fe4 	str	w4, [sp, #108]
-ffffff8040004b48:	97fffaf6 	bl	ffffff8040003720 <readi>
-ffffff8040004b4c:	b9406fe4 	ldr	w4, [sp, #108]
-ffffff8040004b50:	6b00009f 	cmp	w4, w0
-ffffff8040004b54:	540003c1 	b.ne	ffffff8040004bcc <exec+0x2e4>  // b.any
-ffffff8040004b58:	1140075a 	add	w26, w26, #0x1, lsl #12
-ffffff8040004b5c:	17ffffe6 	b	ffffff8040004af4 <exec+0x20c>
-ffffff8040004b60:	f10082df 	cmp	x22, #0x20
-ffffff8040004b64:	54000460 	b.eq	ffffff8040004bf0 <exec+0x308>  // b.none
-ffffff8040004b68:	aa1b03e0 	mov	x0, x27
-ffffff8040004b6c:	97fff0b4 	bl	ffffff8040000e3c <strlen>
-ffffff8040004b70:	11000400 	add	w0, w0, #0x1
-ffffff8040004b74:	cb20c39c 	sub	x28, x28, w0, sxtw
-ffffff8040004b78:	927cef9c 	and	x28, x28, #0xfffffffffffffff0
-ffffff8040004b7c:	eb1c033f 	cmp	x25, x28
-ffffff8040004b80:	54000388 	b.hi	ffffff8040004bf0 <exec+0x308>  // b.pmore
-ffffff8040004b84:	f8767abb 	ldr	x27, [x21, x22, lsl #3]
-ffffff8040004b88:	aa1b03e0 	mov	x0, x27
-ffffff8040004b8c:	97fff0ac 	bl	ffffff8040000e3c <strlen>
-ffffff8040004b90:	11000403 	add	w3, w0, #0x1
-ffffff8040004b94:	aa1b03e2 	mov	x2, x27
-ffffff8040004b98:	93407c63 	sxtw	x3, w3
-ffffff8040004b9c:	aa1c03e1 	mov	x1, x28
-ffffff8040004ba0:	aa1303e0 	mov	x0, x19
-ffffff8040004ba4:	97fff303 	bl	ffffff80400017b0 <copyout>
-ffffff8040004ba8:	37f80240 	tbnz	w0, #31, ffffff8040004bf0 <exec+0x308>
-ffffff8040004bac:	9103c3e0 	add	x0, sp, #0xf0
-ffffff8040004bb0:	f836781c 	str	x28, [x0, x22, lsl #3]
-ffffff8040004bb4:	910006d6 	add	x22, x22, #0x1
-ffffff8040004bb8:	17ffff8a 	b	ffffff80400049e0 <exec+0xf8>
-ffffff8040004bbc:	91000694 	add	x20, x20, #0x1
-ffffff8040004bc0:	7100bc1f 	cmp	w0, #0x2f
-ffffff8040004bc4:	9a941021 	csel	x1, x1, x20, ne  // ne = any
-ffffff8040004bc8:	17ffff97 	b	ffffff8040004a24 <exec+0x13c>
-ffffff8040004bcc:	aa1903f7 	mov	x23, x25
-ffffff8040004bd0:	aa1703e1 	mov	x1, x23
-ffffff8040004bd4:	aa1303e0 	mov	x0, x19
-ffffff8040004bd8:	97fff29b 	bl	ffffff8040001644 <uvmfree>
-ffffff8040004bdc:	b4ffea5b 	cbz	x27, ffffff8040004924 <exec+0x3c>
-ffffff8040004be0:	aa1b03e0 	mov	x0, x27
-ffffff8040004be4:	97fffabb 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040004be8:	17ffff4e 	b	ffffff8040004920 <exec+0x38>
-ffffff8040004bec:	aa1603f7 	mov	x23, x22
-ffffff8040004bf0:	d280001b 	mov	x27, #0x0                   	// #0
-ffffff8040004bf4:	17fffff7 	b	ffffff8040004bd0 <exec+0x2e8>
-
-ffffff8040004bf8 <fdalloc>:
-ffffff8040004bf8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004bfc:	910003fd 	mov	x29, sp
-ffffff8040004c00:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040004c04:	aa0003f3 	mov	x19, x0
-ffffff8040004c08:	97fff3d9 	bl	ffffff8040001b6c <myproc>
-ffffff8040004c0c:	aa0003e1 	mov	x1, x0
-ffffff8040004c10:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff8040004c14:	91034003 	add	x3, x0, #0xd0
-ffffff8040004c18:	f8627864 	ldr	x4, [x3, x2, lsl #3]
-ffffff8040004c1c:	2a0203e0 	mov	w0, w2
-ffffff8040004c20:	b50000c4 	cbnz	x4, ffffff8040004c38 <fdalloc+0x40>
-ffffff8040004c24:	8b22cc21 	add	x1, x1, w2, sxtw #3
-ffffff8040004c28:	f9006833 	str	x19, [x1, #208]
-ffffff8040004c2c:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040004c30:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004c34:	d65f03c0 	ret
-ffffff8040004c38:	91000442 	add	x2, x2, #0x1
-ffffff8040004c3c:	f100405f 	cmp	x2, #0x10
-ffffff8040004c40:	54fffec1 	b.ne	ffffff8040004c18 <fdalloc+0x20>  // b.any
-ffffff8040004c44:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040004c48:	17fffff9 	b	ffffff8040004c2c <fdalloc+0x34>
-
-ffffff8040004c4c <create>:
-ffffff8040004c4c:	a9bb7bfd 	stp	x29, x30, [sp, #-80]!
-ffffff8040004c50:	910003fd 	mov	x29, sp
-ffffff8040004c54:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040004c58:	13003c35 	sxth	w21, w1
-ffffff8040004c5c:	910103e1 	add	x1, sp, #0x40
-ffffff8040004c60:	13003c76 	sxth	w22, w3
-ffffff8040004c64:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004c68:	f9001bf7 	str	x23, [sp, #48]
-ffffff8040004c6c:	13003c57 	sxth	w23, w2
-ffffff8040004c70:	97fffbf5 	bl	ffffff8040003c44 <nameiparent>
-ffffff8040004c74:	b40002c0 	cbz	x0, ffffff8040004ccc <create+0x80>
-ffffff8040004c78:	aa0003f4 	mov	x20, x0
-ffffff8040004c7c:	97fff9fe 	bl	ffffff8040003474 <ilock>
-ffffff8040004c80:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff8040004c84:	910103e1 	add	x1, sp, #0x40
-ffffff8040004c88:	aa1403e0 	mov	x0, x20
-ffffff8040004c8c:	97fffb32 	bl	ffffff8040003954 <dirlookup>
-ffffff8040004c90:	aa0003f3 	mov	x19, x0
-ffffff8040004c94:	b4000200 	cbz	x0, ffffff8040004cd4 <create+0x88>
-ffffff8040004c98:	aa1403e0 	mov	x0, x20
-ffffff8040004c9c:	97fffa8d 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040004ca0:	aa1303e0 	mov	x0, x19
-ffffff8040004ca4:	97fff9f4 	bl	ffffff8040003474 <ilock>
-ffffff8040004ca8:	71000abf 	cmp	w21, #0x2
-ffffff8040004cac:	540000c1 	b.ne	ffffff8040004cc4 <create+0x78>  // b.any
-ffffff8040004cb0:	79408a60 	ldrh	w0, [x19, #68]
-ffffff8040004cb4:	51000800 	sub	w0, w0, #0x2
-ffffff8040004cb8:	12003c00 	and	w0, w0, #0xffff
-ffffff8040004cbc:	7100041f 	cmp	w0, #0x1
-ffffff8040004cc0:	54000689 	b.ls	ffffff8040004d90 <create+0x144>  // b.plast
-ffffff8040004cc4:	aa1303e0 	mov	x0, x19
-ffffff8040004cc8:	97fffa82 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040004ccc:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff8040004cd0:	14000030 	b	ffffff8040004d90 <create+0x144>
-ffffff8040004cd4:	b9400280 	ldr	w0, [x20]
-ffffff8040004cd8:	2a1503e1 	mov	w1, w21
-ffffff8040004cdc:	97fff982 	bl	ffffff80400032e4 <ialloc>
-ffffff8040004ce0:	aa0003f3 	mov	x19, x0
-ffffff8040004ce4:	b5000080 	cbnz	x0, ffffff8040004cf4 <create+0xa8>
-ffffff8040004ce8:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004cec:	91161400 	add	x0, x0, #0x585
-ffffff8040004cf0:	97ffee04 	bl	ffffff8040000500 <panic>
-ffffff8040004cf4:	97fff9e0 	bl	ffffff8040003474 <ilock>
-ffffff8040004cf8:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004cfc:	79008e77 	strh	w23, [x19, #70]
-ffffff8040004d00:	79009276 	strh	w22, [x19, #72]
-ffffff8040004d04:	79009660 	strh	w0, [x19, #74]
-ffffff8040004d08:	aa1303e0 	mov	x0, x19
-ffffff8040004d0c:	97fff9a6 	bl	ffffff80400033a4 <iupdate>
-ffffff8040004d10:	710006bf 	cmp	w21, #0x1
-ffffff8040004d14:	540002a1 	b.ne	ffffff8040004d68 <create+0x11c>  // b.any
-ffffff8040004d18:	79409680 	ldrh	w0, [x20, #74]
-ffffff8040004d1c:	11000400 	add	w0, w0, #0x1
-ffffff8040004d20:	79009680 	strh	w0, [x20, #74]
-ffffff8040004d24:	aa1403e0 	mov	x0, x20
-ffffff8040004d28:	97fff99f 	bl	ffffff80400033a4 <iupdate>
-ffffff8040004d2c:	f0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040004d30:	91168421 	add	x1, x1, #0x5a1
-ffffff8040004d34:	b9400662 	ldr	w2, [x19, #4]
-ffffff8040004d38:	aa1303e0 	mov	x0, x19
-ffffff8040004d3c:	97fffb86 	bl	ffffff8040003b54 <dirlink>
-ffffff8040004d40:	36f80080 	tbz	w0, #31, ffffff8040004d50 <create+0x104>
-ffffff8040004d44:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004d48:	91165000 	add	x0, x0, #0x594
-ffffff8040004d4c:	17ffffe9 	b	ffffff8040004cf0 <create+0xa4>
-ffffff8040004d50:	f0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040004d54:	91168021 	add	x1, x1, #0x5a0
-ffffff8040004d58:	b9400682 	ldr	w2, [x20, #4]
-ffffff8040004d5c:	aa1303e0 	mov	x0, x19
-ffffff8040004d60:	97fffb7d 	bl	ffffff8040003b54 <dirlink>
-ffffff8040004d64:	37ffff00 	tbnz	w0, #31, ffffff8040004d44 <create+0xf8>
-ffffff8040004d68:	b9400662 	ldr	w2, [x19, #4]
-ffffff8040004d6c:	910103e1 	add	x1, sp, #0x40
-ffffff8040004d70:	aa1403e0 	mov	x0, x20
-ffffff8040004d74:	97fffb78 	bl	ffffff8040003b54 <dirlink>
-ffffff8040004d78:	36f80080 	tbz	w0, #31, ffffff8040004d88 <create+0x13c>
-ffffff8040004d7c:	f0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040004d80:	91168c00 	add	x0, x0, #0x5a3
-ffffff8040004d84:	17ffffdb 	b	ffffff8040004cf0 <create+0xa4>
-ffffff8040004d88:	aa1403e0 	mov	x0, x20
-ffffff8040004d8c:	97fffa51 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040004d90:	aa1303e0 	mov	x0, x19
-ffffff8040004d94:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004d98:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff8040004d9c:	f9401bf7 	ldr	x23, [sp, #48]
-ffffff8040004da0:	a8c57bfd 	ldp	x29, x30, [sp], #80
-ffffff8040004da4:	d65f03c0 	ret
-
-ffffff8040004da8 <argfd.constprop.0>:
-ffffff8040004da8:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040004dac:	910003fd 	mov	x29, sp
-ffffff8040004db0:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004db4:	aa0003f3 	mov	x19, x0
-ffffff8040004db8:	aa0103f4 	mov	x20, x1
-ffffff8040004dbc:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040004dc0:	9100b3e1 	add	x1, sp, #0x2c
-ffffff8040004dc4:	97fff6ee 	bl	ffffff804000297c <argint>
-ffffff8040004dc8:	37f801c0 	tbnz	w0, #31, ffffff8040004e00 <argfd.constprop.0+0x58>
-ffffff8040004dcc:	b9402fe0 	ldr	w0, [sp, #44]
-ffffff8040004dd0:	71003c1f 	cmp	w0, #0xf
-ffffff8040004dd4:	54000168 	b.hi	ffffff8040004e00 <argfd.constprop.0+0x58>  // b.pmore
-ffffff8040004dd8:	97fff365 	bl	ffffff8040001b6c <myproc>
-ffffff8040004ddc:	b9402fe1 	ldr	w1, [sp, #44]
-ffffff8040004de0:	8b21cc00 	add	x0, x0, w1, sxtw #3
-ffffff8040004de4:	f9406800 	ldr	x0, [x0, #208]
-ffffff8040004de8:	b40000c0 	cbz	x0, ffffff8040004e00 <argfd.constprop.0+0x58>
-ffffff8040004dec:	b4000053 	cbz	x19, ffffff8040004df4 <argfd.constprop.0+0x4c>
-ffffff8040004df0:	b9000261 	str	w1, [x19]
-ffffff8040004df4:	f9000280 	str	x0, [x20]
-ffffff8040004df8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040004dfc:	14000002 	b	ffffff8040004e04 <argfd.constprop.0+0x5c>
-ffffff8040004e00:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040004e04:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004e08:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004e0c:	d65f03c0 	ret
-
-ffffff8040004e10 <sys_dup>:
-ffffff8040004e10:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040004e14:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040004e18:	910003fd 	mov	x29, sp
-ffffff8040004e1c:	9100a3e1 	add	x1, sp, #0x28
-ffffff8040004e20:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004e24:	97ffffe1 	bl	ffffff8040004da8 <argfd.constprop.0>
-ffffff8040004e28:	36f800a0 	tbz	w0, #31, ffffff8040004e3c <sys_dup+0x2c>
-ffffff8040004e2c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004e30:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040004e34:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004e38:	d65f03c0 	ret
-ffffff8040004e3c:	f94017f4 	ldr	x20, [sp, #40]
-ffffff8040004e40:	aa1403e0 	mov	x0, x20
-ffffff8040004e44:	97ffff6d 	bl	ffffff8040004bf8 <fdalloc>
-ffffff8040004e48:	2a0003f3 	mov	w19, w0
-ffffff8040004e4c:	37ffff00 	tbnz	w0, #31, ffffff8040004e2c <sys_dup+0x1c>
-ffffff8040004e50:	aa1403e0 	mov	x0, x20
-ffffff8040004e54:	97fffce2 	bl	ffffff80400041dc <filedup>
-ffffff8040004e58:	93407e60 	sxtw	x0, w19
-ffffff8040004e5c:	17fffff5 	b	ffffff8040004e30 <sys_dup+0x20>
-
-ffffff8040004e60 <sys_read>:
-ffffff8040004e60:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040004e64:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040004e68:	910003fd 	mov	x29, sp
-ffffff8040004e6c:	910083e1 	add	x1, sp, #0x20
-ffffff8040004e70:	97ffffce 	bl	ffffff8040004da8 <argfd.constprop.0>
-ffffff8040004e74:	36f80080 	tbz	w0, #31, ffffff8040004e84 <sys_read+0x24>
-ffffff8040004e78:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004e7c:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004e80:	d65f03c0 	ret
-ffffff8040004e84:	910073e1 	add	x1, sp, #0x1c
-ffffff8040004e88:	52800040 	mov	w0, #0x2                   	// #2
-ffffff8040004e8c:	97fff6bc 	bl	ffffff804000297c <argint>
-ffffff8040004e90:	37ffff40 	tbnz	w0, #31, ffffff8040004e78 <sys_read+0x18>
-ffffff8040004e94:	9100a3e1 	add	x1, sp, #0x28
-ffffff8040004e98:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004e9c:	97fff6c2 	bl	ffffff80400029a4 <argaddr>
-ffffff8040004ea0:	37fffec0 	tbnz	w0, #31, ffffff8040004e78 <sys_read+0x18>
-ffffff8040004ea4:	b9401fe2 	ldr	w2, [sp, #28]
-ffffff8040004ea8:	a94207e0 	ldp	x0, x1, [sp, #32]
-ffffff8040004eac:	97fffd39 	bl	ffffff8040004390 <fileread>
-ffffff8040004eb0:	93407c00 	sxtw	x0, w0
-ffffff8040004eb4:	17fffff2 	b	ffffff8040004e7c <sys_read+0x1c>
-
-ffffff8040004eb8 <sys_write>:
-ffffff8040004eb8:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff8040004ebc:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040004ec0:	910003fd 	mov	x29, sp
-ffffff8040004ec4:	910083e1 	add	x1, sp, #0x20
-ffffff8040004ec8:	97ffffb8 	bl	ffffff8040004da8 <argfd.constprop.0>
-ffffff8040004ecc:	36f80080 	tbz	w0, #31, ffffff8040004edc <sys_write+0x24>
-ffffff8040004ed0:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004ed4:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff8040004ed8:	d65f03c0 	ret
-ffffff8040004edc:	910073e1 	add	x1, sp, #0x1c
-ffffff8040004ee0:	52800040 	mov	w0, #0x2                   	// #2
-ffffff8040004ee4:	97fff6a6 	bl	ffffff804000297c <argint>
-ffffff8040004ee8:	37ffff40 	tbnz	w0, #31, ffffff8040004ed0 <sys_write+0x18>
-ffffff8040004eec:	9100a3e1 	add	x1, sp, #0x28
-ffffff8040004ef0:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004ef4:	97fff6ac 	bl	ffffff80400029a4 <argaddr>
-ffffff8040004ef8:	37fffec0 	tbnz	w0, #31, ffffff8040004ed0 <sys_write+0x18>
-ffffff8040004efc:	b9401fe2 	ldr	w2, [sp, #28]
-ffffff8040004f00:	a94207e0 	ldp	x0, x1, [sp, #32]
-ffffff8040004f04:	97fffd61 	bl	ffffff8040004488 <filewrite>
-ffffff8040004f08:	93407c00 	sxtw	x0, w0
-ffffff8040004f0c:	17fffff2 	b	ffffff8040004ed4 <sys_write+0x1c>
-
-ffffff8040004f10 <sys_close>:
-ffffff8040004f10:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004f14:	910003fd 	mov	x29, sp
-ffffff8040004f18:	910063e1 	add	x1, sp, #0x18
-ffffff8040004f1c:	910053e0 	add	x0, sp, #0x14
-ffffff8040004f20:	97ffffa2 	bl	ffffff8040004da8 <argfd.constprop.0>
-ffffff8040004f24:	37f80140 	tbnz	w0, #31, ffffff8040004f4c <sys_close+0x3c>
-ffffff8040004f28:	97fff311 	bl	ffffff8040001b6c <myproc>
-ffffff8040004f2c:	b98017e1 	ldrsw	x1, [sp, #20]
-ffffff8040004f30:	91006821 	add	x1, x1, #0x1a
-ffffff8040004f34:	f821781f 	str	xzr, [x0, x1, lsl #3]
-ffffff8040004f38:	f9400fe0 	ldr	x0, [sp, #24]
-ffffff8040004f3c:	97fffcbe 	bl	ffffff8040004234 <fileclose>
-ffffff8040004f40:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040004f44:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004f48:	d65f03c0 	ret
-ffffff8040004f4c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004f50:	17fffffd 	b	ffffff8040004f44 <sys_close+0x34>
-
-ffffff8040004f54 <sys_fstat>:
-ffffff8040004f54:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040004f58:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040004f5c:	910003fd 	mov	x29, sp
-ffffff8040004f60:	910043e1 	add	x1, sp, #0x10
-ffffff8040004f64:	97ffff91 	bl	ffffff8040004da8 <argfd.constprop.0>
-ffffff8040004f68:	36f80080 	tbz	w0, #31, ffffff8040004f78 <sys_fstat+0x24>
-ffffff8040004f6c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004f70:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040004f74:	d65f03c0 	ret
-ffffff8040004f78:	910063e1 	add	x1, sp, #0x18
-ffffff8040004f7c:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004f80:	97fff689 	bl	ffffff80400029a4 <argaddr>
-ffffff8040004f84:	37ffff40 	tbnz	w0, #31, ffffff8040004f6c <sys_fstat+0x18>
-ffffff8040004f88:	a94107e0 	ldp	x0, x1, [sp, #16]
-ffffff8040004f8c:	97fffce2 	bl	ffffff8040004314 <filestat>
-ffffff8040004f90:	93407c00 	sxtw	x0, w0
-ffffff8040004f94:	17fffff7 	b	ffffff8040004f70 <sys_fstat+0x1c>
-
-ffffff8040004f98 <sys_link>:
-ffffff8040004f98:	a9ad7bfd 	stp	x29, x30, [sp, #-304]!
-ffffff8040004f9c:	52801002 	mov	w2, #0x80                  	// #128
-ffffff8040004fa0:	910003fd 	mov	x29, sp
-ffffff8040004fa4:	9102c3e1 	add	x1, sp, #0xb0
-ffffff8040004fa8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040004fac:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040004fb0:	97fff687 	bl	ffffff80400029cc <argstr>
-ffffff8040004fb4:	36f80060 	tbz	w0, #31, ffffff8040004fc0 <sys_link+0x28>
-ffffff8040004fb8:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040004fbc:	1400003a 	b	ffffff80400050a4 <sys_link+0x10c>
-ffffff8040004fc0:	52801002 	mov	w2, #0x80                  	// #128
-ffffff8040004fc4:	9100c3e1 	add	x1, sp, #0x30
-ffffff8040004fc8:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040004fcc:	97fff680 	bl	ffffff80400029cc <argstr>
-ffffff8040004fd0:	37ffff40 	tbnz	w0, #31, ffffff8040004fb8 <sys_link+0x20>
-ffffff8040004fd4:	97fffb88 	bl	ffffff8040003df4 <begin_op>
-ffffff8040004fd8:	9102c3e0 	add	x0, sp, #0xb0
-ffffff8040004fdc:	97fffb13 	bl	ffffff8040003c28 <namei>
-ffffff8040004fe0:	aa0003f3 	mov	x19, x0
-ffffff8040004fe4:	b5000060 	cbnz	x0, ffffff8040004ff0 <sys_link+0x58>
-ffffff8040004fe8:	97fffb9d 	bl	ffffff8040003e5c <end_op>
-ffffff8040004fec:	17fffff3 	b	ffffff8040004fb8 <sys_link+0x20>
-ffffff8040004ff0:	97fff921 	bl	ffffff8040003474 <ilock>
-ffffff8040004ff4:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff8040004ff8:	7100041f 	cmp	w0, #0x1
-ffffff8040004ffc:	54000081 	b.ne	ffffff804000500c <sys_link+0x74>  // b.any
-ffffff8040005000:	aa1303e0 	mov	x0, x19
-ffffff8040005004:	97fff9b3 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005008:	17fffff8 	b	ffffff8040004fe8 <sys_link+0x50>
-ffffff804000500c:	79409660 	ldrh	w0, [x19, #74]
-ffffff8040005010:	11000400 	add	w0, w0, #0x1
-ffffff8040005014:	79009660 	strh	w0, [x19, #74]
-ffffff8040005018:	aa1303e0 	mov	x0, x19
-ffffff804000501c:	97fff8e2 	bl	ffffff80400033a4 <iupdate>
-ffffff8040005020:	aa1303e0 	mov	x0, x19
-ffffff8040005024:	97fff948 	bl	ffffff8040003544 <iunlock>
-ffffff8040005028:	910083e1 	add	x1, sp, #0x20
-ffffff804000502c:	9100c3e0 	add	x0, sp, #0x30
-ffffff8040005030:	97fffb05 	bl	ffffff8040003c44 <nameiparent>
-ffffff8040005034:	aa0003f4 	mov	x20, x0
-ffffff8040005038:	b4000100 	cbz	x0, ffffff8040005058 <sys_link+0xc0>
-ffffff804000503c:	97fff90e 	bl	ffffff8040003474 <ilock>
-ffffff8040005040:	b9400260 	ldr	w0, [x19]
-ffffff8040005044:	b9400281 	ldr	w1, [x20]
-ffffff8040005048:	6b00003f 	cmp	w1, w0
-ffffff804000504c:	54000160 	b.eq	ffffff8040005078 <sys_link+0xe0>  // b.none
-ffffff8040005050:	aa1403e0 	mov	x0, x20
-ffffff8040005054:	97fff99f 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005058:	aa1303e0 	mov	x0, x19
-ffffff804000505c:	97fff906 	bl	ffffff8040003474 <ilock>
-ffffff8040005060:	79409660 	ldrh	w0, [x19, #74]
-ffffff8040005064:	51000400 	sub	w0, w0, #0x1
-ffffff8040005068:	79009660 	strh	w0, [x19, #74]
-ffffff804000506c:	aa1303e0 	mov	x0, x19
-ffffff8040005070:	97fff8cd 	bl	ffffff80400033a4 <iupdate>
-ffffff8040005074:	17ffffe3 	b	ffffff8040005000 <sys_link+0x68>
-ffffff8040005078:	b9400662 	ldr	w2, [x19, #4]
-ffffff804000507c:	910083e1 	add	x1, sp, #0x20
-ffffff8040005080:	aa1403e0 	mov	x0, x20
-ffffff8040005084:	97fffab4 	bl	ffffff8040003b54 <dirlink>
-ffffff8040005088:	37fffe40 	tbnz	w0, #31, ffffff8040005050 <sys_link+0xb8>
-ffffff804000508c:	aa1403e0 	mov	x0, x20
-ffffff8040005090:	97fff990 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005094:	aa1303e0 	mov	x0, x19
-ffffff8040005098:	97fff967 	bl	ffffff8040003634 <iput>
-ffffff804000509c:	97fffb70 	bl	ffffff8040003e5c <end_op>
-ffffff80400050a0:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff80400050a4:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400050a8:	a8d37bfd 	ldp	x29, x30, [sp], #304
-ffffff80400050ac:	d65f03c0 	ret
-
-ffffff80400050b0 <sys_unlink>:
-ffffff80400050b0:	a9b27bfd 	stp	x29, x30, [sp, #-224]!
-ffffff80400050b4:	52801002 	mov	w2, #0x80                  	// #128
-ffffff80400050b8:	910003fd 	mov	x29, sp
-ffffff80400050bc:	910183e1 	add	x1, sp, #0x60
-ffffff80400050c0:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400050c4:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400050c8:	f90013f5 	str	x21, [sp, #32]
-ffffff80400050cc:	97fff640 	bl	ffffff80400029cc <argstr>
-ffffff80400050d0:	37f80100 	tbnz	w0, #31, ffffff80400050f0 <sys_unlink+0x40>
-ffffff80400050d4:	97fffb48 	bl	ffffff8040003df4 <begin_op>
-ffffff80400050d8:	910103e1 	add	x1, sp, #0x40
-ffffff80400050dc:	910183e0 	add	x0, sp, #0x60
-ffffff80400050e0:	97fffad9 	bl	ffffff8040003c44 <nameiparent>
-ffffff80400050e4:	aa0003f4 	mov	x20, x0
-ffffff80400050e8:	b5000080 	cbnz	x0, ffffff80400050f8 <sys_unlink+0x48>
-ffffff80400050ec:	97fffb5c 	bl	ffffff8040003e5c <end_op>
-ffffff80400050f0:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff80400050f4:	14000051 	b	ffffff8040005238 <sys_unlink+0x188>
-ffffff80400050f8:	97fff8df 	bl	ffffff8040003474 <ilock>
-ffffff80400050fc:	d0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040005100:	91168421 	add	x1, x1, #0x5a1
-ffffff8040005104:	910103e0 	add	x0, sp, #0x40
-ffffff8040005108:	97fffa11 	bl	ffffff804000394c <namecmp>
-ffffff804000510c:	34000a20 	cbz	w0, ffffff8040005250 <sys_unlink+0x1a0>
-ffffff8040005110:	d0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040005114:	91168021 	add	x1, x1, #0x5a0
-ffffff8040005118:	910103e0 	add	x0, sp, #0x40
-ffffff804000511c:	97fffa0c 	bl	ffffff804000394c <namecmp>
-ffffff8040005120:	34000980 	cbz	w0, ffffff8040005250 <sys_unlink+0x1a0>
-ffffff8040005124:	9100f3e2 	add	x2, sp, #0x3c
-ffffff8040005128:	910103e1 	add	x1, sp, #0x40
-ffffff804000512c:	aa1403e0 	mov	x0, x20
-ffffff8040005130:	97fffa09 	bl	ffffff8040003954 <dirlookup>
-ffffff8040005134:	aa0003f3 	mov	x19, x0
-ffffff8040005138:	b40008c0 	cbz	x0, ffffff8040005250 <sys_unlink+0x1a0>
-ffffff804000513c:	97fff8ce 	bl	ffffff8040003474 <ilock>
-ffffff8040005140:	79c09660 	ldrsh	w0, [x19, #74]
-ffffff8040005144:	7100001f 	cmp	w0, #0x0
-ffffff8040005148:	5400008c 	b.gt	ffffff8040005158 <sys_unlink+0xa8>
-ffffff804000514c:	d0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040005150:	9116cc00 	add	x0, x0, #0x5b3
-ffffff8040005154:	97ffeceb 	bl	ffffff8040000500 <panic>
-ffffff8040005158:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff804000515c:	7100041f 	cmp	w0, #0x1
-ffffff8040005160:	54000281 	b.ne	ffffff80400051b0 <sys_unlink+0x100>  // b.any
-ffffff8040005164:	52800415 	mov	w21, #0x20                  	// #32
-ffffff8040005168:	1400000f 	b	ffffff80400051a4 <sys_unlink+0xf4>
-ffffff804000516c:	52800204 	mov	w4, #0x10                  	// #16
-ffffff8040005170:	2a1503e3 	mov	w3, w21
-ffffff8040005174:	910143e2 	add	x2, sp, #0x50
-ffffff8040005178:	52800001 	mov	w1, #0x0                   	// #0
-ffffff804000517c:	aa1303e0 	mov	x0, x19
-ffffff8040005180:	97fff968 	bl	ffffff8040003720 <readi>
-ffffff8040005184:	7100401f 	cmp	w0, #0x10
-ffffff8040005188:	54000080 	b.eq	ffffff8040005198 <sys_unlink+0xe8>  // b.none
-ffffff804000518c:	d0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040005190:	91171400 	add	x0, x0, #0x5c5
-ffffff8040005194:	17fffff0 	b	ffffff8040005154 <sys_unlink+0xa4>
-ffffff8040005198:	7940a3e0 	ldrh	w0, [sp, #80]
-ffffff804000519c:	35000560 	cbnz	w0, ffffff8040005248 <sys_unlink+0x198>
-ffffff80400051a0:	110042b5 	add	w21, w21, #0x10
-ffffff80400051a4:	b9404e60 	ldr	w0, [x19, #76]
-ffffff80400051a8:	6b15001f 	cmp	w0, w21
-ffffff80400051ac:	54fffe08 	b.hi	ffffff804000516c <sys_unlink+0xbc>  // b.pmore
-ffffff80400051b0:	52800202 	mov	w2, #0x10                  	// #16
-ffffff80400051b4:	52800001 	mov	w1, #0x0                   	// #0
-ffffff80400051b8:	910143e0 	add	x0, sp, #0x50
-ffffff80400051bc:	97ffeecb 	bl	ffffff8040000ce8 <memset>
-ffffff80400051c0:	b9403fe3 	ldr	w3, [sp, #60]
-ffffff80400051c4:	52800204 	mov	w4, #0x10                  	// #16
-ffffff80400051c8:	910143e2 	add	x2, sp, #0x50
-ffffff80400051cc:	52800001 	mov	w1, #0x0                   	// #0
-ffffff80400051d0:	aa1403e0 	mov	x0, x20
-ffffff80400051d4:	97fff997 	bl	ffffff8040003830 <writei>
-ffffff80400051d8:	7100401f 	cmp	w0, #0x10
-ffffff80400051dc:	54000080 	b.eq	ffffff80400051ec <sys_unlink+0x13c>  // b.none
-ffffff80400051e0:	d0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400051e4:	91175c00 	add	x0, x0, #0x5d7
-ffffff80400051e8:	17ffffdb 	b	ffffff8040005154 <sys_unlink+0xa4>
-ffffff80400051ec:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff80400051f0:	7100041f 	cmp	w0, #0x1
-ffffff80400051f4:	540000c1 	b.ne	ffffff804000520c <sys_unlink+0x15c>  // b.any
-ffffff80400051f8:	79409680 	ldrh	w0, [x20, #74]
-ffffff80400051fc:	51000400 	sub	w0, w0, #0x1
-ffffff8040005200:	79009680 	strh	w0, [x20, #74]
-ffffff8040005204:	aa1403e0 	mov	x0, x20
-ffffff8040005208:	97fff867 	bl	ffffff80400033a4 <iupdate>
-ffffff804000520c:	aa1403e0 	mov	x0, x20
-ffffff8040005210:	97fff930 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005214:	79409660 	ldrh	w0, [x19, #74]
-ffffff8040005218:	51000400 	sub	w0, w0, #0x1
-ffffff804000521c:	79009660 	strh	w0, [x19, #74]
-ffffff8040005220:	aa1303e0 	mov	x0, x19
-ffffff8040005224:	97fff860 	bl	ffffff80400033a4 <iupdate>
-ffffff8040005228:	aa1303e0 	mov	x0, x19
-ffffff804000522c:	97fff929 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005230:	97fffb0b 	bl	ffffff8040003e5c <end_op>
-ffffff8040005234:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040005238:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff804000523c:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040005240:	a8ce7bfd 	ldp	x29, x30, [sp], #224
-ffffff8040005244:	d65f03c0 	ret
-ffffff8040005248:	aa1303e0 	mov	x0, x19
-ffffff804000524c:	97fff921 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005250:	aa1403e0 	mov	x0, x20
-ffffff8040005254:	97fff91f 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005258:	17ffffa5 	b	ffffff80400050ec <sys_unlink+0x3c>
-
-ffffff804000525c <sys_open>:
-ffffff804000525c:	a9b47bfd 	stp	x29, x30, [sp, #-192]!
-ffffff8040005260:	52801002 	mov	w2, #0x80                  	// #128
-ffffff8040005264:	910003fd 	mov	x29, sp
-ffffff8040005268:	910103e1 	add	x1, sp, #0x40
-ffffff804000526c:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040005270:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040005274:	f90013f5 	str	x21, [sp, #32]
-ffffff8040005278:	97fff5d5 	bl	ffffff80400029cc <argstr>
-ffffff804000527c:	36f800c0 	tbz	w0, #31, ffffff8040005294 <sys_open+0x38>
-ffffff8040005280:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040005284:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040005288:	f94013f5 	ldr	x21, [sp, #32]
-ffffff804000528c:	a8cc7bfd 	ldp	x29, x30, [sp], #192
-ffffff8040005290:	d65f03c0 	ret
-ffffff8040005294:	9100f3e1 	add	x1, sp, #0x3c
-ffffff8040005298:	52800020 	mov	w0, #0x1                   	// #1
-ffffff804000529c:	97fff5b8 	bl	ffffff804000297c <argint>
-ffffff80400052a0:	37ffff00 	tbnz	w0, #31, ffffff8040005280 <sys_open+0x24>
-ffffff80400052a4:	97fffad4 	bl	ffffff8040003df4 <begin_op>
-ffffff80400052a8:	b9403fe0 	ldr	w0, [sp, #60]
-ffffff80400052ac:	36480140 	tbz	w0, #9, ffffff80400052d4 <sys_open+0x78>
-ffffff80400052b0:	52800003 	mov	w3, #0x0                   	// #0
-ffffff80400052b4:	52800002 	mov	w2, #0x0                   	// #0
-ffffff80400052b8:	52800041 	mov	w1, #0x2                   	// #2
-ffffff80400052bc:	910103e0 	add	x0, sp, #0x40
-ffffff80400052c0:	97fffe63 	bl	ffffff8040004c4c <create>
-ffffff80400052c4:	aa0003f3 	mov	x19, x0
-ffffff80400052c8:	b5000200 	cbnz	x0, ffffff8040005308 <sys_open+0xac>
-ffffff80400052cc:	97fffae4 	bl	ffffff8040003e5c <end_op>
-ffffff80400052d0:	17ffffec 	b	ffffff8040005280 <sys_open+0x24>
-ffffff80400052d4:	910103e0 	add	x0, sp, #0x40
-ffffff80400052d8:	97fffa54 	bl	ffffff8040003c28 <namei>
-ffffff80400052dc:	aa0003f3 	mov	x19, x0
-ffffff80400052e0:	b4ffff60 	cbz	x0, ffffff80400052cc <sys_open+0x70>
-ffffff80400052e4:	97fff864 	bl	ffffff8040003474 <ilock>
-ffffff80400052e8:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff80400052ec:	7100041f 	cmp	w0, #0x1
-ffffff80400052f0:	540000c1 	b.ne	ffffff8040005308 <sys_open+0xac>  // b.any
-ffffff80400052f4:	b9403fe0 	ldr	w0, [sp, #60]
-ffffff80400052f8:	34000080 	cbz	w0, ffffff8040005308 <sys_open+0xac>
-ffffff80400052fc:	aa1303e0 	mov	x0, x19
-ffffff8040005300:	97fff8f4 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005304:	17fffff2 	b	ffffff80400052cc <sys_open+0x70>
-ffffff8040005308:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff804000530c:	71000c1f 	cmp	w0, #0x3
-ffffff8040005310:	54000081 	b.ne	ffffff8040005320 <sys_open+0xc4>  // b.any
-ffffff8040005314:	79408e60 	ldrh	w0, [x19, #70]
-ffffff8040005318:	7100241f 	cmp	w0, #0x9
-ffffff804000531c:	54ffff08 	b.hi	ffffff80400052fc <sys_open+0xa0>  // b.pmore
-ffffff8040005320:	97fffb95 	bl	ffffff8040004174 <filealloc>
-ffffff8040005324:	aa0003f5 	mov	x21, x0
-ffffff8040005328:	b4fffea0 	cbz	x0, ffffff80400052fc <sys_open+0xa0>
-ffffff804000532c:	97fffe33 	bl	ffffff8040004bf8 <fdalloc>
-ffffff8040005330:	2a0003f4 	mov	w20, w0
-ffffff8040005334:	36f80080 	tbz	w0, #31, ffffff8040005344 <sys_open+0xe8>
-ffffff8040005338:	aa1503e0 	mov	x0, x21
-ffffff804000533c:	97fffbbe 	bl	ffffff8040004234 <fileclose>
-ffffff8040005340:	17ffffef 	b	ffffff80400052fc <sys_open+0xa0>
-ffffff8040005344:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff8040005348:	71000c1f 	cmp	w0, #0x3
-ffffff804000534c:	540002c1 	b.ne	ffffff80400053a4 <sys_open+0x148>  // b.any
-ffffff8040005350:	79408e61 	ldrh	w1, [x19, #70]
-ffffff8040005354:	b90002a0 	str	w0, [x21]
-ffffff8040005358:	79004aa1 	strh	w1, [x21, #36]
-ffffff804000535c:	b9403fe1 	ldr	w1, [sp, #60]
-ffffff8040005360:	f9000eb3 	str	x19, [x21, #24]
-ffffff8040005364:	2a2103e2 	mvn	w2, w1
-ffffff8040005368:	f240043f 	tst	x1, #0x3
-ffffff804000536c:	12000042 	and	w2, w2, #0x1
-ffffff8040005370:	390022a2 	strb	w2, [x21, #8]
-ffffff8040005374:	1a9f07e2 	cset	w2, ne  // ne = any
-ffffff8040005378:	390026a2 	strb	w2, [x21, #9]
-ffffff804000537c:	365000a1 	tbz	w1, #10, ffffff8040005390 <sys_open+0x134>
-ffffff8040005380:	7100081f 	cmp	w0, #0x2
-ffffff8040005384:	54000061 	b.ne	ffffff8040005390 <sys_open+0x134>  // b.any
-ffffff8040005388:	aa1303e0 	mov	x0, x19
-ffffff804000538c:	97fff881 	bl	ffffff8040003590 <itrunc>
-ffffff8040005390:	aa1303e0 	mov	x0, x19
-ffffff8040005394:	97fff86c 	bl	ffffff8040003544 <iunlock>
-ffffff8040005398:	97fffab1 	bl	ffffff8040003e5c <end_op>
-ffffff804000539c:	93407e80 	sxtw	x0, w20
-ffffff80400053a0:	17ffffb9 	b	ffffff8040005284 <sys_open+0x28>
-ffffff80400053a4:	52800041 	mov	w1, #0x2                   	// #2
-ffffff80400053a8:	b90022bf 	str	wzr, [x21, #32]
-ffffff80400053ac:	b90002a1 	str	w1, [x21]
-ffffff80400053b0:	17ffffeb 	b	ffffff804000535c <sys_open+0x100>
-
-ffffff80400053b4 <sys_mkdir>:
-ffffff80400053b4:	a9b77bfd 	stp	x29, x30, [sp, #-144]!
-ffffff80400053b8:	910003fd 	mov	x29, sp
-ffffff80400053bc:	97fffa8e 	bl	ffffff8040003df4 <begin_op>
-ffffff80400053c0:	52801002 	mov	w2, #0x80                  	// #128
-ffffff80400053c4:	910043e1 	add	x1, sp, #0x10
-ffffff80400053c8:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400053cc:	97fff580 	bl	ffffff80400029cc <argstr>
-ffffff80400053d0:	36f800a0 	tbz	w0, #31, ffffff80400053e4 <sys_mkdir+0x30>
-ffffff80400053d4:	97fffaa2 	bl	ffffff8040003e5c <end_op>
-ffffff80400053d8:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff80400053dc:	a8c97bfd 	ldp	x29, x30, [sp], #144
-ffffff80400053e0:	d65f03c0 	ret
-ffffff80400053e4:	52800003 	mov	w3, #0x0                   	// #0
-ffffff80400053e8:	52800002 	mov	w2, #0x0                   	// #0
-ffffff80400053ec:	52800021 	mov	w1, #0x1                   	// #1
-ffffff80400053f0:	910043e0 	add	x0, sp, #0x10
-ffffff80400053f4:	97fffe16 	bl	ffffff8040004c4c <create>
-ffffff80400053f8:	b4fffee0 	cbz	x0, ffffff80400053d4 <sys_mkdir+0x20>
-ffffff80400053fc:	97fff8b5 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005400:	97fffa97 	bl	ffffff8040003e5c <end_op>
-ffffff8040005404:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040005408:	17fffff5 	b	ffffff80400053dc <sys_mkdir+0x28>
-
-ffffff804000540c <sys_mknod>:
-ffffff804000540c:	a9b67bfd 	stp	x29, x30, [sp, #-160]!
-ffffff8040005410:	910003fd 	mov	x29, sp
-ffffff8040005414:	97fffa78 	bl	ffffff8040003df4 <begin_op>
-ffffff8040005418:	52801002 	mov	w2, #0x80                  	// #128
-ffffff804000541c:	910083e1 	add	x1, sp, #0x20
-ffffff8040005420:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040005424:	97fff56a 	bl	ffffff80400029cc <argstr>
-ffffff8040005428:	36f800a0 	tbz	w0, #31, ffffff804000543c <sys_mknod+0x30>
-ffffff804000542c:	97fffa8c 	bl	ffffff8040003e5c <end_op>
-ffffff8040005430:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040005434:	a8ca7bfd 	ldp	x29, x30, [sp], #160
-ffffff8040005438:	d65f03c0 	ret
-ffffff804000543c:	910063e1 	add	x1, sp, #0x18
-ffffff8040005440:	52800020 	mov	w0, #0x1                   	// #1
-ffffff8040005444:	97fff54e 	bl	ffffff804000297c <argint>
-ffffff8040005448:	37ffff20 	tbnz	w0, #31, ffffff804000542c <sys_mknod+0x20>
-ffffff804000544c:	910073e1 	add	x1, sp, #0x1c
-ffffff8040005450:	52800040 	mov	w0, #0x2                   	// #2
-ffffff8040005454:	97fff54a 	bl	ffffff804000297c <argint>
-ffffff8040005458:	37fffea0 	tbnz	w0, #31, ffffff804000542c <sys_mknod+0x20>
-ffffff804000545c:	79403be3 	ldrh	w3, [sp, #28]
-ffffff8040005460:	52800061 	mov	w1, #0x3                   	// #3
-ffffff8040005464:	910083e0 	add	x0, sp, #0x20
-ffffff8040005468:	794033e2 	ldrh	w2, [sp, #24]
-ffffff804000546c:	97fffdf8 	bl	ffffff8040004c4c <create>
-ffffff8040005470:	b4fffde0 	cbz	x0, ffffff804000542c <sys_mknod+0x20>
-ffffff8040005474:	97fff897 	bl	ffffff80400036d0 <iunlockput>
-ffffff8040005478:	97fffa79 	bl	ffffff8040003e5c <end_op>
-ffffff804000547c:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040005480:	17ffffed 	b	ffffff8040005434 <sys_mknod+0x28>
-
-ffffff8040005484 <sys_chdir>:
-ffffff8040005484:	a9b67bfd 	stp	x29, x30, [sp, #-160]!
-ffffff8040005488:	910003fd 	mov	x29, sp
-ffffff804000548c:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040005490:	97fff1b7 	bl	ffffff8040001b6c <myproc>
-ffffff8040005494:	aa0003f4 	mov	x20, x0
-ffffff8040005498:	97fffa57 	bl	ffffff8040003df4 <begin_op>
-ffffff804000549c:	52801002 	mov	w2, #0x80                  	// #128
-ffffff80400054a0:	910083e1 	add	x1, sp, #0x20
-ffffff80400054a4:	52800000 	mov	w0, #0x0                   	// #0
-ffffff80400054a8:	97fff549 	bl	ffffff80400029cc <argstr>
-ffffff80400054ac:	36f800c0 	tbz	w0, #31, ffffff80400054c4 <sys_chdir+0x40>
-ffffff80400054b0:	97fffa6b 	bl	ffffff8040003e5c <end_op>
-ffffff80400054b4:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff80400054b8:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400054bc:	a8ca7bfd 	ldp	x29, x30, [sp], #160
-ffffff80400054c0:	d65f03c0 	ret
-ffffff80400054c4:	910083e0 	add	x0, sp, #0x20
-ffffff80400054c8:	97fff9d8 	bl	ffffff8040003c28 <namei>
-ffffff80400054cc:	aa0003f3 	mov	x19, x0
-ffffff80400054d0:	b4ffff00 	cbz	x0, ffffff80400054b0 <sys_chdir+0x2c>
-ffffff80400054d4:	97fff7e8 	bl	ffffff8040003474 <ilock>
-ffffff80400054d8:	79c08a60 	ldrsh	w0, [x19, #68]
-ffffff80400054dc:	7100041f 	cmp	w0, #0x1
-ffffff80400054e0:	aa1303e0 	mov	x0, x19
-ffffff80400054e4:	54000060 	b.eq	ffffff80400054f0 <sys_chdir+0x6c>  // b.none
-ffffff80400054e8:	97fff87a 	bl	ffffff80400036d0 <iunlockput>
-ffffff80400054ec:	17fffff1 	b	ffffff80400054b0 <sys_chdir+0x2c>
-ffffff80400054f0:	97fff815 	bl	ffffff8040003544 <iunlock>
-ffffff80400054f4:	f940aa80 	ldr	x0, [x20, #336]
-ffffff80400054f8:	97fff84f 	bl	ffffff8040003634 <iput>
-ffffff80400054fc:	97fffa58 	bl	ffffff8040003e5c <end_op>
-ffffff8040005500:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff8040005504:	f900aa93 	str	x19, [x20, #336]
-ffffff8040005508:	17ffffec 	b	ffffff80400054b8 <sys_chdir+0x34>
-
-ffffff804000550c <sys_exec>:
-ffffff804000550c:	a9a47bfd 	stp	x29, x30, [sp, #-448]!
-ffffff8040005510:	52801002 	mov	w2, #0x80                  	// #128
-ffffff8040005514:	910003fd 	mov	x29, sp
-ffffff8040005518:	910103e1 	add	x1, sp, #0x40
-ffffff804000551c:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040005520:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040005524:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff8040005528:	97fff529 	bl	ffffff80400029cc <argstr>
-ffffff804000552c:	36f800c0 	tbz	w0, #31, ffffff8040005544 <sys_exec+0x38>
-ffffff8040005530:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040005534:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040005538:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff804000553c:	a8dc7bfd 	ldp	x29, x30, [sp], #448
-ffffff8040005540:	d65f03c0 	ret
-ffffff8040005544:	9100c3e1 	add	x1, sp, #0x30
-ffffff8040005548:	52800020 	mov	w0, #0x1                   	// #1
-ffffff804000554c:	97fff516 	bl	ffffff80400029a4 <argaddr>
-ffffff8040005550:	37ffff00 	tbnz	w0, #31, ffffff8040005530 <sys_exec+0x24>
-ffffff8040005554:	910303f4 	add	x20, sp, #0xc0
-ffffff8040005558:	52802002 	mov	w2, #0x100                 	// #256
-ffffff804000555c:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040005560:	aa1403e0 	mov	x0, x20
-ffffff8040005564:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff8040005568:	97ffede0 	bl	ffffff8040000ce8 <memset>
-ffffff804000556c:	f9401be0 	ldr	x0, [sp, #48]
-ffffff8040005570:	9100e3e1 	add	x1, sp, #0x38
-ffffff8040005574:	8b130c00 	add	x0, x0, x19, lsl #3
-ffffff8040005578:	97fff4d2 	bl	ffffff80400028c0 <fetchaddr>
-ffffff804000557c:	37f80360 	tbnz	w0, #31, ffffff80400055e8 <sys_exec+0xdc>
-ffffff8040005580:	f9401ff5 	ldr	x21, [sp, #56]
-ffffff8040005584:	b50001d5 	cbnz	x21, ffffff80400055bc <sys_exec+0xb0>
-ffffff8040005588:	aa1403e1 	mov	x1, x20
-ffffff804000558c:	910103e0 	add	x0, sp, #0x40
-ffffff8040005590:	f833da9f 	str	xzr, [x20, w19, sxtw #3]
-ffffff8040005594:	97fffcd5 	bl	ffffff80400048e8 <exec>
-ffffff8040005598:	2a0003f3 	mov	w19, w0
-ffffff804000559c:	f8757a80 	ldr	x0, [x20, x21, lsl #3]
-ffffff80400055a0:	b40000a0 	cbz	x0, ffffff80400055b4 <sys_exec+0xa8>
-ffffff80400055a4:	910006b5 	add	x21, x21, #0x1
-ffffff80400055a8:	97ffed14 	bl	ffffff80400009f8 <kfree>
-ffffff80400055ac:	f10082bf 	cmp	x21, #0x20
-ffffff80400055b0:	54ffff61 	b.ne	ffffff804000559c <sys_exec+0x90>  // b.any
-ffffff80400055b4:	93407e60 	sxtw	x0, w19
-ffffff80400055b8:	17ffffdf 	b	ffffff8040005534 <sys_exec+0x28>
-ffffff80400055bc:	97ffed4d 	bl	ffffff8040000af0 <kalloc>
-ffffff80400055c0:	f8337a80 	str	x0, [x20, x19, lsl #3]
-ffffff80400055c4:	aa0003e1 	mov	x1, x0
-ffffff80400055c8:	b4000100 	cbz	x0, ffffff80400055e8 <sys_exec+0xdc>
-ffffff80400055cc:	52820002 	mov	w2, #0x1000                	// #4096
-ffffff80400055d0:	f9401fe0 	ldr	x0, [sp, #56]
-ffffff80400055d4:	97fff4d3 	bl	ffffff8040002920 <fetchstr>
-ffffff80400055d8:	37f80080 	tbnz	w0, #31, ffffff80400055e8 <sys_exec+0xdc>
-ffffff80400055dc:	91000673 	add	x19, x19, #0x1
-ffffff80400055e0:	f100827f 	cmp	x19, #0x20
-ffffff80400055e4:	54fffc41 	b.ne	ffffff804000556c <sys_exec+0x60>  // b.any
-ffffff80400055e8:	d2800013 	mov	x19, #0x0                   	// #0
-ffffff80400055ec:	f8737a80 	ldr	x0, [x20, x19, lsl #3]
-ffffff80400055f0:	b4fffa00 	cbz	x0, ffffff8040005530 <sys_exec+0x24>
-ffffff80400055f4:	91000673 	add	x19, x19, #0x1
-ffffff80400055f8:	97ffed00 	bl	ffffff80400009f8 <kfree>
-ffffff80400055fc:	f100827f 	cmp	x19, #0x20
-ffffff8040005600:	54ffff61 	b.ne	ffffff80400055ec <sys_exec+0xe0>  // b.any
-ffffff8040005604:	17ffffcb 	b	ffffff8040005530 <sys_exec+0x24>
-
-ffffff8040005608 <sys_pipe>:
-ffffff8040005608:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
-ffffff804000560c:	910003fd 	mov	x29, sp
-ffffff8040005610:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040005614:	97fff156 	bl	ffffff8040001b6c <myproc>
-ffffff8040005618:	aa0003f3 	mov	x19, x0
-ffffff804000561c:	9100a3e1 	add	x1, sp, #0x28
-ffffff8040005620:	52800000 	mov	w0, #0x0                   	// #0
-ffffff8040005624:	97fff4e0 	bl	ffffff80400029a4 <argaddr>
-ffffff8040005628:	36f800a0 	tbz	w0, #31, ffffff804000563c <sys_pipe+0x34>
-ffffff804000562c:	92800000 	mov	x0, #0xffffffffffffffff    	// #-1
-ffffff8040005630:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040005634:	a8c47bfd 	ldp	x29, x30, [sp], #64
-ffffff8040005638:	d65f03c0 	ret
-ffffff804000563c:	9100e3e1 	add	x1, sp, #0x38
-ffffff8040005640:	9100c3e0 	add	x0, sp, #0x30
-ffffff8040005644:	97fffbe4 	bl	ffffff80400045d4 <pipealloc>
-ffffff8040005648:	37ffff20 	tbnz	w0, #31, ffffff804000562c <sys_pipe+0x24>
-ffffff804000564c:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040005650:	b90023e0 	str	w0, [sp, #32]
-ffffff8040005654:	f9401be0 	ldr	x0, [sp, #48]
-ffffff8040005658:	97fffd68 	bl	ffffff8040004bf8 <fdalloc>
-ffffff804000565c:	b90023e0 	str	w0, [sp, #32]
-ffffff8040005660:	36f80100 	tbz	w0, #31, ffffff8040005680 <sys_pipe+0x78>
-ffffff8040005664:	b94023e0 	ldr	w0, [sp, #32]
-ffffff8040005668:	36f802e0 	tbz	w0, #31, ffffff80400056c4 <sys_pipe+0xbc>
-ffffff804000566c:	f9401be0 	ldr	x0, [sp, #48]
-ffffff8040005670:	97fffaf1 	bl	ffffff8040004234 <fileclose>
-ffffff8040005674:	f9401fe0 	ldr	x0, [sp, #56]
-ffffff8040005678:	97fffaef 	bl	ffffff8040004234 <fileclose>
-ffffff804000567c:	17ffffec 	b	ffffff804000562c <sys_pipe+0x24>
-ffffff8040005680:	f9401fe0 	ldr	x0, [sp, #56]
-ffffff8040005684:	97fffd5d 	bl	ffffff8040004bf8 <fdalloc>
-ffffff8040005688:	b90027e0 	str	w0, [sp, #36]
-ffffff804000568c:	37fffec0 	tbnz	w0, #31, ffffff8040005664 <sys_pipe+0x5c>
-ffffff8040005690:	d2800083 	mov	x3, #0x4                   	// #4
-ffffff8040005694:	910083e2 	add	x2, sp, #0x20
-ffffff8040005698:	f94017e1 	ldr	x1, [sp, #40]
-ffffff804000569c:	f9402a60 	ldr	x0, [x19, #80]
-ffffff80400056a0:	97fff044 	bl	ffffff80400017b0 <copyout>
-ffffff80400056a4:	36f80160 	tbz	w0, #31, ffffff80400056d0 <sys_pipe+0xc8>
-ffffff80400056a8:	b98023e0 	ldrsw	x0, [sp, #32]
-ffffff80400056ac:	91006800 	add	x0, x0, #0x1a
-ffffff80400056b0:	f8207a7f 	str	xzr, [x19, x0, lsl #3]
-ffffff80400056b4:	b98027e0 	ldrsw	x0, [sp, #36]
-ffffff80400056b8:	91006800 	add	x0, x0, #0x1a
-ffffff80400056bc:	f8207a7f 	str	xzr, [x19, x0, lsl #3]
-ffffff80400056c0:	17ffffeb 	b	ffffff804000566c <sys_pipe+0x64>
-ffffff80400056c4:	8b20ce60 	add	x0, x19, w0, sxtw #3
-ffffff80400056c8:	f900681f 	str	xzr, [x0, #208]
-ffffff80400056cc:	17ffffe8 	b	ffffff804000566c <sys_pipe+0x64>
-ffffff80400056d0:	f94017e1 	ldr	x1, [sp, #40]
-ffffff80400056d4:	d2800083 	mov	x3, #0x4                   	// #4
-ffffff80400056d8:	910093e2 	add	x2, sp, #0x24
-ffffff80400056dc:	f9402a60 	ldr	x0, [x19, #80]
-ffffff80400056e0:	8b030021 	add	x1, x1, x3
-ffffff80400056e4:	97fff033 	bl	ffffff80400017b0 <copyout>
-ffffff80400056e8:	37fffe00 	tbnz	w0, #31, ffffff80400056a8 <sys_pipe+0xa0>
-ffffff80400056ec:	d2800000 	mov	x0, #0x0                   	// #0
-ffffff80400056f0:	17ffffd0 	b	ffffff8040005630 <sys_pipe+0x28>
-	...
-
-ffffff8040005800 <alltraps>:
-
-.global alltraps
-.balign 0x800
-alltraps:
-// Current EL with sp0
-  b .
-ffffff8040005800:	14000000 	b	ffffff8040005800 <alltraps>
-ffffff8040005804:	d503201f 	nop
-ffffff8040005808:	d503201f 	nop
-ffffff804000580c:	d503201f 	nop
-ffffff8040005810:	d503201f 	nop
-ffffff8040005814:	d503201f 	nop
-ffffff8040005818:	d503201f 	nop
-ffffff804000581c:	d503201f 	nop
-ffffff8040005820:	d503201f 	nop
-ffffff8040005824:	d503201f 	nop
-ffffff8040005828:	d503201f 	nop
-ffffff804000582c:	d503201f 	nop
-ffffff8040005830:	d503201f 	nop
-ffffff8040005834:	d503201f 	nop
-ffffff8040005838:	d503201f 	nop
-ffffff804000583c:	d503201f 	nop
-ffffff8040005840:	d503201f 	nop
-ffffff8040005844:	d503201f 	nop
-ffffff8040005848:	d503201f 	nop
-ffffff804000584c:	d503201f 	nop
-ffffff8040005850:	d503201f 	nop
-ffffff8040005854:	d503201f 	nop
-ffffff8040005858:	d503201f 	nop
-ffffff804000585c:	d503201f 	nop
-ffffff8040005860:	d503201f 	nop
-ffffff8040005864:	d503201f 	nop
-ffffff8040005868:	d503201f 	nop
-ffffff804000586c:	d503201f 	nop
-ffffff8040005870:	d503201f 	nop
-ffffff8040005874:	d503201f 	nop
-ffffff8040005878:	d503201f 	nop
-ffffff804000587c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005880:	14000000 	b	ffffff8040005880 <alltraps+0x80>
-ffffff8040005884:	d503201f 	nop
-ffffff8040005888:	d503201f 	nop
-ffffff804000588c:	d503201f 	nop
-ffffff8040005890:	d503201f 	nop
-ffffff8040005894:	d503201f 	nop
-ffffff8040005898:	d503201f 	nop
-ffffff804000589c:	d503201f 	nop
-ffffff80400058a0:	d503201f 	nop
-ffffff80400058a4:	d503201f 	nop
-ffffff80400058a8:	d503201f 	nop
-ffffff80400058ac:	d503201f 	nop
-ffffff80400058b0:	d503201f 	nop
-ffffff80400058b4:	d503201f 	nop
-ffffff80400058b8:	d503201f 	nop
-ffffff80400058bc:	d503201f 	nop
-ffffff80400058c0:	d503201f 	nop
-ffffff80400058c4:	d503201f 	nop
-ffffff80400058c8:	d503201f 	nop
-ffffff80400058cc:	d503201f 	nop
-ffffff80400058d0:	d503201f 	nop
-ffffff80400058d4:	d503201f 	nop
-ffffff80400058d8:	d503201f 	nop
-ffffff80400058dc:	d503201f 	nop
-ffffff80400058e0:	d503201f 	nop
-ffffff80400058e4:	d503201f 	nop
-ffffff80400058e8:	d503201f 	nop
-ffffff80400058ec:	d503201f 	nop
-ffffff80400058f0:	d503201f 	nop
-ffffff80400058f4:	d503201f 	nop
-ffffff80400058f8:	d503201f 	nop
-ffffff80400058fc:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005900:	14000000 	b	ffffff8040005900 <alltraps+0x100>
-ffffff8040005904:	d503201f 	nop
-ffffff8040005908:	d503201f 	nop
-ffffff804000590c:	d503201f 	nop
-ffffff8040005910:	d503201f 	nop
-ffffff8040005914:	d503201f 	nop
-ffffff8040005918:	d503201f 	nop
-ffffff804000591c:	d503201f 	nop
-ffffff8040005920:	d503201f 	nop
-ffffff8040005924:	d503201f 	nop
-ffffff8040005928:	d503201f 	nop
-ffffff804000592c:	d503201f 	nop
-ffffff8040005930:	d503201f 	nop
-ffffff8040005934:	d503201f 	nop
-ffffff8040005938:	d503201f 	nop
-ffffff804000593c:	d503201f 	nop
-ffffff8040005940:	d503201f 	nop
-ffffff8040005944:	d503201f 	nop
-ffffff8040005948:	d503201f 	nop
-ffffff804000594c:	d503201f 	nop
-ffffff8040005950:	d503201f 	nop
-ffffff8040005954:	d503201f 	nop
-ffffff8040005958:	d503201f 	nop
-ffffff804000595c:	d503201f 	nop
-ffffff8040005960:	d503201f 	nop
-ffffff8040005964:	d503201f 	nop
-ffffff8040005968:	d503201f 	nop
-ffffff804000596c:	d503201f 	nop
-ffffff8040005970:	d503201f 	nop
-ffffff8040005974:	d503201f 	nop
-ffffff8040005978:	d503201f 	nop
-ffffff804000597c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005980:	14000000 	b	ffffff8040005980 <alltraps+0x180>
-ffffff8040005984:	d503201f 	nop
-ffffff8040005988:	d503201f 	nop
-ffffff804000598c:	d503201f 	nop
-ffffff8040005990:	d503201f 	nop
-ffffff8040005994:	d503201f 	nop
-ffffff8040005998:	d503201f 	nop
-ffffff804000599c:	d503201f 	nop
-ffffff80400059a0:	d503201f 	nop
-ffffff80400059a4:	d503201f 	nop
-ffffff80400059a8:	d503201f 	nop
-ffffff80400059ac:	d503201f 	nop
-ffffff80400059b0:	d503201f 	nop
-ffffff80400059b4:	d503201f 	nop
-ffffff80400059b8:	d503201f 	nop
-ffffff80400059bc:	d503201f 	nop
-ffffff80400059c0:	d503201f 	nop
-ffffff80400059c4:	d503201f 	nop
-ffffff80400059c8:	d503201f 	nop
-ffffff80400059cc:	d503201f 	nop
-ffffff80400059d0:	d503201f 	nop
-ffffff80400059d4:	d503201f 	nop
-ffffff80400059d8:	d503201f 	nop
-ffffff80400059dc:	d503201f 	nop
-ffffff80400059e0:	d503201f 	nop
-ffffff80400059e4:	d503201f 	nop
-ffffff80400059e8:	d503201f 	nop
-ffffff80400059ec:	d503201f 	nop
-ffffff80400059f0:	d503201f 	nop
-ffffff80400059f4:	d503201f 	nop
-ffffff80400059f8:	d503201f 	nop
-ffffff80400059fc:	d503201f 	nop
-
-// Current EL with spx
-.balign 0x80
-  b el1sync
-ffffff8040005a00:	14000161 	b	ffffff8040005f84 <el1sync>
-ffffff8040005a04:	d503201f 	nop
-ffffff8040005a08:	d503201f 	nop
-ffffff8040005a0c:	d503201f 	nop
-ffffff8040005a10:	d503201f 	nop
-ffffff8040005a14:	d503201f 	nop
-ffffff8040005a18:	d503201f 	nop
-ffffff8040005a1c:	d503201f 	nop
-ffffff8040005a20:	d503201f 	nop
-ffffff8040005a24:	d503201f 	nop
-ffffff8040005a28:	d503201f 	nop
-ffffff8040005a2c:	d503201f 	nop
-ffffff8040005a30:	d503201f 	nop
-ffffff8040005a34:	d503201f 	nop
-ffffff8040005a38:	d503201f 	nop
-ffffff8040005a3c:	d503201f 	nop
-ffffff8040005a40:	d503201f 	nop
-ffffff8040005a44:	d503201f 	nop
-ffffff8040005a48:	d503201f 	nop
-ffffff8040005a4c:	d503201f 	nop
-ffffff8040005a50:	d503201f 	nop
-ffffff8040005a54:	d503201f 	nop
-ffffff8040005a58:	d503201f 	nop
-ffffff8040005a5c:	d503201f 	nop
-ffffff8040005a60:	d503201f 	nop
-ffffff8040005a64:	d503201f 	nop
-ffffff8040005a68:	d503201f 	nop
-ffffff8040005a6c:	d503201f 	nop
-ffffff8040005a70:	d503201f 	nop
-ffffff8040005a74:	d503201f 	nop
-ffffff8040005a78:	d503201f 	nop
-ffffff8040005a7c:	d503201f 	nop
-.balign 0x80
-  b el1irq
-ffffff8040005a80:	1400016d 	b	ffffff8040006034 <el1irq>
-ffffff8040005a84:	d503201f 	nop
-ffffff8040005a88:	d503201f 	nop
-ffffff8040005a8c:	d503201f 	nop
-ffffff8040005a90:	d503201f 	nop
-ffffff8040005a94:	d503201f 	nop
-ffffff8040005a98:	d503201f 	nop
-ffffff8040005a9c:	d503201f 	nop
-ffffff8040005aa0:	d503201f 	nop
-ffffff8040005aa4:	d503201f 	nop
-ffffff8040005aa8:	d503201f 	nop
-ffffff8040005aac:	d503201f 	nop
-ffffff8040005ab0:	d503201f 	nop
-ffffff8040005ab4:	d503201f 	nop
-ffffff8040005ab8:	d503201f 	nop
-ffffff8040005abc:	d503201f 	nop
-ffffff8040005ac0:	d503201f 	nop
-ffffff8040005ac4:	d503201f 	nop
-ffffff8040005ac8:	d503201f 	nop
-ffffff8040005acc:	d503201f 	nop
-ffffff8040005ad0:	d503201f 	nop
-ffffff8040005ad4:	d503201f 	nop
-ffffff8040005ad8:	d503201f 	nop
-ffffff8040005adc:	d503201f 	nop
-ffffff8040005ae0:	d503201f 	nop
-ffffff8040005ae4:	d503201f 	nop
-ffffff8040005ae8:	d503201f 	nop
-ffffff8040005aec:	d503201f 	nop
-ffffff8040005af0:	d503201f 	nop
-ffffff8040005af4:	d503201f 	nop
-ffffff8040005af8:	d503201f 	nop
-ffffff8040005afc:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005b00:	14000000 	b	ffffff8040005b00 <alltraps+0x300>
-ffffff8040005b04:	d503201f 	nop
-ffffff8040005b08:	d503201f 	nop
-ffffff8040005b0c:	d503201f 	nop
-ffffff8040005b10:	d503201f 	nop
-ffffff8040005b14:	d503201f 	nop
-ffffff8040005b18:	d503201f 	nop
-ffffff8040005b1c:	d503201f 	nop
-ffffff8040005b20:	d503201f 	nop
-ffffff8040005b24:	d503201f 	nop
-ffffff8040005b28:	d503201f 	nop
-ffffff8040005b2c:	d503201f 	nop
-ffffff8040005b30:	d503201f 	nop
-ffffff8040005b34:	d503201f 	nop
-ffffff8040005b38:	d503201f 	nop
-ffffff8040005b3c:	d503201f 	nop
-ffffff8040005b40:	d503201f 	nop
-ffffff8040005b44:	d503201f 	nop
-ffffff8040005b48:	d503201f 	nop
-ffffff8040005b4c:	d503201f 	nop
-ffffff8040005b50:	d503201f 	nop
-ffffff8040005b54:	d503201f 	nop
-ffffff8040005b58:	d503201f 	nop
-ffffff8040005b5c:	d503201f 	nop
-ffffff8040005b60:	d503201f 	nop
-ffffff8040005b64:	d503201f 	nop
-ffffff8040005b68:	d503201f 	nop
-ffffff8040005b6c:	d503201f 	nop
-ffffff8040005b70:	d503201f 	nop
-ffffff8040005b74:	d503201f 	nop
-ffffff8040005b78:	d503201f 	nop
-ffffff8040005b7c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005b80:	14000000 	b	ffffff8040005b80 <alltraps+0x380>
-ffffff8040005b84:	d503201f 	nop
-ffffff8040005b88:	d503201f 	nop
-ffffff8040005b8c:	d503201f 	nop
-ffffff8040005b90:	d503201f 	nop
-ffffff8040005b94:	d503201f 	nop
-ffffff8040005b98:	d503201f 	nop
-ffffff8040005b9c:	d503201f 	nop
-ffffff8040005ba0:	d503201f 	nop
-ffffff8040005ba4:	d503201f 	nop
-ffffff8040005ba8:	d503201f 	nop
-ffffff8040005bac:	d503201f 	nop
-ffffff8040005bb0:	d503201f 	nop
-ffffff8040005bb4:	d503201f 	nop
-ffffff8040005bb8:	d503201f 	nop
-ffffff8040005bbc:	d503201f 	nop
-ffffff8040005bc0:	d503201f 	nop
-ffffff8040005bc4:	d503201f 	nop
-ffffff8040005bc8:	d503201f 	nop
-ffffff8040005bcc:	d503201f 	nop
-ffffff8040005bd0:	d503201f 	nop
-ffffff8040005bd4:	d503201f 	nop
-ffffff8040005bd8:	d503201f 	nop
-ffffff8040005bdc:	d503201f 	nop
-ffffff8040005be0:	d503201f 	nop
-ffffff8040005be4:	d503201f 	nop
-ffffff8040005be8:	d503201f 	nop
-ffffff8040005bec:	d503201f 	nop
-ffffff8040005bf0:	d503201f 	nop
-ffffff8040005bf4:	d503201f 	nop
-ffffff8040005bf8:	d503201f 	nop
-ffffff8040005bfc:	d503201f 	nop
-
-// Lower EL using aarch64
-.balign 0x80
-  b el0sync
-ffffff8040005c00:	14000139 	b	ffffff80400060e4 <el0sync>
-ffffff8040005c04:	d503201f 	nop
-ffffff8040005c08:	d503201f 	nop
-ffffff8040005c0c:	d503201f 	nop
-ffffff8040005c10:	d503201f 	nop
-ffffff8040005c14:	d503201f 	nop
-ffffff8040005c18:	d503201f 	nop
-ffffff8040005c1c:	d503201f 	nop
-ffffff8040005c20:	d503201f 	nop
-ffffff8040005c24:	d503201f 	nop
-ffffff8040005c28:	d503201f 	nop
-ffffff8040005c2c:	d503201f 	nop
-ffffff8040005c30:	d503201f 	nop
-ffffff8040005c34:	d503201f 	nop
-ffffff8040005c38:	d503201f 	nop
-ffffff8040005c3c:	d503201f 	nop
-ffffff8040005c40:	d503201f 	nop
-ffffff8040005c44:	d503201f 	nop
-ffffff8040005c48:	d503201f 	nop
-ffffff8040005c4c:	d503201f 	nop
-ffffff8040005c50:	d503201f 	nop
-ffffff8040005c54:	d503201f 	nop
-ffffff8040005c58:	d503201f 	nop
-ffffff8040005c5c:	d503201f 	nop
-ffffff8040005c60:	d503201f 	nop
-ffffff8040005c64:	d503201f 	nop
-ffffff8040005c68:	d503201f 	nop
-ffffff8040005c6c:	d503201f 	nop
-ffffff8040005c70:	d503201f 	nop
-ffffff8040005c74:	d503201f 	nop
-ffffff8040005c78:	d503201f 	nop
-ffffff8040005c7c:	d503201f 	nop
-.balign 0x80
-  b el0irq
-ffffff8040005c80:	14000146 	b	ffffff8040006198 <el0irq>
-ffffff8040005c84:	d503201f 	nop
-ffffff8040005c88:	d503201f 	nop
-ffffff8040005c8c:	d503201f 	nop
-ffffff8040005c90:	d503201f 	nop
-ffffff8040005c94:	d503201f 	nop
-ffffff8040005c98:	d503201f 	nop
-ffffff8040005c9c:	d503201f 	nop
-ffffff8040005ca0:	d503201f 	nop
-ffffff8040005ca4:	d503201f 	nop
-ffffff8040005ca8:	d503201f 	nop
-ffffff8040005cac:	d503201f 	nop
-ffffff8040005cb0:	d503201f 	nop
-ffffff8040005cb4:	d503201f 	nop
-ffffff8040005cb8:	d503201f 	nop
-ffffff8040005cbc:	d503201f 	nop
-ffffff8040005cc0:	d503201f 	nop
-ffffff8040005cc4:	d503201f 	nop
-ffffff8040005cc8:	d503201f 	nop
-ffffff8040005ccc:	d503201f 	nop
-ffffff8040005cd0:	d503201f 	nop
-ffffff8040005cd4:	d503201f 	nop
-ffffff8040005cd8:	d503201f 	nop
-ffffff8040005cdc:	d503201f 	nop
-ffffff8040005ce0:	d503201f 	nop
-ffffff8040005ce4:	d503201f 	nop
-ffffff8040005ce8:	d503201f 	nop
-ffffff8040005cec:	d503201f 	nop
-ffffff8040005cf0:	d503201f 	nop
-ffffff8040005cf4:	d503201f 	nop
-ffffff8040005cf8:	d503201f 	nop
-ffffff8040005cfc:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005d00:	14000000 	b	ffffff8040005d00 <alltraps+0x500>
-ffffff8040005d04:	d503201f 	nop
-ffffff8040005d08:	d503201f 	nop
-ffffff8040005d0c:	d503201f 	nop
-ffffff8040005d10:	d503201f 	nop
-ffffff8040005d14:	d503201f 	nop
-ffffff8040005d18:	d503201f 	nop
-ffffff8040005d1c:	d503201f 	nop
-ffffff8040005d20:	d503201f 	nop
-ffffff8040005d24:	d503201f 	nop
-ffffff8040005d28:	d503201f 	nop
-ffffff8040005d2c:	d503201f 	nop
-ffffff8040005d30:	d503201f 	nop
-ffffff8040005d34:	d503201f 	nop
-ffffff8040005d38:	d503201f 	nop
-ffffff8040005d3c:	d503201f 	nop
-ffffff8040005d40:	d503201f 	nop
-ffffff8040005d44:	d503201f 	nop
-ffffff8040005d48:	d503201f 	nop
-ffffff8040005d4c:	d503201f 	nop
-ffffff8040005d50:	d503201f 	nop
-ffffff8040005d54:	d503201f 	nop
-ffffff8040005d58:	d503201f 	nop
-ffffff8040005d5c:	d503201f 	nop
-ffffff8040005d60:	d503201f 	nop
-ffffff8040005d64:	d503201f 	nop
-ffffff8040005d68:	d503201f 	nop
-ffffff8040005d6c:	d503201f 	nop
-ffffff8040005d70:	d503201f 	nop
-ffffff8040005d74:	d503201f 	nop
-ffffff8040005d78:	d503201f 	nop
-ffffff8040005d7c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005d80:	14000000 	b	ffffff8040005d80 <alltraps+0x580>
-ffffff8040005d84:	d503201f 	nop
-ffffff8040005d88:	d503201f 	nop
-ffffff8040005d8c:	d503201f 	nop
-ffffff8040005d90:	d503201f 	nop
-ffffff8040005d94:	d503201f 	nop
-ffffff8040005d98:	d503201f 	nop
-ffffff8040005d9c:	d503201f 	nop
-ffffff8040005da0:	d503201f 	nop
-ffffff8040005da4:	d503201f 	nop
-ffffff8040005da8:	d503201f 	nop
-ffffff8040005dac:	d503201f 	nop
-ffffff8040005db0:	d503201f 	nop
-ffffff8040005db4:	d503201f 	nop
-ffffff8040005db8:	d503201f 	nop
-ffffff8040005dbc:	d503201f 	nop
-ffffff8040005dc0:	d503201f 	nop
-ffffff8040005dc4:	d503201f 	nop
-ffffff8040005dc8:	d503201f 	nop
-ffffff8040005dcc:	d503201f 	nop
-ffffff8040005dd0:	d503201f 	nop
-ffffff8040005dd4:	d503201f 	nop
-ffffff8040005dd8:	d503201f 	nop
-ffffff8040005ddc:	d503201f 	nop
-ffffff8040005de0:	d503201f 	nop
-ffffff8040005de4:	d503201f 	nop
-ffffff8040005de8:	d503201f 	nop
-ffffff8040005dec:	d503201f 	nop
-ffffff8040005df0:	d503201f 	nop
-ffffff8040005df4:	d503201f 	nop
-ffffff8040005df8:	d503201f 	nop
-ffffff8040005dfc:	d503201f 	nop
-
-// Lower EL using aarch32
-.balign 0x80
-  b .
-ffffff8040005e00:	14000000 	b	ffffff8040005e00 <alltraps+0x600>
-ffffff8040005e04:	d503201f 	nop
-ffffff8040005e08:	d503201f 	nop
-ffffff8040005e0c:	d503201f 	nop
-ffffff8040005e10:	d503201f 	nop
-ffffff8040005e14:	d503201f 	nop
-ffffff8040005e18:	d503201f 	nop
-ffffff8040005e1c:	d503201f 	nop
-ffffff8040005e20:	d503201f 	nop
-ffffff8040005e24:	d503201f 	nop
-ffffff8040005e28:	d503201f 	nop
-ffffff8040005e2c:	d503201f 	nop
-ffffff8040005e30:	d503201f 	nop
-ffffff8040005e34:	d503201f 	nop
-ffffff8040005e38:	d503201f 	nop
-ffffff8040005e3c:	d503201f 	nop
-ffffff8040005e40:	d503201f 	nop
-ffffff8040005e44:	d503201f 	nop
-ffffff8040005e48:	d503201f 	nop
-ffffff8040005e4c:	d503201f 	nop
-ffffff8040005e50:	d503201f 	nop
-ffffff8040005e54:	d503201f 	nop
-ffffff8040005e58:	d503201f 	nop
-ffffff8040005e5c:	d503201f 	nop
-ffffff8040005e60:	d503201f 	nop
-ffffff8040005e64:	d503201f 	nop
-ffffff8040005e68:	d503201f 	nop
-ffffff8040005e6c:	d503201f 	nop
-ffffff8040005e70:	d503201f 	nop
-ffffff8040005e74:	d503201f 	nop
-ffffff8040005e78:	d503201f 	nop
-ffffff8040005e7c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005e80:	14000000 	b	ffffff8040005e80 <alltraps+0x680>
-ffffff8040005e84:	d503201f 	nop
-ffffff8040005e88:	d503201f 	nop
-ffffff8040005e8c:	d503201f 	nop
-ffffff8040005e90:	d503201f 	nop
-ffffff8040005e94:	d503201f 	nop
-ffffff8040005e98:	d503201f 	nop
-ffffff8040005e9c:	d503201f 	nop
-ffffff8040005ea0:	d503201f 	nop
-ffffff8040005ea4:	d503201f 	nop
-ffffff8040005ea8:	d503201f 	nop
-ffffff8040005eac:	d503201f 	nop
-ffffff8040005eb0:	d503201f 	nop
-ffffff8040005eb4:	d503201f 	nop
-ffffff8040005eb8:	d503201f 	nop
-ffffff8040005ebc:	d503201f 	nop
-ffffff8040005ec0:	d503201f 	nop
-ffffff8040005ec4:	d503201f 	nop
-ffffff8040005ec8:	d503201f 	nop
-ffffff8040005ecc:	d503201f 	nop
-ffffff8040005ed0:	d503201f 	nop
-ffffff8040005ed4:	d503201f 	nop
-ffffff8040005ed8:	d503201f 	nop
-ffffff8040005edc:	d503201f 	nop
-ffffff8040005ee0:	d503201f 	nop
-ffffff8040005ee4:	d503201f 	nop
-ffffff8040005ee8:	d503201f 	nop
-ffffff8040005eec:	d503201f 	nop
-ffffff8040005ef0:	d503201f 	nop
-ffffff8040005ef4:	d503201f 	nop
-ffffff8040005ef8:	d503201f 	nop
-ffffff8040005efc:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005f00:	14000000 	b	ffffff8040005f00 <alltraps+0x700>
-ffffff8040005f04:	d503201f 	nop
-ffffff8040005f08:	d503201f 	nop
-ffffff8040005f0c:	d503201f 	nop
-ffffff8040005f10:	d503201f 	nop
-ffffff8040005f14:	d503201f 	nop
-ffffff8040005f18:	d503201f 	nop
-ffffff8040005f1c:	d503201f 	nop
-ffffff8040005f20:	d503201f 	nop
-ffffff8040005f24:	d503201f 	nop
-ffffff8040005f28:	d503201f 	nop
-ffffff8040005f2c:	d503201f 	nop
-ffffff8040005f30:	d503201f 	nop
-ffffff8040005f34:	d503201f 	nop
-ffffff8040005f38:	d503201f 	nop
-ffffff8040005f3c:	d503201f 	nop
-ffffff8040005f40:	d503201f 	nop
-ffffff8040005f44:	d503201f 	nop
-ffffff8040005f48:	d503201f 	nop
-ffffff8040005f4c:	d503201f 	nop
-ffffff8040005f50:	d503201f 	nop
-ffffff8040005f54:	d503201f 	nop
-ffffff8040005f58:	d503201f 	nop
-ffffff8040005f5c:	d503201f 	nop
-ffffff8040005f60:	d503201f 	nop
-ffffff8040005f64:	d503201f 	nop
-ffffff8040005f68:	d503201f 	nop
-ffffff8040005f6c:	d503201f 	nop
-ffffff8040005f70:	d503201f 	nop
-ffffff8040005f74:	d503201f 	nop
-ffffff8040005f78:	d503201f 	nop
-ffffff8040005f7c:	d503201f 	nop
-.balign 0x80
-  b .
-ffffff8040005f80:	14000000 	b	ffffff8040005f80 <alltraps+0x780>
-
-ffffff8040005f84 <el1sync>:
-
-el1sync:
-        savereg
-ffffff8040005f84:	d10443ff 	sub	sp, sp, #0x110
-ffffff8040005f88:	a90007e0 	stp	x0, x1, [sp]
-ffffff8040005f8c:	a9010fe2 	stp	x2, x3, [sp, #16]
-ffffff8040005f90:	a90217e4 	stp	x4, x5, [sp, #32]
-ffffff8040005f94:	a9031fe6 	stp	x6, x7, [sp, #48]
-ffffff8040005f98:	a90427e8 	stp	x8, x9, [sp, #64]
-ffffff8040005f9c:	a9052fea 	stp	x10, x11, [sp, #80]
-ffffff8040005fa0:	a90637ec 	stp	x12, x13, [sp, #96]
-ffffff8040005fa4:	a9073fee 	stp	x14, x15, [sp, #112]
-ffffff8040005fa8:	a90847f0 	stp	x16, x17, [sp, #128]
-ffffff8040005fac:	a9094ff2 	stp	x18, x19, [sp, #144]
-ffffff8040005fb0:	a90a57f4 	stp	x20, x21, [sp, #160]
-ffffff8040005fb4:	a90b5ff6 	stp	x22, x23, [sp, #176]
-ffffff8040005fb8:	a90c67f8 	stp	x24, x25, [sp, #192]
-ffffff8040005fbc:	a90d6ffa 	stp	x26, x27, [sp, #208]
-ffffff8040005fc0:	a90e77fc 	stp	x28, x29, [sp, #224]
-ffffff8040005fc4:	d5384029 	mrs	x9, elr_el1
-ffffff8040005fc8:	d538400a 	mrs	x10, spsr_el1
-ffffff8040005fcc:	910443eb 	add	x11, sp, #0x110
-ffffff8040005fd0:	a90f27fe 	stp	x30, x9, [sp, #240]
-ffffff8040005fd4:	a9102fea 	stp	x10, x11, [sp, #256]
-        
-        mov x0, sp
-ffffff8040005fd8:	910003e0 	mov	x0, sp
-        bl kerneltrap 
-ffffff8040005fdc:	97fff1ac 	bl	ffffff804000268c <kerneltrap>
-      
-        restorereg
-ffffff8040005fe0:	a94f27fe 	ldp	x30, x9, [sp, #240]
-ffffff8040005fe4:	a9502fea 	ldp	x10, x11, [sp, #256]
-ffffff8040005fe8:	d5184029 	msr	elr_el1, x9
-ffffff8040005fec:	d518400a 	msr	spsr_el1, x10
-ffffff8040005ff0:	a94007e0 	ldp	x0, x1, [sp]
-ffffff8040005ff4:	a9410fe2 	ldp	x2, x3, [sp, #16]
-ffffff8040005ff8:	a94217e4 	ldp	x4, x5, [sp, #32]
-ffffff8040005ffc:	a9431fe6 	ldp	x6, x7, [sp, #48]
-ffffff8040006000:	a94427e8 	ldp	x8, x9, [sp, #64]
-ffffff8040006004:	a9452fea 	ldp	x10, x11, [sp, #80]
-ffffff8040006008:	a94637ec 	ldp	x12, x13, [sp, #96]
-ffffff804000600c:	a9473fee 	ldp	x14, x15, [sp, #112]
-ffffff8040006010:	a94847f0 	ldp	x16, x17, [sp, #128]
-ffffff8040006014:	a9494ff2 	ldp	x18, x19, [sp, #144]
-ffffff8040006018:	a94a57f4 	ldp	x20, x21, [sp, #160]
-ffffff804000601c:	a94b5ff6 	ldp	x22, x23, [sp, #176]
-ffffff8040006020:	a94c67f8 	ldp	x24, x25, [sp, #192]
-ffffff8040006024:	a94d6ffa 	ldp	x26, x27, [sp, #208]
-ffffff8040006028:	a94e77fc 	ldp	x28, x29, [sp, #224]
-ffffff804000602c:	910443ff 	add	sp, sp, #0x110
-      
-        eret
-ffffff8040006030:	d69f03e0 	eret
-
-ffffff8040006034 <el1irq>:
-el1irq:
-        savereg
-ffffff8040006034:	d10443ff 	sub	sp, sp, #0x110
-ffffff8040006038:	a90007e0 	stp	x0, x1, [sp]
-ffffff804000603c:	a9010fe2 	stp	x2, x3, [sp, #16]
-ffffff8040006040:	a90217e4 	stp	x4, x5, [sp, #32]
-ffffff8040006044:	a9031fe6 	stp	x6, x7, [sp, #48]
-ffffff8040006048:	a90427e8 	stp	x8, x9, [sp, #64]
-ffffff804000604c:	a9052fea 	stp	x10, x11, [sp, #80]
-ffffff8040006050:	a90637ec 	stp	x12, x13, [sp, #96]
-ffffff8040006054:	a9073fee 	stp	x14, x15, [sp, #112]
-ffffff8040006058:	a90847f0 	stp	x16, x17, [sp, #128]
-ffffff804000605c:	a9094ff2 	stp	x18, x19, [sp, #144]
-ffffff8040006060:	a90a57f4 	stp	x20, x21, [sp, #160]
-ffffff8040006064:	a90b5ff6 	stp	x22, x23, [sp, #176]
-ffffff8040006068:	a90c67f8 	stp	x24, x25, [sp, #192]
-ffffff804000606c:	a90d6ffa 	stp	x26, x27, [sp, #208]
-ffffff8040006070:	a90e77fc 	stp	x28, x29, [sp, #224]
-ffffff8040006074:	d5384029 	mrs	x9, elr_el1
-ffffff8040006078:	d538400a 	mrs	x10, spsr_el1
-ffffff804000607c:	910443eb 	add	x11, sp, #0x110
-ffffff8040006080:	a90f27fe 	stp	x30, x9, [sp, #240]
-ffffff8040006084:	a9102fea 	stp	x10, x11, [sp, #256]
-        
-        mov x0, sp
-ffffff8040006088:	910003e0 	mov	x0, sp
-        bl kernelirq
-ffffff804000608c:	97fff1df 	bl	ffffff8040002808 <kernelirq>
-      
-        restorereg
-ffffff8040006090:	a94f27fe 	ldp	x30, x9, [sp, #240]
-ffffff8040006094:	a9502fea 	ldp	x10, x11, [sp, #256]
-ffffff8040006098:	d5184029 	msr	elr_el1, x9
-ffffff804000609c:	d518400a 	msr	spsr_el1, x10
-ffffff80400060a0:	a94007e0 	ldp	x0, x1, [sp]
-ffffff80400060a4:	a9410fe2 	ldp	x2, x3, [sp, #16]
-ffffff80400060a8:	a94217e4 	ldp	x4, x5, [sp, #32]
-ffffff80400060ac:	a9431fe6 	ldp	x6, x7, [sp, #48]
-ffffff80400060b0:	a94427e8 	ldp	x8, x9, [sp, #64]
-ffffff80400060b4:	a9452fea 	ldp	x10, x11, [sp, #80]
-ffffff80400060b8:	a94637ec 	ldp	x12, x13, [sp, #96]
-ffffff80400060bc:	a9473fee 	ldp	x14, x15, [sp, #112]
-ffffff80400060c0:	a94847f0 	ldp	x16, x17, [sp, #128]
-ffffff80400060c4:	a9494ff2 	ldp	x18, x19, [sp, #144]
-ffffff80400060c8:	a94a57f4 	ldp	x20, x21, [sp, #160]
-ffffff80400060cc:	a94b5ff6 	ldp	x22, x23, [sp, #176]
-ffffff80400060d0:	a94c67f8 	ldp	x24, x25, [sp, #192]
-ffffff80400060d4:	a94d6ffa 	ldp	x26, x27, [sp, #208]
-ffffff80400060d8:	a94e77fc 	ldp	x28, x29, [sp, #224]
-ffffff80400060dc:	910443ff 	add	sp, sp, #0x110
-      
-        eret
-ffffff80400060e0:	d69f03e0 	eret
-
-ffffff80400060e4 <el0sync>:
-      
-el0sync:
-        usavereg
-ffffff80400060e4:	d10443ff 	sub	sp, sp, #0x110
-ffffff80400060e8:	a90007e0 	stp	x0, x1, [sp]
-ffffff80400060ec:	a9010fe2 	stp	x2, x3, [sp, #16]
-ffffff80400060f0:	a90217e4 	stp	x4, x5, [sp, #32]
-ffffff80400060f4:	a9031fe6 	stp	x6, x7, [sp, #48]
-ffffff80400060f8:	a90427e8 	stp	x8, x9, [sp, #64]
-ffffff80400060fc:	a9052fea 	stp	x10, x11, [sp, #80]
-ffffff8040006100:	a90637ec 	stp	x12, x13, [sp, #96]
-ffffff8040006104:	a9073fee 	stp	x14, x15, [sp, #112]
-ffffff8040006108:	a90847f0 	stp	x16, x17, [sp, #128]
-ffffff804000610c:	a9094ff2 	stp	x18, x19, [sp, #144]
-ffffff8040006110:	a90a57f4 	stp	x20, x21, [sp, #160]
-ffffff8040006114:	a90b5ff6 	stp	x22, x23, [sp, #176]
-ffffff8040006118:	a90c67f8 	stp	x24, x25, [sp, #192]
-ffffff804000611c:	a90d6ffa 	stp	x26, x27, [sp, #208]
-ffffff8040006120:	a90e77fc 	stp	x28, x29, [sp, #224]
-ffffff8040006124:	d5384029 	mrs	x9, elr_el1
-ffffff8040006128:	d538400a 	mrs	x10, spsr_el1
-ffffff804000612c:	d538410b 	mrs	x11, sp_el0
-ffffff8040006130:	a90f27fe 	stp	x30, x9, [sp, #240]
-ffffff8040006134:	a9102fea 	stp	x10, x11, [sp, #256]
-      
-        mov x0, sp
-ffffff8040006138:	910003e0 	mov	x0, sp
-        bl usertrap
-ffffff804000613c:	97fff12e 	bl	ffffff80400025f4 <usertrap>
-      
-        urestorereg
-ffffff8040006140:	a94f27fe 	ldp	x30, x9, [sp, #240]
-ffffff8040006144:	a9502fea 	ldp	x10, x11, [sp, #256]
-ffffff8040006148:	d5184029 	msr	elr_el1, x9
-ffffff804000614c:	d518400a 	msr	spsr_el1, x10
-ffffff8040006150:	d518410b 	msr	sp_el0, x11
-ffffff8040006154:	a94007e0 	ldp	x0, x1, [sp]
-ffffff8040006158:	a9410fe2 	ldp	x2, x3, [sp, #16]
-ffffff804000615c:	a94217e4 	ldp	x4, x5, [sp, #32]
-ffffff8040006160:	a9431fe6 	ldp	x6, x7, [sp, #48]
-ffffff8040006164:	a94427e8 	ldp	x8, x9, [sp, #64]
-ffffff8040006168:	a9452fea 	ldp	x10, x11, [sp, #80]
-ffffff804000616c:	a94637ec 	ldp	x12, x13, [sp, #96]
-ffffff8040006170:	a9473fee 	ldp	x14, x15, [sp, #112]
-ffffff8040006174:	a94847f0 	ldp	x16, x17, [sp, #128]
-ffffff8040006178:	a9494ff2 	ldp	x18, x19, [sp, #144]
-ffffff804000617c:	a94a57f4 	ldp	x20, x21, [sp, #160]
-ffffff8040006180:	a94b5ff6 	ldp	x22, x23, [sp, #176]
-ffffff8040006184:	a94c67f8 	ldp	x24, x25, [sp, #192]
-ffffff8040006188:	a94d6ffa 	ldp	x26, x27, [sp, #208]
-ffffff804000618c:	a94e77fc 	ldp	x28, x29, [sp, #224]
-ffffff8040006190:	910443ff 	add	sp, sp, #0x110
-      
-        eret
-ffffff8040006194:	d69f03e0 	eret
-
-ffffff8040006198 <el0irq>:
-el0irq:
-        usavereg
-ffffff8040006198:	d10443ff 	sub	sp, sp, #0x110
-ffffff804000619c:	a90007e0 	stp	x0, x1, [sp]
-ffffff80400061a0:	a9010fe2 	stp	x2, x3, [sp, #16]
-ffffff80400061a4:	a90217e4 	stp	x4, x5, [sp, #32]
-ffffff80400061a8:	a9031fe6 	stp	x6, x7, [sp, #48]
-ffffff80400061ac:	a90427e8 	stp	x8, x9, [sp, #64]
-ffffff80400061b0:	a9052fea 	stp	x10, x11, [sp, #80]
-ffffff80400061b4:	a90637ec 	stp	x12, x13, [sp, #96]
-ffffff80400061b8:	a9073fee 	stp	x14, x15, [sp, #112]
-ffffff80400061bc:	a90847f0 	stp	x16, x17, [sp, #128]
-ffffff80400061c0:	a9094ff2 	stp	x18, x19, [sp, #144]
-ffffff80400061c4:	a90a57f4 	stp	x20, x21, [sp, #160]
-ffffff80400061c8:	a90b5ff6 	stp	x22, x23, [sp, #176]
-ffffff80400061cc:	a90c67f8 	stp	x24, x25, [sp, #192]
-ffffff80400061d0:	a90d6ffa 	stp	x26, x27, [sp, #208]
-ffffff80400061d4:	a90e77fc 	stp	x28, x29, [sp, #224]
-ffffff80400061d8:	d5384029 	mrs	x9, elr_el1
-ffffff80400061dc:	d538400a 	mrs	x10, spsr_el1
-ffffff80400061e0:	d538410b 	mrs	x11, sp_el0
-ffffff80400061e4:	a90f27fe 	stp	x30, x9, [sp, #240]
-ffffff80400061e8:	a9102fea 	stp	x10, x11, [sp, #256]
-      
-        mov x0, sp
-ffffff80400061ec:	910003e0 	mov	x0, sp
-        bl userirq
-ffffff80400061f0:	97fff175 	bl	ffffff80400027c4 <userirq>
-
-ffffff80400061f4 <trapret>:
-      
-trapret:
-        urestorereg
-ffffff80400061f4:	a94f27fe 	ldp	x30, x9, [sp, #240]
-ffffff80400061f8:	a9502fea 	ldp	x10, x11, [sp, #256]
-ffffff80400061fc:	d5184029 	msr	elr_el1, x9
-ffffff8040006200:	d518400a 	msr	spsr_el1, x10
-ffffff8040006204:	d518410b 	msr	sp_el0, x11
-ffffff8040006208:	a94007e0 	ldp	x0, x1, [sp]
-ffffff804000620c:	a9410fe2 	ldp	x2, x3, [sp, #16]
-ffffff8040006210:	a94217e4 	ldp	x4, x5, [sp, #32]
-ffffff8040006214:	a9431fe6 	ldp	x6, x7, [sp, #48]
-ffffff8040006218:	a94427e8 	ldp	x8, x9, [sp, #64]
-ffffff804000621c:	a9452fea 	ldp	x10, x11, [sp, #80]
-ffffff8040006220:	a94637ec 	ldp	x12, x13, [sp, #96]
-ffffff8040006224:	a9473fee 	ldp	x14, x15, [sp, #112]
-ffffff8040006228:	a94847f0 	ldp	x16, x17, [sp, #128]
-ffffff804000622c:	a9494ff2 	ldp	x18, x19, [sp, #144]
-ffffff8040006230:	a94a57f4 	ldp	x20, x21, [sp, #160]
-ffffff8040006234:	a94b5ff6 	ldp	x22, x23, [sp, #176]
-ffffff8040006238:	a94c67f8 	ldp	x24, x25, [sp, #192]
-ffffff804000623c:	a94d6ffa 	ldp	x26, x27, [sp, #208]
-ffffff8040006240:	a94e77fc 	ldp	x28, x29, [sp, #224]
-ffffff8040006244:	910443ff 	add	sp, sp, #0x110
-
-        eret
-ffffff8040006248:	d69f03e0 	eret
-
-ffffff804000624c <usertrapret>:
-
-.global usertrapret
-usertrapret:
-        mov sp, x0
-ffffff804000624c:	9100001f 	mov	sp, x0
-        b trapret
-ffffff8040006250:	17ffffe9 	b	ffffff80400061f4 <trapret>
-
-ffffff8040006254 <timerinit>:
-ffffff8040006254:	d53be320 	mrs	x0, cntv_ctl_el0
-ffffff8040006258:	927ff800 	and	x0, x0, #0xfffffffffffffffe
-ffffff804000625c:	b27f0000 	orr	x0, x0, #0x2
-ffffff8040006260:	d51be320 	msr	cntv_ctl_el0, x0
-ffffff8040006264:	d53be000 	mrs	x0, cntfrq_el0
-ffffff8040006268:	d2884801 	mov	x1, #0x4240                	// #16960
-ffffff804000626c:	f2a001e1 	movk	x1, #0xf, lsl #16
-ffffff8040006270:	9ac10800 	udiv	x0, x0, x1
-ffffff8040006274:	d290d401 	mov	x1, #0x86a0                	// #34464
-ffffff8040006278:	f2a00021 	movk	x1, #0x1, lsl #16
-ffffff804000627c:	9b017c00 	mul	x0, x0, x1
-ffffff8040006280:	d51be300 	msr	cntv_tval_el0, x0
-ffffff8040006284:	d53be320 	mrs	x0, cntv_ctl_el0
-ffffff8040006288:	927ef800 	and	x0, x0, #0xfffffffffffffffd
-ffffff804000628c:	b2400000 	orr	x0, x0, #0x1
-ffffff8040006290:	d51be320 	msr	cntv_ctl_el0, x0
-ffffff8040006294:	d65f03c0 	ret
-
-ffffff8040006298 <timerintr>:
-ffffff8040006298:	17ffffef 	b	ffffff8040006254 <timerinit>
-
-ffffff804000629c <free_desc>:
-ffffff804000629c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
-ffffff80400062a0:	71001c1f 	cmp	w0, #0x7
-ffffff80400062a4:	910003fd 	mov	x29, sp
-ffffff80400062a8:	5400008d 	b.le	ffffff80400062b8 <free_desc+0x1c>
-ffffff80400062ac:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400062b0:	91179800 	add	x0, x0, #0x5e6
-ffffff80400062b4:	97ffe893 	bl	ffffff8040000500 <panic>
-ffffff80400062b8:	d0000102 	adrp	x2, ffffff8040028000 <disk>
-ffffff80400062bc:	91000042 	add	x2, x2, #0x0
-ffffff80400062c0:	93407c01 	sxtw	x1, w0
-ffffff80400062c4:	8b20c040 	add	x0, x2, w0, sxtw
-ffffff80400062c8:	91400800 	add	x0, x0, #0x2, lsl #12
-ffffff80400062cc:	39406003 	ldrb	w3, [x0, #24]
-ffffff80400062d0:	34000083 	cbz	w3, ffffff80400062e0 <free_desc+0x44>
-ffffff80400062d4:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400062d8:	9117c800 	add	x0, x0, #0x5f2
-ffffff80400062dc:	17fffff6 	b	ffffff80400062b4 <free_desc+0x18>
-ffffff80400062e0:	f9500042 	ldr	x2, [x2, #8192]
-ffffff80400062e4:	d37cec23 	lsl	x3, x1, #4
-ffffff80400062e8:	8b011041 	add	x1, x2, x1, lsl #4
-ffffff80400062ec:	f823685f 	str	xzr, [x2, x3]
-ffffff80400062f0:	f900043f 	str	xzr, [x1, #8]
-ffffff80400062f4:	52800021 	mov	w1, #0x1                   	// #1
-ffffff80400062f8:	39006001 	strb	w1, [x0, #24]
-ffffff80400062fc:	90000120 	adrp	x0, ffffff804002a000 <disk+0x2000>
-ffffff8040006300:	91006000 	add	x0, x0, #0x18
-ffffff8040006304:	a8c17bfd 	ldp	x29, x30, [sp], #16
-ffffff8040006308:	17ffefb9 	b	ffffff80400021ec <wakeup>
-
-ffffff804000630c <virtio_disk_init>:
-ffffff804000630c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff8040006310:	b0000001 	adrp	x1, ffffff8040007000 <etext>
-ffffff8040006314:	9117f821 	add	x1, x1, #0x5fe
-ffffff8040006318:	910003fd 	mov	x29, sp
-ffffff804000631c:	90000120 	adrp	x0, ffffff804002a000 <disk+0x2000>
-ffffff8040006320:	9104a000 	add	x0, x0, #0x128
-ffffff8040006324:	f9000bf3 	str	x19, [sp, #16]
-ffffff8040006328:	97ffea11 	bl	ffffff8040000b6c <initlock>
-ffffff804000632c:	b25963e0 	mov	x0, #0xffffff8000000000    	// #-549755813888
-ffffff8040006330:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff8040006334:	b9400001 	ldr	w1, [x0]
-ffffff8040006338:	528d2ec0 	mov	w0, #0x6976                	// #26998
-ffffff804000633c:	72ae8e40 	movk	w0, #0x7472, lsl #16
-ffffff8040006340:	6b00003f 	cmp	w1, w0
-ffffff8040006344:	54000261 	b.ne	ffffff8040006390 <virtio_disk_init+0x84>  // b.any
-ffffff8040006348:	929fff60 	mov	x0, #0xffffffffffff0004    	// #-65532
-ffffff804000634c:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff8040006350:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff8040006354:	b9400001 	ldr	w1, [x0]
-ffffff8040006358:	7100043f 	cmp	w1, #0x1
-ffffff804000635c:	540001a1 	b.ne	ffffff8040006390 <virtio_disk_init+0x84>  // b.any
-ffffff8040006360:	91001000 	add	x0, x0, #0x4
-ffffff8040006364:	b9400000 	ldr	w0, [x0]
-ffffff8040006368:	7100081f 	cmp	w0, #0x2
-ffffff804000636c:	54000121 	b.ne	ffffff8040006390 <virtio_disk_init+0x84>  // b.any
-ffffff8040006370:	929ffe60 	mov	x0, #0xffffffffffff000c    	// #-65524
-ffffff8040006374:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff8040006378:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff804000637c:	b9400002 	ldr	w2, [x0]
-ffffff8040006380:	5288aa20 	mov	w0, #0x4551                	// #17745
-ffffff8040006384:	72aaa9a0 	movk	w0, #0x554d, lsl #16
-ffffff8040006388:	6b00005f 	cmp	w2, w0
-ffffff804000638c:	54000080 	b.eq	ffffff804000639c <virtio_disk_init+0x90>  // b.none
-ffffff8040006390:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040006394:	91182800 	add	x0, x0, #0x60a
-ffffff8040006398:	97ffe85a 	bl	ffffff8040000500 <panic>
-ffffff804000639c:	929ff1e0 	mov	x0, #0xffffffffffff0070    	// #-65424
-ffffff80400063a0:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff80400063a4:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff80400063a8:	d29cebe2 	mov	x2, #0xe75f                	// #59231
-ffffff80400063ac:	f2b8ffe2 	movk	x2, #0xc7ff, lsl #16
-ffffff80400063b0:	d100f000 	sub	x0, x0, #0x3c
-ffffff80400063b4:	b9003c01 	str	w1, [x0, #60]
-ffffff80400063b8:	52800061 	mov	w1, #0x3                   	// #3
-ffffff80400063bc:	b9003c01 	str	w1, [x0, #60]
-ffffff80400063c0:	929ffde1 	mov	x1, #0xffffffffffff0010    	// #-65520
-ffffff80400063c4:	f2a14001 	movk	x1, #0xa00, lsl #16
-ffffff80400063c8:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff80400063cc:	b9400021 	ldr	w1, [x1]
-ffffff80400063d0:	8a020021 	and	x1, x1, x2
-ffffff80400063d4:	929ffbe2 	mov	x2, #0xffffffffffff0020    	// #-65504
-ffffff80400063d8:	f2a14002 	movk	x2, #0xa00, lsl #16
-ffffff80400063dc:	f2dff002 	movk	x2, #0xff80, lsl #32
-ffffff80400063e0:	b9000041 	str	w1, [x2]
-ffffff80400063e4:	52800161 	mov	w1, #0xb                   	// #11
-ffffff80400063e8:	b9003c01 	str	w1, [x0, #60]
-ffffff80400063ec:	528001e1 	mov	w1, #0xf                   	// #15
-ffffff80400063f0:	b9003c01 	str	w1, [x0, #60]
-ffffff80400063f4:	52820001 	mov	w1, #0x1000                	// #4096
-ffffff80400063f8:	b81f4001 	stur	w1, [x0, #-12]
-ffffff80400063fc:	b81fc01f 	stur	wzr, [x0, #-4]
-ffffff8040006400:	b9400000 	ldr	w0, [x0]
-ffffff8040006404:	35000080 	cbnz	w0, ffffff8040006414 <virtio_disk_init+0x108>
-ffffff8040006408:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000640c:	91189400 	add	x0, x0, #0x625
-ffffff8040006410:	17ffffe2 	b	ffffff8040006398 <virtio_disk_init+0x8c>
-ffffff8040006414:	71001c1f 	cmp	w0, #0x7
-ffffff8040006418:	54000088 	b.hi	ffffff8040006428 <virtio_disk_init+0x11c>  // b.pmore
-ffffff804000641c:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff8040006420:	91190000 	add	x0, x0, #0x640
-ffffff8040006424:	17ffffdd 	b	ffffff8040006398 <virtio_disk_init+0x8c>
-ffffff8040006428:	929ff8e0 	mov	x0, #0xffffffffffff0038    	// #-65480
-ffffff804000642c:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff8040006430:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff8040006434:	52800101 	mov	w1, #0x8                   	// #8
-ffffff8040006438:	d0000113 	adrp	x19, ffffff8040028000 <disk>
-ffffff804000643c:	91000273 	add	x19, x19, #0x0
-ffffff8040006440:	52840002 	mov	w2, #0x2000                	// #8192
-ffffff8040006444:	b9000001 	str	w1, [x0]
-ffffff8040006448:	52800001 	mov	w1, #0x0                   	// #0
-ffffff804000644c:	aa1303e0 	mov	x0, x19
-ffffff8040006450:	97ffea26 	bl	ffffff8040000ce8 <memset>
-ffffff8040006454:	d2c01000 	mov	x0, #0x8000000000          	// #549755813888
-ffffff8040006458:	929ff7e1 	mov	x1, #0xffffffffffff0040    	// #-65472
-ffffff804000645c:	f2a14001 	movk	x1, #0xa00, lsl #16
-ffffff8040006460:	8b000260 	add	x0, x19, x0
-ffffff8040006464:	d34cfc00 	lsr	x0, x0, #12
-ffffff8040006468:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff804000646c:	b9000020 	str	w0, [x1]
-ffffff8040006470:	d0000100 	adrp	x0, ffffff8040028000 <disk>
-ffffff8040006474:	91020000 	add	x0, x0, #0x80
-ffffff8040006478:	f9100273 	str	x19, [x19, #8192]
-ffffff804000647c:	f9100660 	str	x0, [x19, #8200]
-ffffff8040006480:	f0000100 	adrp	x0, ffffff8040029000 <disk+0x1000>
-ffffff8040006484:	91000000 	add	x0, x0, #0x0
-ffffff8040006488:	f9100a60 	str	x0, [x19, #8208]
-ffffff804000648c:	b200c3e0 	mov	x0, #0x101010101010101     	// #72340172838076673
-ffffff8040006490:	f9100e60 	str	x0, [x19, #8216]
-ffffff8040006494:	f9400bf3 	ldr	x19, [sp, #16]
-ffffff8040006498:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff804000649c:	d65f03c0 	ret
-
-ffffff80400064a0 <virtio_disk_rw>:
-ffffff80400064a0:	a9b97bfd 	stp	x29, x30, [sp, #-112]!
-ffffff80400064a4:	910003fd 	mov	x29, sp
-ffffff80400064a8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400064ac:	aa0003f4 	mov	x20, x0
-ffffff80400064b0:	90000133 	adrp	x19, ffffff804002a000 <disk+0x2000>
-ffffff80400064b4:	9104a260 	add	x0, x19, #0x128
-ffffff80400064b8:	a9025bf5 	stp	x21, x22, [sp, #32]
-ffffff80400064bc:	2a0103f6 	mov	w22, w1
-ffffff80400064c0:	b9400e95 	ldr	w21, [x20, #12]
-ffffff80400064c4:	a9046bf9 	stp	x25, x26, [sp, #64]
-ffffff80400064c8:	90000139 	adrp	x25, ffffff804002a000 <disk+0x2000>
-ffffff80400064cc:	9100633a 	add	x26, x25, #0x18
-ffffff80400064d0:	a90363f7 	stp	x23, x24, [sp, #48]
-ffffff80400064d4:	d0000118 	adrp	x24, ffffff8040028000 <disk>
-ffffff80400064d8:	91000318 	add	x24, x24, #0x0
-ffffff80400064dc:	531f7ab5 	lsl	w21, w21, #1
-ffffff80400064e0:	a90573fb 	stp	x27, x28, [sp, #80]
-ffffff80400064e4:	97ffe9c7 	bl	ffffff8040000c00 <acquire>
-ffffff80400064e8:	d2800002 	mov	x2, #0x0                   	// #0
-ffffff80400064ec:	91006324 	add	x4, x25, #0x18
-ffffff80400064f0:	910183fb 	add	x27, sp, #0x60
-ffffff80400064f4:	2a0203fc 	mov	w28, w2
-ffffff80400064f8:	d2800003 	mov	x3, #0x0                   	// #0
-ffffff80400064fc:	38636881 	ldrb	w1, [x4, x3]
-ffffff8040006500:	2a0303e0 	mov	w0, w3
-ffffff8040006504:	34000121 	cbz	w1, ffffff8040006528 <virtio_disk_rw+0x88>
-ffffff8040006508:	8b23c301 	add	x1, x24, w3, sxtw
-ffffff804000650c:	91400821 	add	x1, x1, #0x2, lsl #12
-ffffff8040006510:	3900603f 	strb	wzr, [x1, #24]
-ffffff8040006514:	3100041f 	cmn	w0, #0x1
-ffffff8040006518:	b8227b60 	str	w0, [x27, x2, lsl #2]
-ffffff804000651c:	54000221 	b.ne	ffffff8040006560 <virtio_disk_rw+0xc0>  // b.any
-ffffff8040006520:	d2800017 	mov	x23, #0x0                   	// #0
-ffffff8040006524:	14000009 	b	ffffff8040006548 <virtio_disk_rw+0xa8>
-ffffff8040006528:	91000463 	add	x3, x3, #0x1
-ffffff804000652c:	f100207f 	cmp	x3, #0x8
-ffffff8040006530:	54fffe61 	b.ne	ffffff80400064fc <virtio_disk_rw+0x5c>  // b.any
-ffffff8040006534:	12800000 	mov	w0, #0xffffffff            	// #-1
-ffffff8040006538:	17fffff7 	b	ffffff8040006514 <virtio_disk_rw+0x74>
-ffffff804000653c:	b8777b60 	ldr	w0, [x27, x23, lsl #2]
-ffffff8040006540:	910006f7 	add	x23, x23, #0x1
-ffffff8040006544:	97ffff56 	bl	ffffff804000629c <free_desc>
-ffffff8040006548:	6b17039f 	cmp	w28, w23
-ffffff804000654c:	54ffff8c 	b.gt	ffffff804000653c <virtio_disk_rw+0x9c>
-ffffff8040006550:	9104a261 	add	x1, x19, #0x128
-ffffff8040006554:	aa1a03e0 	mov	x0, x26
-ffffff8040006558:	97ffeecc 	bl	ffffff8040002088 <sleep>
-ffffff804000655c:	17ffffe3 	b	ffffff80400064e8 <virtio_disk_rw+0x48>
-ffffff8040006560:	91000442 	add	x2, x2, #0x1
-ffffff8040006564:	f1000c5f 	cmp	x2, #0x3
-ffffff8040006568:	54fffc61 	b.ne	ffffff80400064f4 <virtio_disk_rw+0x54>  // b.any
-ffffff804000656c:	b94063e7 	ldr	w7, [sp, #96]
-ffffff8040006570:	d0000100 	adrp	x0, ffffff8040028000 <disk>
-ffffff8040006574:	91000000 	add	x0, x0, #0x0
-ffffff8040006578:	710002df 	cmp	w22, #0x0
-ffffff804000657c:	1a9f07e1 	cset	w1, ne  // ne = any
-ffffff8040006580:	d2c01006 	mov	x6, #0x8000000000          	// #549755813888
-ffffff8040006584:	f9500004 	ldr	x4, [x0, #8192]
-ffffff8040006588:	93407ce2 	sxtw	x2, w7
-ffffff804000658c:	91080042 	add	x2, x2, #0x200
-ffffff8040006590:	d37cec43 	lsl	x3, x2, #4
-ffffff8040006594:	8b021002 	add	x2, x0, x2, lsl #4
-ffffff8040006598:	d1400868 	sub	x8, x3, #0x2, lsl #12
-ffffff804000659c:	8b080085 	add	x5, x4, x8
-ffffff80400065a0:	29157c41 	stp	w1, wzr, [x2, #168]
-ffffff80400065a4:	9102a061 	add	x1, x3, #0xa8
-ffffff80400065a8:	9100c063 	add	x3, x3, #0x30
-ffffff80400065ac:	8b000021 	add	x1, x1, x0
-ffffff80400065b0:	f9005855 	str	x21, [x2, #176]
-ffffff80400065b4:	8b000063 	add	x3, x3, x0
-ffffff80400065b8:	8b060021 	add	x1, x1, x6
-ffffff80400065bc:	8b060063 	add	x3, x3, x6
-ffffff80400065c0:	f8286881 	str	x1, [x4, x8]
-ffffff80400065c4:	52800201 	mov	w1, #0x10                  	// #16
-ffffff80400065c8:	b90008a1 	str	w1, [x5, #8]
-ffffff80400065cc:	52800021 	mov	w1, #0x1                   	// #1
-ffffff80400065d0:	790018a1 	strh	w1, [x5, #12]
-ffffff80400065d4:	b94067e1 	ldr	w1, [sp, #100]
-ffffff80400065d8:	79001ca1 	strh	w1, [x5, #14]
-ffffff80400065dc:	91016285 	add	x5, x20, #0x58
-ffffff80400065e0:	937c7c28 	sbfiz	x8, x1, #4, #32
-ffffff80400065e4:	8b0600a5 	add	x5, x5, x6
-ffffff80400065e8:	8b21d081 	add	x1, x4, w1, sxtw #4
-ffffff80400065ec:	f8286885 	str	x5, [x4, x8]
-ffffff80400065f0:	52808005 	mov	w5, #0x400                 	// #1024
-ffffff80400065f4:	b9000825 	str	w5, [x1, #8]
-ffffff80400065f8:	1a9f17e5 	cset	w5, eq  // eq = none
-ffffff80400065fc:	531f38a5 	ubfiz	w5, w5, #1, #15
-ffffff8040006600:	320000a5 	orr	w5, w5, #0x1
-ffffff8040006604:	79001825 	strh	w5, [x1, #12]
-ffffff8040006608:	b9406be5 	ldr	w5, [sp, #104]
-ffffff804000660c:	79001c25 	strh	w5, [x1, #14]
-ffffff8040006610:	12800001 	mov	w1, #0xffffffff            	// #-1
-ffffff8040006614:	3900c041 	strb	w1, [x2, #48]
-ffffff8040006618:	937c7ca1 	sbfiz	x1, x5, #4, #32
-ffffff804000661c:	8b25d085 	add	x5, x4, w5, sxtw #4
-ffffff8040006620:	f8216883 	str	x3, [x4, x1]
-ffffff8040006624:	d2800021 	mov	x1, #0x1                   	// #1
-ffffff8040006628:	f2c00041 	movk	x1, #0x2, lsl #32
-ffffff804000662c:	f90004a1 	str	x1, [x5, #8]
-ffffff8040006630:	52800021 	mov	w1, #0x1                   	// #1
-ffffff8040006634:	b9000681 	str	w1, [x20, #4]
-ffffff8040006638:	f9500401 	ldr	x1, [x0, #8200]
-ffffff804000663c:	f9001454 	str	x20, [x2, #40]
-ffffff8040006640:	79400422 	ldrh	w2, [x1, #2]
-ffffff8040006644:	d37f0842 	ubfiz	x2, x2, #1, #3
-ffffff8040006648:	8b020021 	add	x1, x1, x2
-ffffff804000664c:	79000827 	strh	w7, [x1, #4]
-ffffff8040006650:	d5033bbf 	dmb	ish
-ffffff8040006654:	f9500401 	ldr	x1, [x0, #8200]
-ffffff8040006658:	79400420 	ldrh	w0, [x1, #2]
-ffffff804000665c:	11000400 	add	w0, w0, #0x1
-ffffff8040006660:	79000420 	strh	w0, [x1, #2]
-ffffff8040006664:	d5033bbf 	dmb	ish
-ffffff8040006668:	929ff5e0 	mov	x0, #0xffffffffffff0050    	// #-65456
-ffffff804000666c:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff8040006670:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff8040006674:	9104a275 	add	x21, x19, #0x128
-ffffff8040006678:	b900001f 	str	wzr, [x0]
-ffffff804000667c:	14000004 	b	ffffff804000668c <virtio_disk_rw+0x1ec>
-ffffff8040006680:	aa1503e1 	mov	x1, x21
-ffffff8040006684:	aa1403e0 	mov	x0, x20
-ffffff8040006688:	97ffee80 	bl	ffffff8040002088 <sleep>
-ffffff804000668c:	b9400680 	ldr	w0, [x20, #4]
-ffffff8040006690:	7100041f 	cmp	w0, #0x1
-ffffff8040006694:	54ffff60 	b.eq	ffffff8040006680 <virtio_disk_rw+0x1e0>  // b.none
-ffffff8040006698:	b94063f4 	ldr	w20, [sp, #96]
-ffffff804000669c:	d0000115 	adrp	x21, ffffff8040028000 <disk>
-ffffff80400066a0:	910002b5 	add	x21, x21, #0x0
-ffffff80400066a4:	8b34d2a0 	add	x0, x21, w20, sxtw #4
-ffffff80400066a8:	f910141f 	str	xzr, [x0, #8232]
-ffffff80400066ac:	2a1403e0 	mov	w0, w20
-ffffff80400066b0:	f95002a1 	ldr	x1, [x21, #8192]
-ffffff80400066b4:	8b34d021 	add	x1, x1, w20, sxtw #4
-ffffff80400066b8:	79401836 	ldrh	w22, [x1, #12]
-ffffff80400066bc:	79401c34 	ldrh	w20, [x1, #14]
-ffffff80400066c0:	97fffef7 	bl	ffffff804000629c <free_desc>
-ffffff80400066c4:	3707ff56 	tbnz	w22, #0, ffffff80400066ac <virtio_disk_rw+0x20c>
-ffffff80400066c8:	9104a260 	add	x0, x19, #0x128
-ffffff80400066cc:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff80400066d0:	a9425bf5 	ldp	x21, x22, [sp, #32]
-ffffff80400066d4:	a94363f7 	ldp	x23, x24, [sp, #48]
-ffffff80400066d8:	a9446bf9 	ldp	x25, x26, [sp, #64]
-ffffff80400066dc:	a94573fb 	ldp	x27, x28, [sp, #80]
-ffffff80400066e0:	a8c77bfd 	ldp	x29, x30, [sp], #112
-ffffff80400066e4:	17ffe972 	b	ffffff8040000cac <release>
-
-ffffff80400066e8 <virtio_disk_intr>:
-ffffff80400066e8:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
-ffffff80400066ec:	910003fd 	mov	x29, sp
-ffffff80400066f0:	f90013f5 	str	x21, [sp, #32]
-ffffff80400066f4:	90000135 	adrp	x21, ffffff804002a000 <disk+0x2000>
-ffffff80400066f8:	9104a2a0 	add	x0, x21, #0x128
-ffffff80400066fc:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff8040006700:	97ffe940 	bl	ffffff8040000c00 <acquire>
-ffffff8040006704:	929ff3e0 	mov	x0, #0xffffffffffff0060    	// #-65440
-ffffff8040006708:	f2a14000 	movk	x0, #0xa00, lsl #16
-ffffff804000670c:	f2dff000 	movk	x0, #0xff80, lsl #32
-ffffff8040006710:	929ff361 	mov	x1, #0xffffffffffff0064    	// #-65436
-ffffff8040006714:	f2a14001 	movk	x1, #0xa00, lsl #16
-ffffff8040006718:	b9400000 	ldr	w0, [x0]
-ffffff804000671c:	f2dff001 	movk	x1, #0xff80, lsl #32
-ffffff8040006720:	12000400 	and	w0, w0, #0x3
-ffffff8040006724:	b9000020 	str	w0, [x1]
-ffffff8040006728:	d5033bbf 	dmb	ish
-ffffff804000672c:	d0000113 	adrp	x19, ffffff8040028000 <disk>
-ffffff8040006730:	91000273 	add	x19, x19, #0x0
-ffffff8040006734:	91400a74 	add	x20, x19, #0x2, lsl #12
-ffffff8040006738:	f9500a60 	ldr	x0, [x19, #8208]
-ffffff804000673c:	79404281 	ldrh	w1, [x20, #32]
-ffffff8040006740:	79400400 	ldrh	w0, [x0, #2]
-ffffff8040006744:	6b00003f 	cmp	w1, w0
-ffffff8040006748:	540000c1 	b.ne	ffffff8040006760 <virtio_disk_intr+0x78>  // b.any
-ffffff804000674c:	9104a2a0 	add	x0, x21, #0x128
-ffffff8040006750:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040006754:	f94013f5 	ldr	x21, [sp, #32]
-ffffff8040006758:	a8c37bfd 	ldp	x29, x30, [sp], #48
-ffffff804000675c:	17ffe954 	b	ffffff8040000cac <release>
-ffffff8040006760:	d5033bbf 	dmb	ish
-ffffff8040006764:	79404281 	ldrh	w1, [x20, #32]
-ffffff8040006768:	f9500a60 	ldr	x0, [x19, #8208]
-ffffff804000676c:	d37d0821 	ubfiz	x1, x1, #3, #3
-ffffff8040006770:	8b010000 	add	x0, x0, x1
-ffffff8040006774:	b9800400 	ldrsw	x0, [x0, #4]
-ffffff8040006778:	91080000 	add	x0, x0, #0x200
-ffffff804000677c:	8b001260 	add	x0, x19, x0, lsl #4
-ffffff8040006780:	3940c001 	ldrb	w1, [x0, #48]
-ffffff8040006784:	34000081 	cbz	w1, ffffff8040006794 <virtio_disk_intr+0xac>
-ffffff8040006788:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff804000678c:	91198000 	add	x0, x0, #0x660
-ffffff8040006790:	97ffe75c 	bl	ffffff8040000500 <panic>
-ffffff8040006794:	f9401400 	ldr	x0, [x0, #40]
-ffffff8040006798:	b900041f 	str	wzr, [x0, #4]
-ffffff804000679c:	97ffee94 	bl	ffffff80400021ec <wakeup>
-ffffff80400067a0:	79404280 	ldrh	w0, [x20, #32]
-ffffff80400067a4:	11000400 	add	w0, w0, #0x1
-ffffff80400067a8:	79004280 	strh	w0, [x20, #32]
-ffffff80400067ac:	17ffffe3 	b	ffffff8040006738 <virtio_disk_intr+0x50>
-
-ffffff80400067b0 <gicv3init>:
-ffffff80400067b0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
-ffffff80400067b4:	910003fd 	mov	x29, sp
-ffffff80400067b8:	b25963e0 	mov	x0, #0xffffff8000000000    	// #-549755813888
-ffffff80400067bc:	f2a10000 	movk	x0, #0x800, lsl #16
-ffffff80400067c0:	b25963e2 	mov	x2, #0xffffff8000000000    	// #-549755813888
-ffffff80400067c4:	f2a10142 	movk	x2, #0x80a, lsl #16
-ffffff80400067c8:	a90153f3 	stp	x19, x20, [sp, #16]
-ffffff80400067cc:	b0000134 	adrp	x20, ffffff804002b000 <gicv3>
-ffffff80400067d0:	91000281 	add	x1, x20, #0x0
-ffffff80400067d4:	f9000280 	str	x0, [x20]
-ffffff80400067d8:	f9000422 	str	x2, [x1, #8]
-ffffff80400067dc:	b900001f 	str	wzr, [x0]
-ffffff80400067e0:	b9400413 	ldr	w19, [x0, #4]
-ffffff80400067e4:	b0000000 	adrp	x0, ffffff8040007000 <etext>
-ffffff80400067e8:	9119e000 	add	x0, x0, #0x678
-ffffff80400067ec:	12001273 	and	w19, w19, #0x1f
-ffffff80400067f0:	2a1303e1 	mov	w1, w19
-ffffff80400067f4:	97ffe755 	bl	ffffff8040000548 <printf>
-ffffff80400067f8:	f9400280 	ldr	x0, [x20]
-ffffff80400067fc:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040006800:	12800003 	mov	w3, #0xffffffff            	// #-1
-ffffff8040006804:	91020002 	add	x2, x0, #0x80
-ffffff8040006808:	6b13003f 	cmp	w1, w19
-ffffff804000680c:	540003c1 	b.ne	ffffff8040006884 <gicv3init+0xd4>  // b.any
-ffffff8040006810:	b9442001 	ldr	w1, [x0, #1056]
-ffffff8040006814:	a94153f3 	ldp	x19, x20, [sp, #16]
-ffffff8040006818:	12105c21 	and	w1, w1, #0xffff00ff
-ffffff804000681c:	b9042001 	str	w1, [x0, #1056]
-ffffff8040006820:	b9482001 	ldr	w1, [x0, #2080]
-ffffff8040006824:	12105c21 	and	w1, w1, #0xffff00ff
-ffffff8040006828:	32180021 	orr	w1, w1, #0x100
-ffffff804000682c:	b9082001 	str	w1, [x0, #2080]
-ffffff8040006830:	b9428401 	ldr	w1, [x0, #644]
-ffffff8040006834:	321f0021 	orr	w1, w1, #0x2
-ffffff8040006838:	b9028401 	str	w1, [x0, #644]
-ffffff804000683c:	b9410401 	ldr	w1, [x0, #260]
-ffffff8040006840:	321f0021 	orr	w1, w1, #0x2
-ffffff8040006844:	b9010401 	str	w1, [x0, #260]
-ffffff8040006848:	b9443001 	ldr	w1, [x0, #1072]
-ffffff804000684c:	12185c21 	and	w1, w1, #0xffffff00
-ffffff8040006850:	b9043001 	str	w1, [x0, #1072]
-ffffff8040006854:	b9483001 	ldr	w1, [x0, #2096]
-ffffff8040006858:	12185c21 	and	w1, w1, #0xffffff00
-ffffff804000685c:	32000021 	orr	w1, w1, #0x1
-ffffff8040006860:	b9083001 	str	w1, [x0, #2096]
-ffffff8040006864:	b9428401 	ldr	w1, [x0, #644]
-ffffff8040006868:	32100021 	orr	w1, w1, #0x10000
-ffffff804000686c:	b9028401 	str	w1, [x0, #644]
-ffffff8040006870:	b9410401 	ldr	w1, [x0, #260]
-ffffff8040006874:	32100021 	orr	w1, w1, #0x10000
-ffffff8040006878:	b9010401 	str	w1, [x0, #260]
-ffffff804000687c:	a8c27bfd 	ldp	x29, x30, [sp], #32
-ffffff8040006880:	d65f03c0 	ret
-ffffff8040006884:	11000421 	add	w1, w1, #0x1
-ffffff8040006888:	b8004443 	str	w3, [x2], #4
-ffffff804000688c:	17ffffdf 	b	ffffff8040006808 <gicv3init+0x58>
-
-ffffff8040006890 <gicv3inithart>:
-ffffff8040006890:	d53800a0 	mrs	x0, mpidr_el1
-ffffff8040006894:	52800001 	mov	w1, #0x0                   	// #0
-ffffff8040006898:	d518cce1 	msr	icc_igrpen1_el1, x1
-ffffff804000689c:	52801fe1 	mov	w1, #0xff                  	// #255
-ffffff80400068a0:	d5184601 	msr	icc_pmr_el1, x1
-ffffff80400068a4:	b0000123 	adrp	x3, ffffff804002b000 <gicv3>
-ffffff80400068a8:	91000061 	add	x1, x3, #0x0
-ffffff80400068ac:	8b200c20 	add	x0, x1, w0, uxtb #3
-ffffff80400068b0:	f9400401 	ldr	x1, [x0, #8]
-ffffff80400068b4:	b900003f 	str	wzr, [x1]
-ffffff80400068b8:	d538cca0 	mrs	x0, icc_sre_el1
-ffffff80400068bc:	32000000 	orr	w0, w0, #0x1
-ffffff80400068c0:	d518cca0 	msr	icc_sre_el1, x0
-ffffff80400068c4:	12800002 	mov	w2, #0xffffffff            	// #-1
-ffffff80400068c8:	91404020 	add	x0, x1, #0x10, lsl #12
-ffffff80400068cc:	b9008002 	str	w2, [x0, #128]
-ffffff80400068d0:	b90d001f 	str	wzr, [x0, #3328]
-ffffff80400068d4:	b9401422 	ldr	w2, [x1, #20]
-ffffff80400068d8:	121e7842 	and	w2, w2, #0xfffffffd
-ffffff80400068dc:	b9001422 	str	w2, [x1, #20]
-ffffff80400068e0:	b9401422 	ldr	w2, [x1, #20]
-ffffff80400068e4:	3717ffe2 	tbnz	w2, #2, ffffff80400068e0 <gicv3inithart+0x50>
-ffffff80400068e8:	b9441801 	ldr	w1, [x0, #1048]
-ffffff80400068ec:	12005c21 	and	w1, w1, #0xffffff
-ffffff80400068f0:	b9041801 	str	w1, [x0, #1048]
-ffffff80400068f4:	b9428001 	ldr	w1, [x0, #640]
-ffffff80400068f8:	32050021 	orr	w1, w1, #0x8000000
-ffffff80400068fc:	b9028001 	str	w1, [x0, #640]
-ffffff8040006900:	b9410001 	ldr	w1, [x0, #256]
-ffffff8040006904:	32050021 	orr	w1, w1, #0x8000000
-ffffff8040006908:	b9010001 	str	w1, [x0, #256]
-ffffff804000690c:	52800061 	mov	w1, #0x3                   	// #3
-ffffff8040006910:	f9400060 	ldr	x0, [x3]
-ffffff8040006914:	b9000001 	str	w1, [x0]
-ffffff8040006918:	52800020 	mov	w0, #0x1                   	// #1
-ffffff804000691c:	d518cce0 	msr	icc_igrpen1_el1, x0
-ffffff8040006920:	d65f03c0 	ret
-
-ffffff8040006924 <gic_iar_irq>:
-ffffff8040006924:	12002400 	and	w0, w0, #0x3ff
-ffffff8040006928:	d65f03c0 	ret
-
-ffffff804000692c <gic_iar>:
-ffffff804000692c:	d538cc00 	mrs	x0, icc_iar1_el1
-ffffff8040006930:	d65f03c0 	ret
-
-ffffff8040006934 <gic_eoi>:
-ffffff8040006934:	d518cc20 	msr	icc_eoir1_el1, x0
-ffffff8040006938:	d65f03c0 	ret
-	...
--- a/xv6-aarch64/kernel/kernel.sym	Thu Jan 18 10:56:41 2024 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,280 +0,0 @@
-ffffff8040000000 .text
-ffffff8040007000 .rodata
-ffffff8040007688 .eh_frame
-ffffff80400092e0 .data
-ffffff804000a000 .bss
-0000000000000000 .debug_line
-0000000000000000 .debug_line_str
-0000000000000000 .debug_info
-0000000000000000 .debug_abbrev
-0000000000000000 .debug_aranges
-0000000000000000 .debug_str
-0000000000000000 .comment
-0000000000000000 entry.o
-ffffff8040000010 entry
-ffffff80400000dc entryothers
-ffffff804000004c l2epgt_loop
-ffffff80400000ac l2kpgt_loop
-ffffff8040000114 _start
-0000000000000000 start.c
-0000000000000000 console.c
-ffffff80400002e4 consputc.part.0
-0000000000000000 printf.c
-ffffff8040000478 printint.constprop.0
-ffffff8040007020 digits
-ffffff80400160a8 pr
-0000000000000000 uart.c
-0000000000000000 kalloc.c
-0000000000000000 spinlock.c
-0000000000000000 string.c
-0000000000000000 main.c
-ffffff8040016138 started
-0000000000000000 vm.c
-ffffff8040000f8c flush_tlb
-ffffff8040001090 uvmunmap.part.0
-0000000000000000 proc.c
-ffffff80400019a0 freeproc
-ffffff8040001c30 allocproc
-ffffff8040007248 states.0
-ffffff80400092e0 first.1
-0000000000000000 swtch.o
-0000000000000000 trap.c
-0000000000000000 syscall.c
-ffffff8040002844 argraw
-ffffff8040007340 syscalls
-0000000000000000 sysproc.c
-0000000000000000 bio.c
-0000000000000000 fs.c
-ffffff8040002f0c bfree
-ffffff8040002f78 balloc
-ffffff8040003078 iget
-ffffff8040003144 bmap
-ffffff8040003a10 namex
-0000000000000000 log.c
-ffffff8040003c50 write_head
-ffffff8040003cb8 install_trans
-0000000000000000 sleeplock.c
-0000000000000000 file.c
-0000000000000000 pipe.c
-0000000000000000 exec.c
-0000000000000000 sysfile.c
-ffffff8040004bf8 fdalloc
-ffffff8040004c4c create
-ffffff8040004da8 argfd.constprop.0
-0000000000000000 trapasm.o
-ffffff8040005f84 el1sync
-ffffff8040006034 el1irq
-ffffff80400060e4 el0sync
-ffffff8040006198 el0irq
-ffffff80400061f4 trapret
-0000000000000000 timer.c
-0000000000000000 virtio_disk.c
-ffffff804000629c free_desc
-ffffff8040028000 disk
-0000000000000000 gicv3.c
-ffffff804002b000 gicv3
-ffffff80400011a8 mappages
-ffffff80400018d0 copyinstr
-ffffff80400001e8 consoleread
-ffffff8040000e14 safestrcpy
-ffffff8040004f10 sys_close
-ffffff8040002054 yield
-ffffff8040026128 log
-ffffff8040016118 kmem
-ffffff80400007c4 uartinit
-ffffff8040002408 either_copyout
-ffffff8040006254 timerinit
-ffffff8040016580 proc
-ffffff8040004390 fileread
-ffffff8040000548 printf
-ffffff8040002b00 sys_sbrk
-ffffff80400160c8 panicked
-ffffff80400160f8 uart_tx_buf
-ffffff8040001f84 sched
-ffffff8040000d3c memmove
-ffffff80400029f8 syscall
-ffffff8040003830 writei
-ffffff8040002ab4 sys_fork
-ffffff804001bfa0 bcache
-ffffff80400053b4 sys_mkdir
-ffffff80400013b4 uvmunmap
-ffffff804000394c namecmp
-ffffff8040000b48 __aarch64_swp4_acq
-ffffff8040002264 reparent
-ffffff80400029cc argstr
-ffffff80400014d0 uvmdealloc
-ffffff80400041dc filedup
-ffffff8040003c28 namei
-ffffff8040002c50 binit
-ffffff804000177c uvmclear
-ffffff8040004e60 sys_read
-ffffff8040003208 fsinit
-ffffff8040000d98 memcpy
-ffffff8040001278 kvmmap
-ffffff804000086c uartstart
-ffffff80400009f8 kfree
-ffffff8040001b50 mycpu
-ffffff8040003634 iput
-ffffff80400012a8 kvmmake
-ffffff8040002728 devintr
-ffffff80400092e4 nextpid
-ffffff804000a000 l2kpgt
-ffffff8040004160 fileinit
-ffffff8040000b6c initlock
-ffffff80400017b0 copyout
-ffffff8040002088 sleep
-ffffff804000c000 l2entrypgt
-ffffff80400036f4 stati
-ffffff8040016160 wait_lock
-ffffff8040002be0 sys_kill
-ffffff804000468c pipeclose
-ffffff8040004f54 sys_fstat
-ffffff8040000174 consolewrite
-ffffff8040003e5c end_op
-ffffff8040000a74 freerange
-ffffff8040000fa0 kvminithart
-ffffff804000152c uvmalloc
-ffffff8040001408 uvminit
-ffffff804000167c uvmcopy
-ffffff8040016578 initproc
-ffffff8040002808 kernelirq
-ffffff8040003544 iunlock
-ffffff804000e000 stack0
-ffffff8040002b48 sys_sleep
-ffffff804000013c psci_call
-ffffff8040004f98 sys_link
-ffffff8040001140 uva2ka
-ffffff8040004174 filealloc
-ffffff80400021ec wakeup
-ffffff804000630c virtio_disk_init
-ffffff8040001b6c myproc
-ffffff8040003430 idup
-ffffff80400160e8 uart_tx_r
-ffffff8040000fc0 walk
-ffffff804000525c sys_open
-ffffff80400160f0 uart_tx_w
-ffffff8040003720 readi
-ffffff8040000318 consoleintr
-ffffff8040000308 consputc
-ffffff8040006934 gic_eoi
-ffffff8040002380 kill
-ffffff804000d000 l1entrypgt
-ffffff8040001be8 allocpid
-ffffff80400032e4 ialloc
-ffffff804000099c uartintr
-ffffff8040001840 copyin
-ffffff80400025d0 trapinit
-ffffff8040001644 uvmfree
-ffffff804002b010 end
-ffffff8040003590 itrunc
-ffffff8040004488 filewrite
-ffffff804000297c argint
-ffffff80400048e8 exec
-ffffff8040007000 etext
-ffffff8040004eb8 sys_write
-ffffff8040000cac release
-ffffff8040002920 fetchstr
-ffffff80400020e4 wait
-ffffff804000624c usertrapret
-ffffff8040006890 gicv3inithart
-ffffff8040001ee8 scheduler
-ffffff8040003954 dirlookup
-ffffff8040003df4 begin_op
-ffffff8040004234 fileclose
-ffffff804002b010 bss_end
-ffffff80400025f4 usertrap
-ffffff8040000d9c strncmp
-ffffff804001bf80 tickslock
-ffffff80400046f0 pipewrite
-ffffff8040000dd4 strncpy
-ffffff80400261d0 ftable
-ffffff80400066e8 virtio_disk_intr
-ffffff8040004e10 sys_dup
-ffffff8040000500 panic
-0000000000004202 bss_size
-ffffff804000a000 bss_start
-ffffff8040001ba8 forkret
-ffffff8040000d04 memcmp
-ffffff8040002474 either_copyin
-ffffff8040001de8 fork
-ffffff80400026e8 clockintr
-ffffff8040016178 cpus
-ffffff80400040cc releasesleep
-ffffff8040000000 _entry
-ffffff8040000b78 holding
-ffffff8040024660 sb
-ffffff8040000c00 acquire
-ffffff8040003c44 nameiparent
-ffffff8040005800 alltraps
-ffffff80400092e8 initcode
-ffffff80400025e4 trapinithart
-ffffff80400033a4 iupdate
-ffffff8040000ce8 memset
-ffffff8040000e58 main
-ffffff80400014c4 switchkvm
-ffffff8040003f7c log_write
-ffffff8040004074 acquiresleep
-ffffff80400050b0 sys_unlink
-ffffff8040001398 kvminit
-ffffff8040000ab0 kinit1
-ffffff8040002ed0 bunpin
-ffffff80400029a4 argaddr
-ffffff8040002c14 sys_uptime
-ffffff8040000970 uartgetc
-ffffff80400027c4 userirq
-ffffff804000078c printfinit
-ffffff80400160d0 uart_tx_lock
-ffffff80400013d4 uvmcreate
-ffffff8040001d74 growproc
-ffffff8040004108 holdingsleep
-ffffff8040001cf0 userinit
-ffffff8040002ce4 bread
-ffffff80400047f0 piperead
-ffffff80400067b0 gicv3init
-ffffff804001bf98 ticks
-ffffff8040006298 timerintr
-ffffff8040000430 consoleinit
-ffffff80400024e0 procdump
-ffffff80400008ec uartputc
-ffffff8040002e04 brelse
-ffffff8040003474 ilock
-ffffff804000550c sys_exec
-ffffff8040002584 swtch
-ffffff80400036d0 iunlockput
-ffffff8040000bb0 push_off
-ffffff8040000c54 pop_off
-ffffff8040002dc8 bwrite
-ffffff804000081c uartputc_sync
-ffffff80400022c0 exit
-ffffff80400015e4 freewalk
-ffffff8040002acc sys_wait
-ffffff8040002a68 sys_exit
-ffffff8040003b54 dirlink
-ffffff8040004038 initsleeplock
-ffffff8040000170 start
-ffffff8040016140 kernel_pagetable
-ffffff80400064a0 virtio_disk_rw
-ffffff8040006924 gic_iar_irq
-ffffff8040000e3c strlen
-ffffff8040005608 sys_pipe
-ffffff8040003280 iinit
-ffffff8040003d64 initlog
-ffffff8040016000 cons
-ffffff8040000af0 kalloc
-ffffff80400028c0 fetchaddr
-ffffff8040027188 devsw
-ffffff8040002a9c sys_getpid
-ffffff80400045d4 pipealloc
-ffffff8040005484 sys_chdir
-ffffff80400019e8 proc_mapstacks
-ffffff804000692c gic_iar
-ffffff804000b000 l1kpgt
-ffffff804000268c kerneltrap
-ffffff8040002e94 bpin
-ffffff8040001a94 procinit
-ffffff8040024680 itable
-ffffff804000540c sys_mknod
-ffffff8040001484 switchuvm
-ffffff8040000aec kinit2
-ffffff8040004314 filestat
-ffffff8040016148 pid_lock
--- a/xv6-aarch64/kernel/spinlock.d	Thu Jan 18 10:56:41 2024 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-kernel/spinlock.o: kernel/spinlock.c kernel/types.h kernel/param.h \
- kernel/memlayout.h kernel/spinlock.h kernel/aarch64.h kernel/proc.h \
- kernel/defs.h /usr/lib/gcc-cross/aarch64-linux-gnu/11/include/stdint.h \
- /usr/lib/gcc-cross/aarch64-linux-gnu/11/include/stdint-gcc.h