	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function init_ring
_init_ring:                             ## @init_ring
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r14
	callq	_netdev_priv
	movq	%rax, %r12
	movl	(%r14), %esi
	cmpl	$1501, %esi                     ## imm = 0x5DD
	jge	LBB0_1
## %bb.2:
	movq	_PKT_BUF_SZ@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	jmp	LBB0_3
LBB0_1:
	addl	$32, %esi
LBB0_3:
	movl	%esi, (%r12)
	movq	48(%r12), %r9
	movq	80(%r12), %r8
	movq	%r9, 88(%r12)
	movq	%r9, 72(%r12)
	movq	$0, 64(%r12)
	movq	_RX_RING_SIZE@GOTPCREL(%rip), %r15
	cmpl	$0, (%r15)
	jle	LBB0_13
## %bb.4:
	leaq	48(%r9), %rdi
	leaq	4(%r8), %rbx
	xorl	%edx, %edx
	movq	_RBSShift@GOTPCREL(%rip), %r10
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movq	$0, -40(%rdi)
	movzbl	(%r10), %ecx
	movl	%esi, %eax
	shll	%cl, %eax
	movl	%eax, -48(%rdi)
	incq	%rdx
	movq	%rbx, -8(%rdi)
	movq	%rdi, -16(%rdi)
	movq	$0, -24(%rdi)
	movslq	(%r15), %rcx
	addq	$48, %rdi
	addq	$4, %rbx
	cmpq	%rcx, %rdx
	jl	LBB0_5
## %bb.6:
	movq	%r8, -56(%rdi)
	movq	%r9, -64(%rdi)
	testl	%ecx, %ecx
	jle	LBB0_14
## %bb.7:
	movq	%r14, %rdi
	callq	_netdev_alloc_skb
	testq	%rax, %rax
	je	LBB0_8
## %bb.10:
	xorl	%ebx, %ebx
	xorl	%r13d, %r13d
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	incq	64(%r12)
	movq	48(%r12), %rcx
	movq	%rax, 24(%rcx,%rbx)
	movl	(%r12), %edx
	movl	56(%r12), %edi
	movl	(%rax), %esi
	movq	_PCI_DMA_FROMDEVICE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	callq	_pci_map_single
	movq	48(%r12), %rcx
	movl	%eax, 16(%rcx,%rbx)
	movq	_RXOWN@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%rcx,%rbx)
	movq	_RXIC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, (%rcx,%rbx)
	incq	%r13
	movslq	(%r15), %rax
	cmpq	%rax, %r13
	jge	LBB0_14
## %bb.12:                              ##   in Loop: Header=BB0_11 Depth=1
	movl	(%r12), %esi
	movq	%r14, %rdi
	callq	_netdev_alloc_skb
	addq	$48, %rbx
	testq	%rax, %rax
	jne	LBB0_11
	jmp	LBB0_9
LBB0_13:
	movq	%r8, -8(%r9)
	movq	%r9, -16(%r9)
	jmp	LBB0_14
LBB0_8:
	xorl	%r13d, %r13d
LBB0_9:
	leaq	(,%r13,2), %rax
	addq	%r13, %rax
	shlq	$4, %rax
	addq	48(%r12), %rax
	movq	%rax, 72(%r12)
LBB0_14:
	movq	8(%r12), %rax
	movq	16(%r12), %rcx
	movq	%rax, 40(%r12)
	movq	%rax, 32(%r12)
	movq	$0, 24(%r12)
	movq	_TX_RING_SIZE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %ebx
	movl	%ebx, 4(%r12)
	testl	%ebx, %ebx
	jle	LBB0_15
## %bb.16:
	leaq	32(%rax), %rsi
	leaq	4(%rcx), %rdi
	xorps	%xmm0, %xmm0
	movq	%rbx, %rdx
	.p2align	4, 0x90
LBB0_17:                                ## =>This Inner Loop Header: Depth=1
	movq	%rdi, -24(%rsi)
	movq	%rsi, -32(%rsi)
	movups	%xmm0, -16(%rsi)
	addq	$32, %rsi
	addq	$4, %rdi
	decq	%rdx
	jne	LBB0_17
## %bb.18:
	decl	%ebx
	movslq	%ebx, %rdx
	jmp	LBB0_19
LBB0_15:
	movq	$-1, %rdx
