	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function cik_vm_decode_fault
_cik_vm_decode_fault:                   ## @cik_vm_decode_fault
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
                                        ## kill: def $ecx killed $ecx def $rcx
	movl	%edx, %r11d
	movl	%esi, %eax
	movq	_FAULT_VMID_MASK@GOTPCREL(%rip), %rbx
	movq	_FAULT_VMID_SHIFT@GOTPCREL(%rip), %rdx
	movb	(%rdx), %r10b
	movq	_PROTECTIONS_MASK@GOTPCREL(%rip), %rdx
	movq	_PROTECTIONS_SHIFT@GOTPCREL(%rip), %rsi
	movb	(%rsi), %r9b
	movl	(%rdx), %esi
	andl	%eax, %esi
	movl	(%rbx), %edx
	andl	%eax, %edx
	movl	%ecx, %ebx
	shrl	$24, %ebx
	movb	%bl, -21(%rbp)
	movl	%ecx, %ebx
	shrl	$16, %ebx
	movb	%bl, -20(%rbp)
	movb	%ch, -19(%rbp)
	movq	%rcx, %r14
	movb	%cl, -18(%rbp)
	movb	$0, -17(%rbp)
	movq	(%rdi), %rcx
	movq	_CHIP_HAWAII@GOTPCREL(%rip), %rdi
	cmpq	(%rdi), %rcx
	jne	LBB0_1
## %bb.2:
	movq	_HAWAII_MEMORY_CLIENT_ID_MASK@GOTPCREL(%rip), %rcx
	jmp	LBB0_3
LBB0_1:
	movq	_MEMORY_CLIENT_ID_MASK@GOTPCREL(%rip), %rcx
LBB0_3:
	movl	(%rcx), %ebx
	andl	%eax, %ebx
	movq	_MEMORY_CLIENT_ID_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	sarl	%cl, %ebx
	movl	%r9d, %ecx
	sarl	%cl, %esi
	movl	%r10d, %ecx
	sarl	%cl, %edx
	movq	_MEMORY_CLIENT_RW_MASK@GOTPCREL(%rip), %rcx
	andl	(%rcx), %eax
	leaq	L_.str.2(%rip), %rax
	leaq	L_.str.1(%rip), %r8
	cmoveq	%rax, %r8
	leaq	L_.str(%rip), %rdi
	leaq	-21(%rbp), %r9
	movl	%r11d, %ecx
	pushq	%rbx
	pushq	%r14
	callq	_printk
	addq	$32, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_FAULT_VMID_MASK,4,2            ## @FAULT_VMID_MASK
	.comm	_FAULT_VMID_SHIFT,4,2           ## @FAULT_VMID_SHIFT
	.comm	_PROTECTIONS_MASK,4,2           ## @PROTECTIONS_MASK
	.comm	_PROTECTIONS_SHIFT,4,2          ## @PROTECTIONS_SHIFT
	.comm	_CHIP_HAWAII,8,3                ## @CHIP_HAWAII
	.comm	_HAWAII_MEMORY_CLIENT_ID_MASK,4,2 ## @HAWAII_MEMORY_CLIENT_ID_MASK
	.comm	_MEMORY_CLIENT_ID_SHIFT,4,2     ## @MEMORY_CLIENT_ID_SHIFT
	.comm	_MEMORY_CLIENT_ID_MASK,4,2      ## @MEMORY_CLIENT_ID_MASK
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) (%d)\n"

	.comm	_MEMORY_CLIENT_RW_MASK,4,2      ## @MEMORY_CLIENT_RW_MASK
L_.str.1:                               ## @.str.1
	.asciz	"write"

L_.str.2:                               ## @.str.2
	.asciz	"read"

	.no_dead_strip	_cik_vm_decode_fault
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function cik_vm_decode_fault
_cik_vm_decode_fault:                   ; @cik_vm_decode_fault
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #32
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	mov	x6, x3
	mov	x3, x2
Lloh0:
	adrp	x8, _FAULT_VMID_MASK@GOTPAGE
Lloh1:
	ldr	x8, [x8, _FAULT_VMID_MASK@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x8]
Lloh3:
	adrp	x8, _FAULT_VMID_SHIFT@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FAULT_VMID_SHIFT@GOTPAGEOFF]
Lloh5:
	adrp	x10, _PROTECTIONS_MASK@GOTPAGE
