	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pmap_enter_locked
_pmap_enter_locked:                     ## @pmap_enter_locked
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%r8d, %r13d
	movl	%ecx, %ebx
	movq	%rdx, %r15
	movl	%esi, %r14d
	movq	%rdi, %r12
	callq	_PMAP_ASSERT_LOCKED
	movq	_RA_WLOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_pvh_global_lock@GOTPCREL(%rip), %rdi
	callq	_rw_assert
	movq	_vector_page@GOTPCREL(%rip), %rax
	cmpl	%r14d, (%rax)
	jne	LBB0_2
## %bb.1:
	movq	_systempage@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	xorl	%r15d, %r15d
	jmp	LBB0_7
LBB0_2:
	movq	_VPO_UNMANAGED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	jne	LBB0_6
## %bb.3:
	movq	_PMAP_ENTER_QUICK_LOCKED@GOTPCREL(%rip), %rax
	testl	%r13d, (%rax)
	je	LBB0_4
## %bb.5:
	movl	32(%r15), %edi
	callq	_VM_OBJECT_ASSERT_LOCKED
	jmp	LBB0_6
LBB0_4:
	movq	%r15, %rdi
	callq	_VM_PAGE_OBJECT_BUSY_ASSERT
LBB0_6:
	movq	%r15, %rdi
	callq	_VM_PAGE_TO_PHYS
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
LBB0_7:
	movq	_VM_PROT_WRITE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_PVF_WRITE@GOTPCREL(%rip), %rax
	andl	%ebx, %ecx
	je	LBB0_9
## %bb.8:
	movl	(%rax), %ecx
LBB0_9:
	movl	%ecx, -52(%rbp)                 ## 4-byte Spill
	movq	_VM_PROT_EXECUTE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_PVF_EXEC@GOTPCREL(%rip), %rax
	andl	%ebx, %ecx
	je	LBB0_11
## %bb.10:
	movl	(%rax), %ecx
LBB0_11:
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	movq	_PMAP_ENTER_WIRED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_PVF_WIRED@GOTPCREL(%rip), %rax
	andl	%r13d, %ecx
	je	LBB0_13
## %bb.12:
	movl	(%rax), %ecx
LBB0_13:
	movl	%ecx, -92(%rbp)                 ## 4-byte Spill
	leaq	L_.str(%rip), %rdi
	movl	%r12d, %esi
	movl	%r14d, %edx
	movl	%r15d, %ecx
	movl	%ebx, -64(%rbp)                 ## 4-byte Spill
	movl	%ebx, %r8d
	movl	%r13d, %ebx
	movl	%r13d, %r9d
	callq	_printf
	movl	$1, %edi
	movl	%eax, %esi
	callq	_PDEBUG
	movq	_kernel_pmap@GOTPCREL(%rip), %rax
	cmpq	%r12, (%rax)
	je	LBB0_18
## %bb.14:
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_pmap_alloc_l2_bucket
	testq	%rax, %rax
	jne	LBB0_22
## %bb.15:
	movq	%r15, -88(%rbp)                 ## 8-byte Spill
	movq	%r12, %r15
	movq	_pvh_global_lock@GOTPCREL(%rip), %r13
	.p2align	4, 0x90
LBB0_16:                                ## =>This Inner Loop Header: Depth=1
	movq	_PMAP_ENTER_NOSLEEP@GOTPCREL(%rip), %rax
	testl	%ebx, (%rax)
	jne	LBB0_17
## %bb.20:                              ##   in Loop: Header=BB0_16 Depth=1
	movq	%r15, %r12
	movq	%r15, %rdi
	callq	_PMAP_UNLOCK
	movq	%r13, %rdi
	callq	_rw_wunlock
	xorl	%edi, %edi
	callq	_vm_wait
	movq	%r13, %rdi
	callq	_rw_wlock
	movq	%r15, %rdi
	callq	_PMAP_LOCK
	movq	%r15, %rdi
	movl	%r14d, %esi
	callq	_pmap_alloc_l2_bucket
	testq	%rax, %rax
	je	LBB0_16
## %bb.21:
	movq	%r15, %r12
	movq	-88(%rbp), %r15                 ## 8-byte Reload
	jmp	LBB0_22
LBB0_18:
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_pmap_get_l2_bucket
	testq	%rax, %rax
	jne	LBB0_22
## %bb.19:
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_pmap_grow_l2_bucket
LBB0_22:
	movl	-52(%rbp), %ecx                 ## 4-byte Reload
	orl	%ecx, -44(%rbp)                 ## 4-byte Folded Spill
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	movq	(%rax), %r13
	movl	%r14d, %edi
	callq	_l2pte_index
	movq	%rax, %rbx
	movl	(%r13,%rax,4), %edi
	testl	%edi, %edi
	movl	%edi, -52(%rbp)                 ## 4-byte Spill
	je	LBB0_23
## %bb.24:
	callq	_l2pte_pa
	movq	%r15, %rdi
	cmpq	-72(%rbp), %rax                 ## 8-byte Folded Reload
	je	LBB0_26
## %bb.25:
	movl	-52(%rbp), %edi                 ## 4-byte Reload
	callq	_l2pte_pa
	movq	%rax, %rdi
	callq	_PHYS_TO_VM_PAGE
	movq	%rax, %rdi
	jmp	LBB0_26
LBB0_23:
	xorl	%edi, %edi
LBB0_26:
	movl	-44(%rbp), %esi                 ## 4-byte Reload
	orl	-92(%rbp), %esi                 ## 4-byte Folded Reload
	testq	%r15, %r15
	movq	%r13, -112(%rbp)                ## 8-byte Spill
	movl	%r14d, -48(%rbp)                ## 4-byte Spill
	movq	%rbx, -104(%rbp)                ## 8-byte Spill
	je	LBB0_28
## %bb.27:
	movq	_VM_PROT_ALL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	-64(%rbp), %eax                 ## 4-byte Folded Reload
	jne	LBB0_28
## %bb.29:
	movq	_PVF_REF@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	testl	%r14d, 8(%r15)
	jne	LBB0_30
## %bb.40:
	movq	_L2_TYPE_INV@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	jmp	LBB0_41
LBB0_28:
	movq	_PVF_REF@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
LBB0_30:
	orl	%esi, %r14d
	movq	_L2_S_PROTO@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	testq	%r15, %r15
	je	LBB0_43
## %bb.31:
	movl	-64(%rbp), %eax                 ## 4-byte Reload
	movq	_VM_PROT_WRITE@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	movq	%r12, -80(%rbp)                 ## 8-byte Spill
	je	LBB0_35
## %bb.32:
	movq	_PVF_MOD@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	8(%r15), %eax
	jmp	LBB0_33