LBB0_19:
	shlq	$5, %rdx
	movq	%rcx, 8(%rax,%rdx)
	movq	%rax, (%rax,%rdx)
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_PKT_BUF_SZ,4,2                 ## @PKT_BUF_SZ
	.comm	_RX_RING_SIZE,4,2               ## @RX_RING_SIZE
	.comm	_RBSShift,4,2                   ## @RBSShift
	.comm	_PCI_DMA_FROMDEVICE,4,2         ## @PCI_DMA_FROMDEVICE
	.comm	_RXOWN,8,3                      ## @RXOWN
	.comm	_RXIC,4,2                       ## @RXIC
	.comm	_TX_RING_SIZE,4,2               ## @TX_RING_SIZE
	.no_dead_strip	_init_ring
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function init_ring
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_init_ring:                             ; @init_ring
	.cfi_startproc
; %bb.0:
	stp	d11, d10, [sp, #-112]!          ; 16-byte Folded Spill
	.cfi_def_cfa_offset 112
	stp	d9, d8, [sp, #16]               ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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 b8, -88
	.cfi_offset b9, -96
	.cfi_offset b10, -104
	.cfi_offset b11, -112
	mov	x20, x0
	bl	_netdev_priv
	mov	x19, x0
	ldr	w8, [x20]
Lloh0:
	adrp	x9, _PKT_BUF_SZ@GOTPAGE
Lloh1:
	ldr	x9, [x9, _PKT_BUF_SZ@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	add	w10, w8, #32
	cmp	w8, #1501
	csel	w1, w9, w10, lt
	str	w1, [x0]
	ldr	x8, [x0, #48]
	str	x8, [x0, #88]
	stp	xzr, x8, [x0, #64]
Lloh3:
	adrp	x21, _RX_RING_SIZE@GOTPAGE
Lloh4:
	ldr	x21, [x21, _RX_RING_SIZE@GOTPAGEOFF]
	ldr	w10, [x21]
	ldr	x9, [x0, #80]
	cmp	w10, #1
	b.lt	LBB0_8
; %bb.1:
	mov	x10, #0
	mov	x11, #0
	add	x12, x9, #4
Lloh5:
	adrp	x13, _RBSShift@GOTPAGE
Lloh6:
	ldr	x13, [x13, _RBSShift@GOTPAGEOFF]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	add	x14, x8, x10
	str	xzr, [x14, #8]
	ldr	w15, [x13]
	lsl	w15, w1, w15
	str	w15, [x14]
	add	x11, x11, #1
	add	x15, x14, #48
	stp	x15, x12, [x14, #32]
	str	xzr, [x14, #24]
	ldrsw	x14, [x21]
	add	x10, x10, #48
	add	x12, x12, #4
	cmp	x11, x14
	b.lt	LBB0_2
; %bb.3:
	add	x10, x8, x10
	stp	x8, x9, [x10, #-16]
	cmp	w14, #1
	b.lt	LBB0_11
; %bb.4:
	mov	x0, x20
	bl	_netdev_alloc_skb
	cbz	x0, LBB0_9
; %bb.5:
	mov	x23, #0
	mov	x22, #0
Lloh7:
	adrp	x24, _PCI_DMA_FROMDEVICE@GOTPAGE
Lloh8:
	ldr	x24, [x24, _PCI_DMA_FROMDEVICE@GOTPAGEOFF]
Lloh9:
	adrp	x25, _RXOWN@GOTPAGE
Lloh10:
	ldr	x25, [x25, _RXOWN@GOTPAGEOFF]
Lloh11:
	adrp	x26, _RXIC@GOTPAGE
Lloh12:
	ldr	x26, [x26, _RXIC@GOTPAGEOFF]
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x19, #64]
	add	x8, x8, #1
	str	x8, [x19, #64]
	ldr	x8, [x19, #48]
	add	x8, x8, x23
	str	x0, [x8, #24]
	ldr	w8, [x19, #56]
	ldr	w1, [x0]
	ldr	w2, [x19]
	ldr	w3, [x24]
	mov	x0, x8
	bl	_pci_map_single
	ldr	x8, [x19, #48]
	add	x8, x8, x23
	str	w0, [x8, #16]
	ldr	x9, [x25]
	str	x9, [x8, #8]
	ldr	w9, [x26]
	ldr	w10, [x8]
	orr	w9, w10, w9
	str	w9, [x8]
	add	x22, x22, #1
	ldrsw	x8, [x21]
	cmp	x22, x8
	b.ge	LBB0_11
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=1
	ldr	w1, [x19]
	mov	x0, x20
	bl	_netdev_alloc_skb
	add	x23, x23, #48
	cbnz	x0, LBB0_6
	b	LBB0_10
LBB0_8:
	stp	x8, x9, [x8, #-16]
	b	LBB0_11
LBB0_9:
	mov	x22, #0
LBB0_10:
	ldr	x8, [x19, #48]
	mov	w9, #48
	madd	x8, x22, x9, x8
	str	x8, [x19, #72]
LBB0_11:
	ldp	x8, x9, [x19, #8]
	stp	x8, x8, [x19, #32]
	str	xzr, [x19, #24]
Lloh13:
	adrp	x10, _TX_RING_SIZE@GOTPAGE
Lloh14:
	ldr	x10, [x10, _TX_RING_SIZE@GOTPAGEOFF]
Lloh15:
	ldr	w10, [x10]
	str	w10, [x19, #4]
	cmp	w10, #1
	b.lt	LBB0_14
; %bb.12:
	cmp	w10, #8
	b.hs	LBB0_15
; %bb.13:
	mov	x11, #0
	b	LBB0_18
LBB0_14:
	mov	x10, #-1
	b	LBB0_21
LBB0_15:
	mov	x12, #0
	and	x11, x10, #0xfffffff8
	dup.2d	v0, x9
	mov	w13, #1
	dup.2d	v1, x13
	mov	w13, #3
	dup.2d	v2, x13
	mov	w13, #5
	dup.2d	v3, x13
	mov	w13, #7
	dup.2d	v4, x13
	mov	w13, #8
	dup.2d	v5, x13
Lloh16:
	adrp	x13, lCPI0_0@PAGE
Lloh17:
	ldr	q6, [x13, lCPI0_0@PAGEOFF]
	lsl	x13, x10, #5
	and	x13, x13, #0x1fffffff00
	dup.2d	v7, x8
	movi.2d	v18, #0000000000000000
LBB0_16:                                ; =>This Inner Loop Header: Depth=1
	add.2d	v20, v6, v1
	add.2d	v21, v6, v2
	add.2d	v22, v6, v3
	add.2d	v23, v6, v4
	shl.2d	v24, v20, #2
	shl.2d	v25, v21, #2
	shl.2d	v26, v22, #2
	shl.2d	v27, v23, #2
	add.2d	v17, v0, v24
	add.2d	v29, v0, v25
	add.2d	v9, v0, v26
	add.2d	v25, v0, v27
	shl.2d	v20, v20, #5
	add.2d	v16, v7, v20
	mov.16b	v19, v18
	shl.2d	v20, v21, #5
	add.2d	v28, v7, v20
	mov.16b	v30, v18
	mov.16b	v31, v18
	shl.2d	v20, v22, #5
	add.2d	v8, v7, v20
	mov.16b	v10, v18
	mov.16b	v11, v18
	shl.2d	v20, v23, #5
	add.2d	v24, v7, v20
	mov.16b	v26, v18
	mov.16b	v27, v18
	add	x14, x8, x12
	add	x15, x14, #128
	add	x16, x14, #192
	st4.2d	{ v16, v17, v18, v19 }, [x14], #64
	st4.2d	{ v28, v29, v30, v31 }, [x14]
	st4.2d	{ v8, v9, v10, v11 }, [x15]
	st4.2d	{ v24, v25, v26, v27 }, [x16]
	add	x12, x12, #256
	add.2d	v6, v6, v5
	cmp	x13, x12
	b.ne	LBB0_16
; %bb.17:
	cmp	x11, x10
	b.eq	LBB0_20
LBB0_18:
	add	x13, x8, x11, lsl #5
	sub	x12, x10, x11
	add	x11, x9, x11, lsl #2
	add	x11, x11, #4
LBB0_19:                                ; =>This Inner Loop Header: Depth=1
	add	x14, x13, #32
	stp	x14, x11, [x13]
	stp	xzr, xzr, [x13, #16]
	add	x11, x11, #4
	mov	x13, x14
	subs	x12, x12, #1
	b.ne	LBB0_19
LBB0_20:
	sub	w10, w10, #1
	sxtw	x10, w10
LBB0_21:
	add	x10, x8, x10, lsl #5
	stp	x8, x9, [x10]
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #16]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp], #112            ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdr	Lloh16, Lloh17
	.cfi_endproc
                                        ; -- End function
	.comm	_PKT_BUF_SZ,4,2                 ; @PKT_BUF_SZ
	.comm	_RX_RING_SIZE,4,2               ; @RX_RING_SIZE
	.comm	_RBSShift,4,2                   ; @RBSShift
	.comm	_PCI_DMA_FROMDEVICE,4,2         ; @PCI_DMA_FROMDEVICE
	.comm	_RXOWN,8,3                      ; @RXOWN
	.comm	_RXIC,4,2                       ; @RXIC
	.comm	_TX_RING_SIZE,4,2               ; @TX_RING_SIZE
	.no_dead_strip	_init_ring
.subsections_via_symbols