Lloh6:
	ldr	x10, [x10, _PROTECTIONS_MASK@GOTPAGEOFF]
Lloh7:
	ldr	w11, [x8]
Lloh8:
	ldr	w8, [x10]
Lloh9:
	adrp	x10, _PROTECTIONS_SHIFT@GOTPAGE
Lloh10:
	ldr	x10, [x10, _PROTECTIONS_SHIFT@GOTPAGEOFF]
Lloh11:
	ldr	w10, [x10]
	lsr	w12, w6, #24
	sturb	w12, [x29, #-5]
	lsr	w12, w6, #16
	sturb	w12, [x29, #-4]
	lsr	w12, w6, #8
	sturb	w12, [x29, #-3]
	sturb	w6, [x29, #-2]
	sturb	wzr, [x29, #-1]
	ldr	x12, [x0]
Lloh12:
	adrp	x13, _CHIP_HAWAII@GOTPAGE
Lloh13:
	ldr	x13, [x13, _CHIP_HAWAII@GOTPAGEOFF]
Lloh14:
	adrp	x14, _HAWAII_MEMORY_CLIENT_ID_MASK@GOTPAGE
Lloh15:
	ldr	x14, [x14, _HAWAII_MEMORY_CLIENT_ID_MASK@GOTPAGEOFF]
Lloh16:
	ldr	x13, [x13]
Lloh17:
	adrp	x15, _MEMORY_CLIENT_ID_MASK@GOTPAGE
Lloh18:
	ldr	x15, [x15, _MEMORY_CLIENT_ID_MASK@GOTPAGEOFF]
	cmp	x12, x13
	csel	x12, x14, x15, eq
	ldr	w12, [x12]
	and	w12, w12, w1
Lloh19:
	adrp	x13, _MEMORY_CLIENT_ID_SHIFT@GOTPAGE
Lloh20:
	ldr	x13, [x13, _MEMORY_CLIENT_ID_SHIFT@GOTPAGEOFF]
Lloh21:
	ldr	w13, [x13]
	asr	w7, w12, w13
	and	w8, w8, w1
	asr	w8, w8, w10
	and	w9, w9, w1
	asr	w2, w9, w11
Lloh22:
	adrp	x9, _MEMORY_CLIENT_RW_MASK@GOTPAGE
Lloh23:
	ldr	x9, [x9, _MEMORY_CLIENT_RW_MASK@GOTPAGEOFF]
Lloh24:
	ldr	w9, [x9]
Lloh25:
	adrp	x10, l_.str.1@PAGE
Lloh26:
	add	x10, x10, l_.str.1@PAGEOFF
Lloh27:
	adrp	x11, l_.str.2@PAGE
Lloh28:
	add	x11, x11, l_.str.2@PAGEOFF
	tst	w9, w1
	csel	x4, x11, x10, eq
Lloh29:
	adrp	x0, l_.str@PAGE
Lloh30:
	add	x0, x0, l_.str@PAGEOFF
	sub	x5, x29, #5
	mov	x1, x8
	bl	_printk
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #32
	ret
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh16
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh7
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_FAULT_VMID_MASK,4,2            ; @FAULT_VMID_MASK
	.comm	_FAULT_VMID_SHIFT,4,2           ; @FAULT_VMID_SHIFT
	.comm	_PROTECTIONS_MASK,4,2           ; @PROTECTIONS_MASK
	.comm	_PROTECTIONS_SHIFT,4,2          ; @PROTECTIONS_SHIFT
	.comm	_CHIP_HAWAII,8,3                ; @CHIP_HAWAII
	.comm	_HAWAII_MEMORY_CLIENT_ID_MASK,4,2 ; @HAWAII_MEMORY_CLIENT_ID_MASK
	.comm	_MEMORY_CLIENT_ID_SHIFT,4,2     ; @MEMORY_CLIENT_ID_SHIFT
	.comm	_MEMORY_CLIENT_ID_MASK,4,2      ; @MEMORY_CLIENT_ID_MASK
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) (%d)\n"

	.comm	_MEMORY_CLIENT_RW_MASK,4,2      ; @MEMORY_CLIENT_RW_MASK
l_.str.1:                               ; @.str.1
	.asciz	"write"

l_.str.2:                               ; @.str.2
	.asciz	"read"

	.no_dead_strip	_cik_vm_decode_fault
.subsections_via_symbols