LBB0_43:
	orl	-72(%rbp), %ecx                 ## 4-byte Folded Reload
	movl	-64(%rbp), %eax                 ## 4-byte Reload
	movq	_VM_PROT_WRITE@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_44
## %bb.45:
	movq	_L2_S_PROT_W@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	jmp	LBB0_49
LBB0_35:
	movl	8(%r15), %eax
	movq	_PVF_MOD@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%eax, %ecx
	je	LBB0_36
LBB0_33:
	orl	%ecx, %r14d
	movq	%rdi, %r12
	testl	%ecx, %eax
	jne	LBB0_37
## %bb.34:
	movq	%r15, %rdi
	callq	_vm_page_dirty
	jmp	LBB0_37
LBB0_17:
	movq	_KERN_RESOURCE_SHORTAGE@GOTPCREL(%rip), %rax
	jmp	LBB0_103
LBB0_44:
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	jmp	LBB0_49
LBB0_36:
	movq	%rdi, %r12
LBB0_37:
	movl	-52(%rbp), %eax                 ## 4-byte Reload
	testl	%eax, %eax
	je	LBB0_39
## %bb.38:
	movq	_PGA_REFERENCED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_vm_page_aflag_set
LBB0_39:
	movl	%r14d, %esi
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	movq	%r12, %rdi
	movq	-80(%rbp), %r12                 ## 8-byte Reload
LBB0_41:
	orl	-72(%rbp), %ecx                 ## 4-byte Folded Reload
	movl	-64(%rbp), %eax                 ## 4-byte Reload
	movq	_VM_PROT_WRITE@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_42
## %bb.46:
	movq	_L2_S_PROT_W@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	_VPO_UNMANAGED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	je	LBB0_48
## %bb.47:
	movl	%esi, %r14d
	jmp	LBB0_49
LBB0_42:
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	movl	%esi, %r14d
	jmp	LBB0_49
LBB0_48:
	movq	_PGA_WRITEABLE@GOTPCREL(%rip), %rax
	movl	%esi, %r14d
	movl	(%rax), %esi
	movq	%rdi, %rbx
	movq	%r15, %rdi
	callq	_vm_page_aflag_set
	movq	%rbx, %rdi
LBB0_49:
	movq	16(%r15), %rax
	movq	_VM_MEMATTR_UNCACHEABLE@GOTPCREL(%rip), %rcx
	xorl	%r13d, %r13d
	cmpq	(%rcx), %rax
	je	LBB0_51
## %bb.50:
	movq	_pte_l2_s_cache_mode@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
LBB0_51:
	testq	%r15, %r15
	je	LBB0_61
## %bb.52:
	cmpq	%rdi, %r15
	jne	LBB0_61
## %bb.53:
	movq	_PVF_EXEC@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	_PVF_WRITE@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	_PVF_WIRED@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	_PVF_MOD@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	_PVF_REF@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	%r15, %rdi
	movq	%r12, %rsi
	movl	-48(%rbp), %edx                 ## 4-byte Reload
	movl	%r14d, %r8d
	callq	_pmap_modify_pv
	movl	%eax, %ebx
	movq	%r12, %rdi
	callq	_pmap_is_current
	testq	%rax, %rax
	movl	%ebx, -72(%rbp)                 ## 4-byte Spill
	je	LBB0_54
## %bb.55:
	movq	_PVF_NC@GOTPCREL(%rip), %rax
	testl	%ebx, (%rax)
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	je	LBB0_57
## %bb.56:
	movq	_kernel_pmap@GOTPCREL(%rip), %rax
	jmp	LBB0_88
LBB0_61:
	testq	%rdi, %rdi
	je	LBB0_73
## %bb.62:
	movq	%r12, %rsi
	movl	-48(%rbp), %edx                 ## 4-byte Reload
	callq	_pmap_remove_pv
	testq	%rax, %rax
	je	LBB0_73
## %bb.63:
	movq	%rax, %rcx
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	(%rax), %ebx
	movq	_PVF_NC@GOTPCREL(%rip), %rax
	testl	%ebx, (%rax)
	je	LBB0_64
LBB0_69:
	movq	_VPO_UNMANAGED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	je	LBB0_79
## %bb.70:
	cmpl	$0, 24(%r15)
	jne	LBB0_79
## %bb.71:
	leaq	28(%r15), %rdi
	callq	_TAILQ_EMPTY
	testq	%rax, %rax
	je	LBB0_79
## %bb.72:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_pmap_free_pv_entry
	xorl	%eax, %eax
	jmp	LBB0_78
LBB0_73:
	movq	_VPO_UNMANAGED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	je	LBB0_77
## %bb.74:
	cmpl	$0, 24(%r15)
	je	LBB0_75
LBB0_77:
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_pmap_get_pv_entry
LBB0_78:
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
LBB0_79:
	movq	_VPO_UNMANAGED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r15)
	movl	%ebx, -72(%rbp)                 ## 4-byte Spill
	je	LBB0_84
## %bb.80:
	leaq	28(%r15), %rdi
	callq	_TAILQ_EMPTY
	testq	%rax, %rax
	je	LBB0_82
## %bb.81:
	cmpl	$0, 24(%r15)
	je	LBB0_83
