	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function nicvf_rss_init
_nicvf_rss_init:                        ## @nicvf_rss_init
	.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
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %r14
	callq	_nicvf_get_rss_size
	movq	_cpi_alg@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_CPI_ALG_NONE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_1
## %bb.2:
	movl	$1, 8(%r14)
	movl	40(%r14), %edi
	movq	_RSS_HASH_KEY_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	shll	$2, %esi
	callq	_netdev_rss_key_fill
	movq	%r14, %rdi
	callq	_nicvf_set_rss_key
	movq	_RSS_IP_HASH_ENA@GOTPCREL(%rip), %rax
	movq	_RSS_TCP_HASH_ENA@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	orl	(%rax), %edx
	movq	_RSS_UDP_HASH_ENA@GOTPCREL(%rip), %rax
	orl	(%rax), %edx
	movl	%edx, 12(%r14)
	movq	_NIC_VNIC_RSS_CFG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r14, %rdi
	callq	_nicvf_reg_write
	movl	16(%r14), %edi
	callq	_rounddown_pow_of_two
	movl	%eax, %edi
	callq	_ilog2
	movq	%rax, 32(%r14)
	cmpl	$0, 16(%r14)
	jle	LBB0_5
## %bb.3:
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%r14), %esi
	movl	%ebx, %edi
	callq	_ethtool_rxfh_indir_default
	movq	24(%r14), %rcx
	movl	%eax, (%rcx,%rbx,4)
	incq	%rbx
	movslq	16(%r14), %rax
	cmpq	%rax, %rbx
	jl	LBB0_4
LBB0_5:
	movq	%r14, %rdi
	callq	_nicvf_config_rss
	movl	$1, %eax
	jmp	LBB0_6
LBB0_1:
	movl	$0, 8(%r14)
	movq	$0, 32(%r14)
	xorl	%eax, %eax
LBB0_6:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_cpi_alg,8,3                    ## @cpi_alg
	.comm	_CPI_ALG_NONE,8,3               ## @CPI_ALG_NONE
	.comm	_RSS_HASH_KEY_SIZE,4,2          ## @RSS_HASH_KEY_SIZE
	.comm	_RSS_IP_HASH_ENA,4,2            ## @RSS_IP_HASH_ENA
	.comm	_RSS_TCP_HASH_ENA,4,2           ## @RSS_TCP_HASH_ENA
	.comm	_RSS_UDP_HASH_ENA,4,2           ## @RSS_UDP_HASH_ENA
	.comm	_NIC_VNIC_RSS_CFG,4,2           ## @NIC_VNIC_RSS_CFG
	.no_dead_strip	_nicvf_rss_init
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function nicvf_rss_init
_nicvf_rss_init:                        ; @nicvf_rss_init
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.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
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	bl	_nicvf_get_rss_size
Lloh0:
	adrp	x8, _cpi_alg@GOTPAGE
Lloh1:
	ldr	x8, [x8, _cpi_alg@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
Lloh3:
	adrp	x9, _CPI_ALG_NONE@GOTPAGE
Lloh4:
	ldr	x9, [x9, _CPI_ALG_NONE@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_5
; %bb.1:
	mov	w8, #1
	str	w8, [x19, #8]
	ldr	w0, [x19, #40]
Lloh6:
	adrp	x8, _RSS_HASH_KEY_SIZE@GOTPAGE
Lloh7:
	ldr	x8, [x8, _RSS_HASH_KEY_SIZE@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
	lsl	w1, w8, #2
	bl	_netdev_rss_key_fill
	mov	x0, x19
	bl	_nicvf_set_rss_key
Lloh9:
	adrp	x8, _RSS_IP_HASH_ENA@GOTPAGE
Lloh10:
	ldr	x8, [x8, _RSS_IP_HASH_ENA@GOTPAGEOFF]
Lloh11:
	ldr	w8, [x8]
Lloh12:
	adrp	x9, _RSS_TCP_HASH_ENA@GOTPAGE
Lloh13:
	ldr	x9, [x9, _RSS_TCP_HASH_ENA@GOTPAGEOFF]
Lloh14:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh15:
	adrp	x9, _RSS_UDP_HASH_ENA@GOTPAGE
Lloh16:
	ldr	x9, [x9, _RSS_UDP_HASH_ENA@GOTPAGEOFF]
Lloh17:
	ldr	w9, [x9]
	orr	w2, w8, w9
	str	w2, [x19, #12]
Lloh18:
	adrp	x8, _NIC_VNIC_RSS_CFG@GOTPAGE
Lloh19:
	ldr	x8, [x8, _NIC_VNIC_RSS_CFG@GOTPAGEOFF]
Lloh20:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_nicvf_reg_write
	ldr	w0, [x19, #16]
	bl	_rounddown_pow_of_two
	bl	_ilog2
	str	x0, [x19, #32]
	ldr	w8, [x19, #16]
	cmp	w8, #1
	b.lt	LBB0_4
; %bb.2:
	mov	x20, #0
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w1, [x19]
	mov	x0, x20
	bl	_ethtool_rxfh_indir_default
	ldr	x8, [x19, #24]
	str	w0, [x8, x20, lsl #2]
	add	x20, x20, #1
	ldrsw	x8, [x19, #16]
	cmp	x20, x8
	b.lt	LBB0_3
LBB0_4:
	mov	x0, x19
	bl	_nicvf_config_rss
	mov	w0, #1
	b	LBB0_6
LBB0_5:
	mov	w0, #0
	str	wzr, [x19, #8]
	str	xzr, [x19, #32]
LBB0_6:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.cfi_endproc
                                        ; -- End function
	.comm	_cpi_alg,8,3                    ; @cpi_alg
	.comm	_CPI_ALG_NONE,8,3               ; @CPI_ALG_NONE
	.comm	_RSS_HASH_KEY_SIZE,4,2          ; @RSS_HASH_KEY_SIZE
	.comm	_RSS_IP_HASH_ENA,4,2            ; @RSS_IP_HASH_ENA
	.comm	_RSS_TCP_HASH_ENA,4,2           ; @RSS_TCP_HASH_ENA
	.comm	_RSS_UDP_HASH_ENA,4,2           ; @RSS_UDP_HASH_ENA
	.comm	_NIC_VNIC_RSS_CFG,4,2           ; @NIC_VNIC_RSS_CFG
	.no_dead_strip	_nicvf_rss_init
.subsections_via_symbols