LBB0_82:
	xorl	%edi, %edi
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	testq	%rbx, %rbx
	setne	%dil
	leaq	L_.str.1(%rip), %rsi
	callq	_KASSERT
	movq	_PVF_UNMAN@GOTPCREL(%rip), %rax
	orl	(%rax), %r14d
	movq	%r15, %rdi
	movq	%rbx, %rsi
	movq	%r12, %rdx
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	jmp	LBB0_85
LBB0_54:
	movq	_kernel_pmap@GOTPCREL(%rip), %rax
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	jmp	LBB0_87
LBB0_84:
	movq	_kmi@GOTPCREL(%rip), %rax
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	cmpl	%ebx, (%rax)
	setg	%cl
	cmpl	%ebx, 4(%rax)
	setle	%al
	orb	%cl, %al
	movzbl	%al, %edi
	leaq	L_.str.2(%rip), %rsi
	callq	_KASSERT
	xorl	%edi, %edi
	movq	%r12, -80(%rbp)                 ## 8-byte Spill
	movq	-64(%rbp), %r12                 ## 8-byte Reload
	testq	%r12, %r12
	setne	%dil
	leaq	L_.str.1(%rip), %rsi
	callq	_KASSERT
	movq	%r15, %rdi
	movq	%r12, %rsi
	movq	-80(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rdx
LBB0_85:
	movl	%ebx, %ecx
	movl	%r14d, %r8d
	callq	_pmap_enter_pv
LBB0_86:
	movq	_kernel_pmap@GOTPCREL(%rip), %rax
LBB0_87:
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
LBB0_88:
	orl	%ecx, %r13d
	movq	(%rax), %rcx
	xorl	%eax, %eax
	movl	$0, %edx
	movq	_vector_page@GOTPCREL(%rip), %rsi
	cmpl	%ebx, (%rsi)
	je	LBB0_90
## %bb.89:
	movq	_L2_S_PROT_U@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
LBB0_90:
	cmpq	%r12, %rcx
	cmovel	%eax, %edx
	orl	%edx, %r13d
	movl	-52(%rbp), %ecx                 ## 4-byte Reload
	testl	%ecx, %ecx
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	jne	LBB0_92
## %bb.91:
	incl	12(%rax)
	incl	16(%r12)
LBB0_92:
	movq	_KERN_SUCCESS@GOTPCREL(%rip), %rax
	cmpl	%ecx, %r13d
	je	LBB0_103
## %bb.93:
	movq	%r12, %rdi
	movl	%ebx, %r12d
	movq	-112(%rbp), %rax                ## 8-byte Reload
	movq	-104(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rax,%rcx,4), %rbx
	movq	%rdi, %r14
	callq	_pmap_is_current
	movl	%r13d, (%rbx)
	testq	%rax, %rax
	je	LBB0_98
## %bb.94:
	movq	%rbx, %rdi
	callq	_PTE_SYNC
	movl	%r12d, %edi
	callq	_L1_IDX
	movq	%rax, %rbx
	movq	_vector_page@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_L1_IDX
	cmpq	%rax, %rbx
	je	LBB0_98
## %bb.95:
	movl	%r13d, %edi
	callq	_l2pte_valid
	testq	%rax, %rax
	je	LBB0_98
## %bb.96:
	movq	%r14, %r13
	movq	8(%r14), %rax
	movq	(%rax), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	%r12d, %edi
	callq	_L1_IDX
	movq	%rax, %rbx
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	movl	8(%rax), %eax
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movl	(%r14), %edi
	callq	_L1_C_DOM
	orl	-44(%rbp), %eax                 ## 4-byte Folded Reload
	movq	_L1_C_PROTO@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	cmpl	%eax, (%rcx,%rbx,4)
	je	LBB0_98
## %bb.97:
	leaq	(%rcx,%rbx,4), %rdi
	movl	%eax, (%rdi)
	callq	_PTE_SYNC
LBB0_98:
	movl	-72(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	callq	_PV_BEEN_EXECD
	testq	%rax, %rax
	je	LBB0_100
## %bb.99:
	movq	%r14, %rbx
	movq	%r14, %rdi
	movl	%r12d, %esi
	callq	_pmap_tlb_flushID_SE
	jmp	LBB0_102
LBB0_100:
	movl	%ebx, %edi
	callq	_PV_BEEN_REFD
	testq	%rax, %rax
	movq	%r14, %rbx
	je	LBB0_102
## %bb.101:
	movq	%rbx, %rdi
	movl	%r12d, %esi
	callq	_pmap_tlb_flushD_SE
LBB0_102:
	movq	%r15, %rdi
	movq	%rbx, %rsi
	movl	%r12d, %edx
	callq	_pmap_fix_cache
	movq	_KERN_SUCCESS@GOTPCREL(%rip), %rax
LBB0_103:
	movl	(%rax), %eax
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_57:
	movq	_L2_S_PROT_W@GOTPCREL(%rip), %rax
	movl	-52(%rbp), %ecx                 ## 4-byte Reload
	testl	%ecx, (%rax)
	je	LBB0_86
## %bb.58:
	movl	-64(%rbp), %eax                 ## 4-byte Reload
	movq	_VM_PROT_WRITE@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	jne	LBB0_86
## %bb.59:
	movq	_L2_TYPE_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%ecx, %eax
	movq	_L2_TYPE_INV@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_86
## %bb.60:
	movq	_PAGE_SIZE@GOTPCREL(%rip), %r14
	movl	(%r14), %esi
	movl	%ebx, %edi
	callq	_cpu_dcache_wb_range
	movl	(%r14), %esi
	movl	%ebx, %edi
	callq	_cpu_l2cache_wb_range
	jmp	LBB0_86
LBB0_64:
	movl	-52(%rbp), %edi                 ## 4-byte Reload
	callq	_l2pte_valid
	testq	%rax, %rax
	je	LBB0_69
## %bb.65:
	movl	%ebx, %edi
	callq	_PV_BEEN_EXECD
	testq	%rax, %rax
	je	LBB0_67
## %bb.66:
	movq	_PAGE_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	callq	_pmap_idcache_wbinv_range
	jmp	LBB0_69
LBB0_83:
	movl	-48(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, 24(%r15)
	jmp	LBB0_86
LBB0_75:
	leaq	28(%r15), %rdi
	callq	_TAILQ_EMPTY
	testq	%rax, %rax
	je	LBB0_77
## %bb.76:
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	xorl	%ebx, %ebx
	jmp	LBB0_79
LBB0_67:
	movl	%ebx, %edi
	callq	_PV_BEEN_REFD
	testq	%rax, %rax
	je	LBB0_69
## %bb.68:
	movq	_PAGE_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_TRUE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	xorl	%r8d, %r8d
	movq	_PVF_WRITE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%ebx, %eax
	sete	%r8b
	movq	%r12, %rdi
	movl	-48(%rbp), %esi                 ## 4-byte Reload
	callq	_pmap_dcache_wb_range
	jmp	LBB0_69
	.cfi_endproc
                                        ## -- End function
	.comm	_pvh_global_lock,4,2            ## @pvh_global_lock
	.comm	_RA_WLOCKED,4,2                 ## @RA_WLOCKED
	.comm	_vector_page,4,2                ## @vector_page
	.comm	_systempage,8,3                 ## @systempage
	.comm	_VPO_UNMANAGED,4,2              ## @VPO_UNMANAGED
	.comm	_PMAP_ENTER_QUICK_LOCKED,4,2    ## @PMAP_ENTER_QUICK_LOCKED
	.comm	_VM_PROT_WRITE,4,2              ## @VM_PROT_WRITE
	.comm	_PVF_WRITE,4,2                  ## @PVF_WRITE
	.comm	_VM_PROT_EXECUTE,4,2            ## @VM_PROT_EXECUTE
	.comm	_PVF_EXEC,4,2                   ## @PVF_EXEC
	.comm	_PMAP_ENTER_WIRED,4,2           ## @PMAP_ENTER_WIRED
	.comm	_PVF_WIRED,4,2                  ## @PVF_WIRED
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"pmap_enter: pmap = %08x, va = %08x, m = %08x, prot = %x, flags = %x\n"

	.comm	_kernel_pmap,8,3                ## @kernel_pmap
	.comm	_PMAP_ENTER_NOSLEEP,4,2         ## @PMAP_ENTER_NOSLEEP
	.comm	_KERN_RESOURCE_SHORTAGE,4,2     ## @KERN_RESOURCE_SHORTAGE
	.comm	_VM_PROT_ALL,4,2                ## @VM_PROT_ALL
	.comm	_PVF_REF,4,2                    ## @PVF_REF
	.comm	_L2_S_PROTO,4,2                 ## @L2_S_PROTO
	.comm	_PVF_MOD,4,2                    ## @PVF_MOD
	.comm	_PGA_REFERENCED,4,2             ## @PGA_REFERENCED
	.comm	_L2_TYPE_INV,4,2                ## @L2_TYPE_INV
	.comm	_L2_S_PROT_W,4,2                ## @L2_S_PROT_W
	.comm	_PGA_WRITEABLE,4,2              ## @PGA_WRITEABLE
	.comm	_VM_MEMATTR_UNCACHEABLE,8,3     ## @VM_MEMATTR_UNCACHEABLE
	.comm	_pte_l2_s_cache_mode,4,2        ## @pte_l2_s_cache_mode
	.comm	_PVF_NC,4,2                     ## @PVF_NC
	.comm	_L2_TYPE_MASK,4,2               ## @L2_TYPE_MASK
	.comm	_PAGE_SIZE,4,2                  ## @PAGE_SIZE
	.comm	_TRUE,4,2                       ## @TRUE
L_.str.1:                               ## @.str.1
	.asciz	"No pv"

	.comm	_PVF_UNMAN,4,2                  ## @PVF_UNMAN
	.comm	_kmi,8,2                        ## @kmi
L_.str.2:                               ## @.str.2
	.asciz	"pmap_enter: managed mapping within the clean submap"

	.comm	_L2_S_PROT_U,4,2                ## @L2_S_PROT_U
	.comm	_L1_C_PROTO,4,2                 ## @L1_C_PROTO
	.comm	_KERN_SUCCESS,4,2               ## @KERN_SUCCESS
	.no_dead_strip	_pmap_enter_locked
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pmap_enter_locked
_pmap_enter_locked:                     ; @pmap_enter_locked
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x23, x4
	mov	x22, x3
	mov	x20, x2
	mov	x19, x1
	mov	x21, x0
	bl	_PMAP_ASSERT_LOCKED
Lloh0:
	adrp	x8, _RA_WLOCKED@GOTPAGE
Lloh1:
	ldr	x8, [x8, _RA_WLOCKED@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
Lloh3:
	adrp	x0, _pvh_global_lock@GOTPAGE
Lloh4:
	ldr	x0, [x0, _pvh_global_lock@GOTPAGEOFF]
	bl	_rw_assert
Lloh5:
	adrp	x8, _vector_page@GOTPAGE
Lloh6:
	ldr	x8, [x8, _vector_page@GOTPAGEOFF]
Lloh7:
	ldr	w8, [x8]
	cmp	w8, w19
	b.ne	LBB0_2
; %bb.1:
	mov	x20, #0
Lloh8:
	adrp	x8, _systempage@GOTPAGE
Lloh9:
	ldr	x8, [x8, _systempage@GOTPAGEOFF]
Lloh10:
	ldr	x26, [x8]
	b	LBB0_7
LBB0_2:
	ldr	w8, [x20]
Lloh11:
	adrp	x9, _VPO_UNMANAGED@GOTPAGE
Lloh12:
	ldr	x9, [x9, _VPO_UNMANAGED@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_6
; %bb.3:
Lloh14:
	adrp	x8, _PMAP_ENTER_QUICK_LOCKED@GOTPAGE
Lloh15:
	ldr	x8, [x8, _PMAP_ENTER_QUICK_LOCKED@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
	tst	w8, w23
	b.eq	LBB0_5
; %bb.4:
	ldr	w0, [x20, #32]
	bl	_VM_OBJECT_ASSERT_LOCKED
	b	LBB0_6
LBB0_5:
	mov	x0, x20
	bl	_VM_PAGE_OBJECT_BUSY_ASSERT
LBB0_6:
	mov	x0, x20
	bl	_VM_PAGE_TO_PHYS
	mov	x26, x0
LBB0_7:
Lloh17:
	adrp	x8, _VM_PROT_WRITE@GOTPAGE
Lloh18:
	ldr	x8, [x8, _VM_PROT_WRITE@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
Lloh20:
	adrp	x9, _PVF_WRITE@GOTPAGE
Lloh21:
	ldr	x9, [x9, _PVF_WRITE@GOTPAGEOFF]
Lloh22:
	ldr	w9, [x9]
	tst	w8, w22
	csel	w28, wzr, w9, eq
Lloh23:
	adrp	x8, _VM_PROT_EXECUTE@GOTPAGE
Lloh24:
	ldr	x8, [x8, _VM_PROT_EXECUTE@GOTPAGEOFF]
Lloh25:
	adrp	x9, _PVF_EXEC@GOTPAGE
Lloh26:
	ldr	x9, [x9, _PVF_EXEC@GOTPAGEOFF]
Lloh27:
	ldr	w8, [x8]
Lloh28:
	ldr	w9, [x9]
	tst	w8, w22
	csel	w27, wzr, w9, eq
Lloh29:
	adrp	x8, _PMAP_ENTER_WIRED@GOTPAGE
Lloh30:
	ldr	x8, [x8, _PMAP_ENTER_WIRED@GOTPAGEOFF]
Lloh31:
	ldr	w8, [x8]
Lloh32:
	adrp	x9, _PVF_WIRED@GOTPAGE
Lloh33:
	ldr	x9, [x9, _PVF_WIRED@GOTPAGEOFF]
Lloh34:
	ldr	w9, [x9]
	tst	w8, w23
	csel	w8, wzr, w9, eq
	stp	w8, w22, [sp, #16]              ; 8-byte Folded Spill
Lloh35:
	adrp	x0, l_.str@PAGE
Lloh36:
	add	x0, x0, l_.str@PAGEOFF
	mov	x1, x21
	mov	x2, x19
	mov	x3, x20
	mov	x4, x22
	mov	x5, x23
	bl	_printf
	mov	x1, x0
	mov	w0, #1
	bl	_PDEBUG
Lloh37:
	adrp	x25, _kernel_pmap@GOTPAGE
Lloh38:
	ldr	x25, [x25, _kernel_pmap@GOTPAGEOFF]
	ldr	x8, [x25]
	cmp	x8, x21
	str	x26, [sp, #24]                  ; 8-byte Folded Spill
	mov	x0, x21
	mov	x1, x19
	b.eq	LBB0_13
; %bb.8:
	bl	_pmap_alloc_l2_bucket
	mov	x22, x0
	cbnz	x0, LBB0_15
; %bb.9:
Lloh39:
	adrp	x25, _PMAP_ENTER_NOSLEEP@GOTPAGE
Lloh40:
	ldr	x25, [x25, _PMAP_ENTER_NOSLEEP@GOTPAGEOFF]
Lloh41:
	adrp	x26, _KERN_RESOURCE_SHORTAGE@GOTPAGE
Lloh42:
	ldr	x26, [x26, _KERN_RESOURCE_SHORTAGE@GOTPAGEOFF]
Lloh43:
	adrp	x24, _pvh_global_lock@GOTPAGE
Lloh44:
	ldr	x24, [x24, _pvh_global_lock@GOTPAGEOFF]
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldr	w8, [x25]
	tst	w8, w23
	b.ne	LBB0_78
; %bb.11:                               ;   in Loop: Header=BB0_10 Depth=1
	mov	x0, x21
	bl	_PMAP_UNLOCK
	mov	x0, x24
	bl	_rw_wunlock
	mov	x0, #0
	bl	_vm_wait
	mov	x0, x24
	bl	_rw_wlock
	mov	x0, x21
	bl	_PMAP_LOCK
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_alloc_l2_bucket
	cbz	x0, LBB0_10
; %bb.12:
	mov	x22, x0
Lloh45:
	adrp	x25, _kernel_pmap@GOTPAGE
Lloh46:
	ldr	x25, [x25, _kernel_pmap@GOTPAGEOFF]
	ldr	x26, [sp, #24]                  ; 8-byte Folded Reload
	b	LBB0_15
LBB0_13:
	bl	_pmap_get_l2_bucket
	mov	x22, x0
	cbnz	x0, LBB0_15
; %bb.14:
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_grow_l2_bucket
	mov	x22, x0
LBB0_15:
	orr	w23, w27, w28
	ldr	x24, [x22]
	mov	x0, x19
	bl	_l2pte_index
	add	x8, x24, x0, lsl #2
	str	x8, [sp, #8]                    ; 8-byte Folded Spill
	ldr	w0, [x8]
	cbz	w0, LBB0_18
; %bb.16:
	mov	x24, x0
	bl	_l2pte_pa
	mov	x28, x20
	cmp	x0, x26
	ldr	w27, [sp, #20]                  ; 4-byte Folded Reload
	b.eq	LBB0_19
; %bb.17:
	mov	x0, x24
	bl	_l2pte_pa
	bl	_PHYS_TO_VM_PAGE
	mov	x28, x0
	b	LBB0_19
LBB0_18:
	mov	x24, x0
	mov	x28, #0
	ldr	w27, [sp, #20]                  ; 4-byte Folded Reload
LBB0_19:
	ldr	w8, [sp, #16]                   ; 4-byte Folded Reload
	orr	w26, w23, w8
	cbz	x20, LBB0_23
; %bb.20:
Lloh47:
	adrp	x8, _VM_PROT_ALL@GOTPAGE
Lloh48:
	ldr	x8, [x8, _VM_PROT_ALL@GOTPAGEOFF]
Lloh49:
	ldr	w8, [x8]
	and	w8, w8, w27
	cbnz	w8, LBB0_23
; %bb.21:
	ldr	w9, [x20, #8]
Lloh50:
	adrp	x8, _PVF_REF@GOTPAGE
Lloh51:
	ldr	x8, [x8, _PVF_REF@GOTPAGEOFF]
Lloh52:
	ldr	w8, [x8]
	tst	w8, w9
	b.ne	LBB0_24
; %bb.22:
Lloh53:
	adrp	x8, _L2_TYPE_INV@GOTPAGE
Lloh54:
	ldr	x8, [x8, _L2_TYPE_INV@GOTPAGEOFF]
Lloh55:
	ldr	w23, [x8]
	b	LBB0_34
LBB0_23:
Lloh56:
	adrp	x8, _PVF_REF@GOTPAGE
Lloh57:
	ldr	x8, [x8, _PVF_REF@GOTPAGEOFF]
Lloh58:
	ldr	w8, [x8]
LBB0_24:
Lloh59:
	adrp	x9, _L2_S_PROTO@GOTPAGE
Lloh60:
	ldr	x9, [x9, _L2_S_PROTO@GOTPAGEOFF]
Lloh61:
	ldr	w23, [x9]
	orr	w26, w8, w26
	cbz	x20, LBB0_27
; %bb.25:
Lloh62:
	adrp	x8, _VM_PROT_WRITE@GOTPAGE
Lloh63:
	ldr	x8, [x8, _VM_PROT_WRITE@GOTPAGEOFF]
Lloh64:
	ldr	w8, [x8]
	tst	w8, w27
	b.eq	LBB0_29
; %bb.26:
Lloh65:
	adrp	x8, _PVF_MOD@GOTPAGE
Lloh66:
	ldr	x8, [x8, _PVF_MOD@GOTPAGEOFF]
Lloh67:
	ldr	w9, [x8]
	ldr	w8, [x20, #8]
	b	LBB0_30
LBB0_27:
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	orr	w23, w23, w8
Lloh68:
	adrp	x8, _VM_PROT_WRITE@GOTPAGE
Lloh69:
	ldr	x8, [x8, _VM_PROT_WRITE@GOTPAGEOFF]
Lloh70:
	ldr	w8, [x8]
	tst	w8, w27
	b.eq	LBB0_37
; %bb.28:
Lloh71:
	adrp	x8, _L2_S_PROT_W@GOTPAGE
Lloh72:
	ldr	x8, [x8, _L2_S_PROT_W@GOTPAGEOFF]
Lloh73:
	ldr	w8, [x8]
	orr	w23, w8, w23
	b	LBB0_37
LBB0_29:
	ldr	w8, [x20, #8]
Lloh74:
	adrp	x9, _PVF_MOD@GOTPAGE
Lloh75:
	ldr	x9, [x9, _PVF_MOD@GOTPAGEOFF]
Lloh76:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_32
LBB0_30:
	orr	w26, w9, w26
	tst	w8, w9
	b.ne	LBB0_32
; %bb.31:
	mov	x0, x20
	bl	_vm_page_dirty
LBB0_32:
	cbz	w24, LBB0_34
; %bb.33:
Lloh77:
	adrp	x8, _PGA_REFERENCED@GOTPAGE
Lloh78:
	ldr	x8, [x8, _PGA_REFERENCED@GOTPAGEOFF]
Lloh79:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_vm_page_aflag_set
LBB0_34:
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	orr	w23, w23, w8
Lloh80:
	adrp	x8, _VM_PROT_WRITE@GOTPAGE
Lloh81:
	ldr	x8, [x8, _VM_PROT_WRITE@GOTPAGEOFF]
Lloh82:
	ldr	w8, [x8]
	tst	w8, w27
	b.eq	LBB0_37
; %bb.35:
Lloh83:
	adrp	x8, _L2_S_PROT_W@GOTPAGE
Lloh84:
	ldr	x8, [x8, _L2_S_PROT_W@GOTPAGEOFF]
Lloh85:
	ldr	w8, [x8]
	orr	w23, w8, w23
	ldr	w8, [x20]
Lloh86:
	adrp	x9, _VPO_UNMANAGED@GOTPAGE
Lloh87:
	ldr	x9, [x9, _VPO_UNMANAGED@GOTPAGEOFF]
Lloh88:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_37
; %bb.36:
Lloh89:
	adrp	x8, _PGA_WRITEABLE@GOTPAGE
Lloh90:
	ldr	x8, [x8, _PGA_WRITEABLE@GOTPAGEOFF]
Lloh91:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_vm_page_aflag_set
LBB0_37:
	ldr	x8, [x20, #16]
Lloh92:
	adrp	x9, _VM_MEMATTR_UNCACHEABLE@GOTPAGE
Lloh93:
	ldr	x9, [x9, _VM_MEMATTR_UNCACHEABLE@GOTPAGEOFF]
Lloh94:
	ldr	x9, [x9]
Lloh95:
	adrp	x10, _pte_l2_s_cache_mode@GOTPAGE
Lloh96:
	ldr	x10, [x10, _pte_l2_s_cache_mode@GOTPAGEOFF]
Lloh97:
	ldr	w10, [x10]
	cmp	x8, x9
	csel	w8, wzr, w10, eq
	orr	w23, w8, w23
	cbz	x20, LBB0_45
; %bb.38:
	cmp	x20, x28
	b.ne	LBB0_45
; %bb.39:
Lloh98:
	adrp	x8, _PVF_WRITE@GOTPAGE
Lloh99:
	ldr	x8, [x8, _PVF_WRITE@GOTPAGEOFF]
Lloh100:
	ldr	w8, [x8]
Lloh101:
	adrp	x9, _PVF_EXEC@GOTPAGE
Lloh102:
	ldr	x9, [x9, _PVF_EXEC@GOTPAGEOFF]
Lloh103:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh104:
	adrp	x9, _PVF_WIRED@GOTPAGE
Lloh105:
	ldr	x9, [x9, _PVF_WIRED@GOTPAGEOFF]
Lloh106:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh107:
	adrp	x9, _PVF_MOD@GOTPAGE
Lloh108:
	ldr	x9, [x9, _PVF_MOD@GOTPAGEOFF]
Lloh109:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh110:
	adrp	x9, _PVF_REF@GOTPAGE
Lloh111:
	ldr	x9, [x9, _PVF_REF@GOTPAGEOFF]
Lloh112:
	ldr	w9, [x9]
	orr	w3, w8, w9
	mov	x0, x20
	mov	x1, x21
	mov	x2, x19
	mov	x4, x26
	bl	_pmap_modify_pv
	mov	x27, x0
	mov	x0, x21
	bl	_pmap_is_current
	cbz	x0, LBB0_60
; %bb.40:
Lloh113:
	adrp	x8, _PVF_NC@GOTPAGE
Lloh114:
	ldr	x8, [x8, _PVF_NC@GOTPAGEOFF]
Lloh115:
	ldr	w8, [x8]
	tst	w8, w27
Lloh116:
	adrp	x28, _vector_page@GOTPAGE
Lloh117:
	ldr	x28, [x28, _vector_page@GOTPAGEOFF]
	b.ne	LBB0_64
; %bb.41:
Lloh118:
	adrp	x8, _L2_S_PROT_W@GOTPAGE
Lloh119:
	ldr	x8, [x8, _L2_S_PROT_W@GOTPAGEOFF]
Lloh120:
	ldr	w8, [x8]
	tst	w8, w24
	b.eq	LBB0_64
; %bb.42:
Lloh121:
	adrp	x8, _VM_PROT_WRITE@GOTPAGE
Lloh122:
	ldr	x8, [x8, _VM_PROT_WRITE@GOTPAGEOFF]
Lloh123:
	ldr	w8, [x8]
	ldr	w9, [sp, #20]                   ; 4-byte Folded Reload
	tst	w8, w9
	b.ne	LBB0_64
; %bb.43:
Lloh124:
	adrp	x8, _L2_TYPE_MASK@GOTPAGE
Lloh125:
	ldr	x8, [x8, _L2_TYPE_MASK@GOTPAGEOFF]
Lloh126:
	ldr	w8, [x8]
	and	w8, w8, w24
Lloh127:
	adrp	x9, _L2_TYPE_INV@GOTPAGE
Lloh128:
	ldr	x9, [x9, _L2_TYPE_INV@GOTPAGEOFF]
Lloh129:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_64
; %bb.44:
	mov	x26, x25
Lloh130:
	adrp	x25, _PAGE_SIZE@GOTPAGE
Lloh131:
	ldr	x25, [x25, _PAGE_SIZE@GOTPAGEOFF]
	ldr	w1, [x25]
	mov	x0, x19
	bl	_cpu_dcache_wb_range
	ldr	w1, [x25]
	mov	x25, x26
	mov	x0, x19
	bl	_cpu_l2cache_wb_range
	b	LBB0_64
LBB0_45:
	cbz	x28, LBB0_52
; %bb.46:
	mov	x0, x28
	mov	x1, x21
	mov	x2, x19
	bl	_pmap_remove_pv
	cbz	x0, LBB0_52
; %bb.47:
	mov	x25, x0
	ldr	w27, [x0]
Lloh132:
	adrp	x8, _PVF_NC@GOTPAGE
Lloh133:
	ldr	x8, [x8, _PVF_NC@GOTPAGEOFF]
Lloh134:
	ldr	w8, [x8]
	tst	w8, w27
Lloh135:
	adrp	x28, _vector_page@GOTPAGE
Lloh136:
	ldr	x28, [x28, _vector_page@GOTPAGEOFF]
	b.eq	LBB0_79
LBB0_48:
	ldr	w8, [x20]
Lloh137:
	adrp	x9, _VPO_UNMANAGED@GOTPAGE
Lloh138:
	ldr	x9, [x9, _VPO_UNMANAGED@GOTPAGEOFF]
Lloh139:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_56
; %bb.49:
	ldr	w8, [x20, #24]
	cbnz	w8, LBB0_56
; %bb.50:
	add	x0, x20, #28
	bl	_TAILQ_EMPTY
	cbz	x0, LBB0_56
; %bb.51:
	mov	x0, x25
	bl	_pmap_free_pv_entry
	mov	x25, #0
	b	LBB0_56
LBB0_52:
	ldr	w8, [x20]
Lloh140:
	adrp	x9, _VPO_UNMANAGED@GOTPAGE
Lloh141:
	ldr	x9, [x9, _VPO_UNMANAGED@GOTPAGEOFF]
Lloh142:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_54
; %bb.53:
	ldr	w8, [x20, #24]
	cbz	w8, LBB0_83
LBB0_54:
	bl	_pmap_get_pv_entry
	mov	x25, x0
LBB0_55:
	mov	w27, #0
Lloh143:
	adrp	x28, _vector_page@GOTPAGE
Lloh144:
	ldr	x28, [x28, _vector_page@GOTPAGEOFF]
LBB0_56:
	ldr	w8, [x20]
Lloh145:
	adrp	x9, _VPO_UNMANAGED@GOTPAGE
Lloh146:
	ldr	x9, [x9, _VPO_UNMANAGED@GOTPAGEOFF]
Lloh147:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_61
; %bb.57:
	add	x0, x20, #28
	bl	_TAILQ_EMPTY
	cbz	x0, LBB0_59
; %bb.58:
	ldr	w8, [x20, #24]
	cbz	w8, LBB0_82
LBB0_59:
	cmp	x25, #0
	cset	w0, ne
Lloh148:
	adrp	x1, l_.str.1@PAGE
Lloh149:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_KASSERT
Lloh150:
	adrp	x8, _PVF_UNMAN@GOTPAGE
Lloh151:
	ldr	x8, [x8, _PVF_UNMAN@GOTPAGEOFF]
Lloh152:
	ldr	w8, [x8]
	orr	w4, w8, w26
	mov	x0, x20
	mov	x1, x25
	mov	x2, x21
	mov	x3, x19
	b	LBB0_62
LBB0_60:
Lloh153:
	adrp	x28, _vector_page@GOTPAGE
Lloh154:
	ldr	x28, [x28, _vector_page@GOTPAGEOFF]
	b	LBB0_64
LBB0_61:
Lloh155:
	adrp	x8, _kmi@GOTPAGE
Lloh156:
	ldr	x8, [x8, _kmi@GOTPAGEOFF]
	ldp	w9, w8, [x8]
	cmp	w9, w19
	ccmp	w8, w19, #4, le
	cset	w0, le
Lloh157:
	adrp	x1, l_.str.2@PAGE
Lloh158:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_KASSERT
	cmp	x25, #0
	cset	w0, ne
Lloh159:
	adrp	x1, l_.str.1@PAGE
Lloh160:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_KASSERT
	mov	x0, x20
	mov	x1, x25
	mov	x2, x21
	mov	x3, x19
	mov	x4, x26
LBB0_62:
	bl	_pmap_enter_pv
LBB0_63:
Lloh161:
	adrp	x25, _kernel_pmap@GOTPAGE
Lloh162:
	ldr	x25, [x25, _kernel_pmap@GOTPAGEOFF]
LBB0_64:
	ldr	x8, [x25]
	ldr	w9, [x28]
	cmp	w9, w19
	ccmp	x8, x21, #4, ne
Lloh163:
	adrp	x8, _L2_S_PROT_U@GOTPAGE
Lloh164:
	ldr	x8, [x8, _L2_S_PROT_U@GOTPAGEOFF]
Lloh165:
	ldr	w8, [x8]
	csel	w8, wzr, w8, eq
	orr	w25, w23, w8
	cbz	w24, LBB0_66
; %bb.65:
	cmp	w25, w24
	b.ne	LBB0_67
	b	LBB0_77
LBB0_66:
	ldr	w8, [x22, #12]
	add	w8, w8, #1
	str	w8, [x22, #12]
	ldr	w8, [x21, #16]
	add	w8, w8, #1
	str	w8, [x21, #16]
	cmp	w25, w24
	b.eq	LBB0_77
LBB0_67:
	mov	x0, x21
	bl	_pmap_is_current
	ldr	x8, [sp, #8]                    ; 8-byte Folded Reload
	str	w25, [x8]
	cbz	x0, LBB0_72
; %bb.68:
	mov	x0, x8
	bl	_PTE_SYNC
	mov	x0, x19
	bl	_L1_IDX
	mov	x23, x0
	ldr	w0, [x28]
	bl	_L1_IDX
	cmp	x23, x0
	b.eq	LBB0_72
; %bb.69:
	mov	x0, x25
	bl	_l2pte_valid
	cbz	x0, LBB0_72
; %bb.70:
	ldr	x8, [x21, #8]
	ldr	x23, [x8]
	mov	x0, x19
	bl	_L1_IDX
	add	x23, x23, x0, lsl #2
	ldr	w22, [x22, #8]
	ldr	w0, [x21]
	bl	_L1_C_DOM
	orr	w8, w0, w22
Lloh166:
	adrp	x9, _L1_C_PROTO@GOTPAGE
Lloh167:
	ldr	x9, [x9, _L1_C_PROTO@GOTPAGEOFF]
Lloh168:
	ldr	w9, [x9]
	orr	w8, w8, w9
	ldr	w9, [x23]
	cmp	w9, w8
	b.eq	LBB0_72
; %bb.71:
	str	w8, [x23]
	mov	x0, x23
	bl	_PTE_SYNC
LBB0_72:
	mov	x0, x27
	bl	_PV_BEEN_EXECD
	cbz	x0, LBB0_74
; %bb.73:
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_tlb_flushID_SE
	b	LBB0_76
LBB0_74:
	mov	x0, x27
	bl	_PV_BEEN_REFD
	cbz	x0, LBB0_76
; %bb.75:
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_tlb_flushD_SE
LBB0_76:
	mov	x0, x20
	mov	x1, x21
	mov	x2, x19
	bl	_pmap_fix_cache
LBB0_77:
Lloh169:
	adrp	x26, _KERN_SUCCESS@GOTPAGE
Lloh170:
	ldr	x26, [x26, _KERN_SUCCESS@GOTPAGEOFF]
LBB0_78:
	ldr	w0, [x26]
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_79:
	mov	x0, x24
	bl	_l2pte_valid
	cbz	x0, LBB0_48
; %bb.80:
	mov	x0, x27
	bl	_PV_BEEN_EXECD
	cbz	x0, LBB0_85
; %bb.81:
Lloh171:
	adrp	x8, _PAGE_SIZE@GOTPAGE
Lloh172:
	ldr	x8, [x8, _PAGE_SIZE@GOTPAGEOFF]
Lloh173:
	ldr	w2, [x8]
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_idcache_wbinv_range
	b	LBB0_48
LBB0_82:
	str	w19, [x20, #24]
	b	LBB0_63
LBB0_83:
	add	x0, x20, #28
	bl	_TAILQ_EMPTY
	cbz	x0, LBB0_54
; %bb.84:
	mov	x25, #0
	b	LBB0_55
LBB0_85:
	mov	x0, x27
	bl	_PV_BEEN_REFD
	cbz	x0, LBB0_48
; %bb.86:
Lloh174:
	adrp	x8, _PAGE_SIZE@GOTPAGE
Lloh175:
	ldr	x8, [x8, _PAGE_SIZE@GOTPAGEOFF]
Lloh176:
	ldr	w2, [x8]
Lloh177:
	adrp	x8, _TRUE@GOTPAGE
Lloh178:
	ldr	x8, [x8, _TRUE@GOTPAGEOFF]
Lloh179:
	ldr	w3, [x8]
Lloh180:
	adrp	x8, _PVF_WRITE@GOTPAGE
Lloh181:
	ldr	x8, [x8, _PVF_WRITE@GOTPAGEOFF]
Lloh182:
	ldr	w8, [x8]
	tst	w8, w27
	cset	w4, eq
	mov	x0, x21
	mov	x1, x19
	bl	_pmap_dcache_wb_range
	b	LBB0_48
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh27
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGot	Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh127, Lloh128, Lloh129
	.loh AdrpLdrGotLdr	Lloh124, Lloh125, Lloh126
	.loh AdrpLdrGot	Lloh130, Lloh131
	.loh AdrpLdrGot	Lloh135, Lloh136
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpLdrGotLdr	Lloh137, Lloh138, Lloh139
	.loh AdrpLdrGotLdr	Lloh140, Lloh141, Lloh142
	.loh AdrpLdrGot	Lloh143, Lloh144
	.loh AdrpLdrGotLdr	Lloh145, Lloh146, Lloh147
	.loh AdrpLdrGotLdr	Lloh150, Lloh151, Lloh152
	.loh AdrpAdd	Lloh148, Lloh149
	.loh AdrpLdrGot	Lloh153, Lloh154
	.loh AdrpAdd	Lloh159, Lloh160
	.loh AdrpAdd	Lloh157, Lloh158
	.loh AdrpLdrGot	Lloh155, Lloh156
	.loh AdrpLdrGot	Lloh161, Lloh162
	.loh AdrpLdrGotLdr	Lloh163, Lloh164, Lloh165
	.loh AdrpLdrGotLdr	Lloh166, Lloh167, Lloh168
	.loh AdrpLdrGot	Lloh169, Lloh170
	.loh AdrpLdrGotLdr	Lloh171, Lloh172, Lloh173
	.loh AdrpLdrGotLdr	Lloh180, Lloh181, Lloh182
	.loh AdrpLdrGotLdr	Lloh177, Lloh178, Lloh179
	.loh AdrpLdrGotLdr	Lloh174, Lloh175, Lloh176
	.cfi_endproc
                                        ; -- End function
	.comm	_pvh_global_lock,4,2            ; @pvh_global_lock
	.comm	_RA_WLOCKED,4,2                 ; @RA_WLOCKED
	.comm	_vector_page,4,2                ; @vector_page
	.comm	_systempage,8,3                 ; @systempage
	.comm	_VPO_UNMANAGED,4,2              ; @VPO_UNMANAGED
	.comm	_PMAP_ENTER_QUICK_LOCKED,4,2    ; @PMAP_ENTER_QUICK_LOCKED
	.comm	_VM_PROT_WRITE,4,2              ; @VM_PROT_WRITE
	.comm	_PVF_WRITE,4,2                  ; @PVF_WRITE
	.comm	_VM_PROT_EXECUTE,4,2            ; @VM_PROT_EXECUTE
	.comm	_PVF_EXEC,4,2                   ; @PVF_EXEC
	.comm	_PMAP_ENTER_WIRED,4,2           ; @PMAP_ENTER_WIRED
	.comm	_PVF_WIRED,4,2                  ; @PVF_WIRED
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"pmap_enter: pmap = %08x, va = %08x, m = %08x, prot = %x, flags = %x\n"

	.comm	_kernel_pmap,8,3                ; @kernel_pmap
	.comm	_PMAP_ENTER_NOSLEEP,4,2         ; @PMAP_ENTER_NOSLEEP
	.comm	_KERN_RESOURCE_SHORTAGE,4,2     ; @KERN_RESOURCE_SHORTAGE
	.comm	_VM_PROT_ALL,4,2                ; @VM_PROT_ALL
	.comm	_PVF_REF,4,2                    ; @PVF_REF
	.comm	_L2_S_PROTO,4,2                 ; @L2_S_PROTO
	.comm	_PVF_MOD,4,2                    ; @PVF_MOD
	.comm	_PGA_REFERENCED,4,2             ; @PGA_REFERENCED
	.comm	_L2_TYPE_INV,4,2                ; @L2_TYPE_INV
	.comm	_L2_S_PROT_W,4,2                ; @L2_S_PROT_W
	.comm	_PGA_WRITEABLE,4,2              ; @PGA_WRITEABLE
	.comm	_VM_MEMATTR_UNCACHEABLE,8,3     ; @VM_MEMATTR_UNCACHEABLE
	.comm	_pte_l2_s_cache_mode,4,2        ; @pte_l2_s_cache_mode
	.comm	_PVF_NC,4,2                     ; @PVF_NC
	.comm	_L2_TYPE_MASK,4,2               ; @L2_TYPE_MASK
	.comm	_PAGE_SIZE,4,2                  ; @PAGE_SIZE
	.comm	_TRUE,4,2                       ; @TRUE
l_.str.1:                               ; @.str.1
	.asciz	"No pv"

	.comm	_PVF_UNMAN,4,2                  ; @PVF_UNMAN
	.comm	_kmi,8,2                        ; @kmi
l_.str.2:                               ; @.str.2
	.asciz	"pmap_enter: managed mapping within the clean submap"

	.comm	_L2_S_PROT_U,4,2                ; @L2_S_PROT_U
	.comm	_L1_C_PROTO,4,2                 ; @L1_C_PROTO
	.comm	_KERN_SUCCESS,4,2               ; @KERN_SUCCESS
	.no_dead_strip	_pmap_enter_locked
.subsections_via_symbols
