	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function setup_nic_devices
_setup_nic_devices:                     ## @setup_nic_devices
	.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	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_ETH_ALEN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	shlq	$3, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r15
	movl	(%r12), %eax
	movl	%eax, -84(%rbp)                 ## 4-byte Spill
	movq	_OPCODE_NIC@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OPCODE_NIC_INFO@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_lio_nic_info@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movq	%r12, %r8
	callq	_octeon_register_dispatch_fn
	movq	_REQTYPE_NORESP_NET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_free_netbuf@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	callq	_octeon_register_reqtype_free_fn
	movq	_REQTYPE_NORESP_NET_SG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_free_netsgbuf@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	callq	_octeon_register_reqtype_free_fn
	movq	_REQTYPE_RESP_NET_SG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_free_netsgbuf_with_resp@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	callq	_octeon_register_reqtype_free_fn
	cmpq	$0, 8(%r12)
	je	LBB0_47
## %bb.1:
	leaq	16(%r15), %rax
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	movq	$-1, %r13
	xorl	%eax, %eax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	%r12, -72(%rbp)                 ## 8-byte Spill
	movq	%r15, -96(%rbp)                 ## 8-byte Spill
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_11 Depth 2
                                        ##     Child Loop BB0_13 Depth 2
                                        ##     Child Loop BB0_17 Depth 2
                                        ##     Child Loop BB0_19 Depth 2
                                        ##     Child Loop BB0_28 Depth 2
                                        ##     Child Loop BB0_31 Depth 2
                                        ##     Child Loop BB0_34 Depth 2
                                        ##     Child Loop BB0_36 Depth 2
	movq	%r12, %rdi
	movl	$24, %esi
	movl	$64, %edx
	xorl	%ecx, %ecx
	callq	_octeon_alloc_soft_command
	movq	%rax, %rbx
	movq	24(%rax), %r14
	movq	32(%rax), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	$0, (%r14)
	movq	_LIQUIDIO_BASE_MAJOR_VERSION@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_cpu_to_be16
	movq	%rax, 16(%r14)
	movq	_LIQUIDIO_BASE_MINOR_VERSION@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_cpu_to_be16
	movq	%rax, 8(%r14)
	movq	_LIQUIDIO_BASE_MICRO_VERSION@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_cpu_to_be16
	movq	%rax, (%r14)
	movq	$0, 16(%rbx)
	movq	_OPCODE_NIC@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_OPCODE_NIC_IF_CFG@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	subq	$8, %rsp
	movq	%r12, %rdi
	movq	%rbx, %rsi
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	$0
	callq	_octeon_prepare_soft_command
	addq	$16, %rsp
	leaq	8(%rbx), %rdi
	callq	_init_completion
	movq	_OCTEON_REQUEST_PENDING@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 4(%rbx)
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_octeon_send_soft_command
	movq	_IQ_SEND_FAILED@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_48
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	%r12, %rdi
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	movq	%rbx, %rsi
	xorl	%edx, %edx
	callq	_wait_for_sc_completion_timeout
	testl	%eax, %eax
	jne	LBB0_49
## %bb.4:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %edx
	testl	%edx, %edx
	jne	LBB0_50
## %bb.5:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	-72(%rbp), %r14                 ## 8-byte Reload
	movl	56(%r14), %edi
	leaq	8(%rax), %rbx
	movq	8(%rax), %rcx
	movl	$32, %esi
	leaq	L_.str.2(%rip), %rdx
	callq	_snprintf
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_octeon_swap_8B_data
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	60(%rax), %edi
	callq	_hweight64
	movl	%eax, %r15d
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_hweight64
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movq	32(%r14), %rdi
	movl	56(%rcx), %r8d
	movl	60(%rcx), %ecx
	testl	%r15d, %r15d
	je	LBB0_51
## %bb.6:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	%eax, %ebx
	testl	%eax, %eax
	je	LBB0_51
## %bb.7:                               ##   in Loop: Header=BB0_2 Depth=1
	subq	$8, %rsp
	leaq	L_.str.4(%rip), %rsi
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	movq	%rdx, -56(%rbp)                 ## 8-byte Spill
	movl	%r15d, %r9d
	xorl	%eax, %eax
	pushq	%rbx
	callq	_dev_dbg
	addq	$16, %rsp
	movq	_LIO_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%r15d, %esi
	callq	_alloc_etherdev_mq
	movq	32(%r14), %rsi
	testq	%rax, %rax
	je	LBB0_52
## %bb.8:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	%rax, %r12
	movq	%r13, -104(%rbp)                ## 8-byte Spill
	movq	%rax, %rdi
	callq	_SET_NETDEV_DEV
	movq	_lionetdevops@GOTPCREL(%rip), %rax
	movq	%rax, 32(%r12)
	movq	%r12, %rdi
	callq	_GET_LIO
	movq	%rax, %r13
	movq	%rax, %rdi
	xorl	%esi, %esi
	movl	$112, %edx
	callq	_memset
	movl	-84(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, (%r13)
	movq	48(%r14), %r11
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
	shlq	$4, %rcx
	movq	-64(%rbp), %r10                 ## 8-byte Reload
	movl	28(%r10), %r8d
	movl	%r8d, 8(%r11,%rcx)
	movq	%r12, (%r11,%rcx)
	movl	%ebx, 40(%r13)
	movl	%r15d, 44(%r13)
	movq	48(%r10), %rdx
	movq	48(%r13), %rsi
	movslq	%ebx, %rax
	cmpl	$8, %ebx
	movl	%r15d, %r9d
	jae	LBB0_10
## %bb.9:                               ##   in Loop: Header=BB0_2 Depth=1
	xorl	%edi, %edi
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_10:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%rax, %rdi
	andq	$-8, %rdi
	xorl	%ebx, %ebx
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	.p2align	4, 0x90
LBB0_11:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movups	(%rdx,%rbx,4), %xmm0
	movups	16(%rdx,%rbx,4), %xmm1
	movss	%xmm0, 4(%rsi,%rbx,8)
	extractps	$1, %xmm0, 12(%rsi,%rbx,8)
	extractps	$2, %xmm0, 20(%rsi,%rbx,8)
	extractps	$3, %xmm0, 28(%rsi,%rbx,8)
	movss	%xmm1, 36(%rsi,%rbx,8)
	extractps	$1, %xmm1, 44(%rsi,%rbx,8)
	extractps	$2, %xmm1, 52(%rsi,%rbx,8)
	extractps	$3, %xmm1, 60(%rsi,%rbx,8)
	addq	$8, %rbx
	cmpq	%rbx, %rdi
	jne	LBB0_11
## %bb.12:                              ##   in Loop: Header=BB0_2 Depth=1
	cmpq	%rax, %rdi
	je	LBB0_14
	.p2align	4, 0x90
LBB0_13:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rdx,%rdi,4), %ebx
	movl	%ebx, 4(%rsi,%rdi,8)
	incq	%rdi
	cmpq	%rdi, %rax
	jne	LBB0_13
LBB0_14:                                ##   in Loop: Header=BB0_2 Depth=1
	addq	%rcx, %r11
	movq	40(%r10), %rcx
	movq	56(%r13), %rdx
	cmpl	$2, %r9d
	movl	%r9d, %eax
	movl	$1, %esi
	cmovbl	%esi, %eax
	movslq	%eax, %rsi
	cmpl	$8, %esi
	movl	%r9d, -88(%rbp)                 ## 4-byte Spill
	movq	%r11, -128(%rbp)                ## 8-byte Spill
	jae	LBB0_16
## %bb.15:                              ##   in Loop: Header=BB0_2 Depth=1
	xorl	%eax, %eax
	jmp	LBB0_19
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%rsi, %rax
	andq	$-8, %rax
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_17:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movups	(%rcx,%rdi,4), %xmm0
	movups	16(%rcx,%rdi,4), %xmm1
	movss	%xmm0, 4(%rdx,%rdi,8)
	extractps	$1, %xmm0, 12(%rdx,%rdi,8)
	extractps	$2, %xmm0, 20(%rdx,%rdi,8)
	extractps	$3, %xmm0, 28(%rdx,%rdi,8)
	movss	%xmm1, 36(%rdx,%rdi,8)
	extractps	$1, %xmm1, 44(%rdx,%rdi,8)
	extractps	$2, %xmm1, 52(%rdx,%rdi,8)
	extractps	$3, %xmm1, 60(%rdx,%rdi,8)
	addq	$8, %rdi
	cmpq	%rdi, %rax
	jne	LBB0_17
## %bb.18:                              ##   in Loop: Header=BB0_2 Depth=1
	cmpq	%rsi, %rax
	je	LBB0_20
	.p2align	4, 0x90
LBB0_19:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rcx,%rax,4), %edi
	movl	%edi, 4(%rdx,%rax,8)
	incq	%rax
	cmpq	%rax, %rsi
	jne	LBB0_19
LBB0_20:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	32(%r10), %rax
	leaq	64(%r13), %rcx
	movq	%rcx, -120(%rbp)                ## 8-byte Spill
	movq	%rax, 64(%r13)
	movl	%r8d, 72(%r13)
	movl	24(%r10), %eax
	movl	%eax, 84(%r13)
	movl	20(%r10), %eax
	movl	%eax, 80(%r13)
	movl	16(%r10), %eax
	movl	%eax, 76(%r13)
	movq	_debug@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_DEFAULT_MSG_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_netif_msg_init
	movl	%eax, 104(%r13)
	movq	_NETIF_F_IP_CSUM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_NETIF_F_HIGHDMA@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_IPV6_CSUM@GOTPCREL(%rip), %rbx
	orl	(%rbx), %eax
	movq	_NETIF_F_SG@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_RXCSUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_TSO@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_TSO6@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_GRO@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_LRO@GOTPCREL(%rip), %r14
	orl	(%r14), %eax
	movl	%eax, 4(%r13)
	movq	_OCTNIC_GSO_MAX_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	_netif_set_gso_max_size
	movl	(%rbx), %eax
	movq	_NETIF_F_IP_CSUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_GSO_UDP_TUNNEL@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_HW_CSUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_SG@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_RXCSUM@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_TSO@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_NETIF_F_TSO6@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movl	(%r14), %ecx
	movl	%eax, %edx
	orl	%ecx, %edx
	movl	%edx, 8(%r13)
	notl	%ecx
	andl	%eax, %ecx
	movl	%ecx, (%r12)
	movl	4(%r13), %eax
	movl	%eax, 4(%r12)
	movq	_NETIF_F_HW_VLAN_CTAG_RX@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	_NETIF_F_HW_VLAN_CTAG_FILTER@GOTPCREL(%rip), %rdx
	orl	(%rdx), %eax
	orl	%ecx, %eax
	movq	_NETIF_F_HW_VLAN_CTAG_TX@GOTPCREL(%rip), %rdx
	orl	(%rdx), %eax
	movl	%eax, 4(%r13)
	movl	(%r14), %edx
	notl	%edx
	andl	%eax, %edx
	movl	%edx, 8(%r12)
	notl	%ecx
	andl	%eax, %ecx
	movl	%ecx, 12(%r12)
	movq	_LIO_MIN_MTU_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 24(%r12)
	movq	_LIO_MAX_MTU_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 20(%r12)
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %edi
	movl	$1, %esi
	callq	_WRITE_ONCE
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	%rax, 16(%r13)
	movq	-128(%rbp), %rcx                ## 8-byte Reload
	movq	%rcx, 96(%r13)
	movq	%r12, -64(%rbp)                 ## 8-byte Spill
	movq	%r12, 88(%r13)
	movq	32(%rax), %rbx
	movl	72(%r13), %r14d
	movq	64(%r13), %rdi
	callq	_CVM_CAST64
	movq	%rbx, %rdi
	leaq	L_.str.6(%rip), %rsi
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	movl	%r14d, %ecx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_dev_dbg
	movq	-120(%rbp), %rdi                ## 8-byte Reload
	movl	$1, %esi
	callq	_octeon_swap_8B_data
	movq	_ETH_ALEN@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	testq	%rax, %rax
	je	LBB0_37
## %bb.21:                              ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$4, %eax
	jb	LBB0_22
## %bb.23:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r15, %rcx
	subq	%r13, %rcx
	addq	$-80, %rcx
	cmpq	$32, %rcx
	jae	LBB0_25
LBB0_22:                                ##   in Loop: Header=BB0_2 Depth=1
	xorl	%ecx, %ecx
LBB0_33:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%rcx, %rdx
	notq	%rdx
	addq	%rax, %rdx
	movq	%rax, %rsi
	andq	$3, %rsi
	je	LBB0_35
	.p2align	4, 0x90
LBB0_34:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	80(%r13,%rcx,8), %rdi
	movq	%rdi, (%r15,%rcx,8)
	incq	%rcx
	decq	%rsi
	jne	LBB0_34
LBB0_35:                                ##   in Loop: Header=BB0_2 Depth=1
	cmpq	$3, %rdx
	jb	LBB0_37
	.p2align	4, 0x90
LBB0_36:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	80(%r13,%rcx,8), %rdx
	movq	%rdx, (%r15,%rcx,8)
	movq	88(%r13,%rcx,8), %rdx
	movq	%rdx, 8(%r15,%rcx,8)
	movq	96(%r13,%rcx,8), %rdx
	movq	%rdx, 16(%r15,%rcx,8)
	movq	104(%r13,%rcx,8), %rdx
	movq	%rdx, 24(%r15,%rcx,8)
	addq	$4, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_36
	jmp	LBB0_37
LBB0_25:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%rax, %rcx
	andq	$-4, %rcx
	leaq	-4(%rcx), %rdi
	movq	%rdi, %rsi
	shrq	$2, %rsi
	incq	%rsi
	movl	%esi, %edx
	andl	$3, %edx
	cmpq	$12, %rdi
	jae	LBB0_27
## %bb.26:                              ##   in Loop: Header=BB0_2 Depth=1
	xorl	%edi, %edi
	jmp	LBB0_29
LBB0_27:                                ##   in Loop: Header=BB0_2 Depth=1
	andq	$-4, %rsi
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_28:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movups	80(%r13,%rdi,8), %xmm0
	movups	96(%r13,%rdi,8), %xmm1
	movaps	%xmm0, (%r15,%rdi,8)
	movaps	%xmm1, 16(%r15,%rdi,8)
	movups	112(%r13,%rdi,8), %xmm0
	movups	128(%r13,%rdi,8), %xmm1
	movaps	%xmm0, 32(%r15,%rdi,8)
	movaps	%xmm1, 48(%r15,%rdi,8)
	movups	144(%r13,%rdi,8), %xmm0
	movups	160(%r13,%rdi,8), %xmm1
	movaps	%xmm0, 64(%r15,%rdi,8)
	movaps	%xmm1, 80(%r15,%rdi,8)
	movups	176(%r13,%rdi,8), %xmm0
	movups	192(%r13,%rdi,8), %xmm1
	movaps	%xmm0, 96(%r15,%rdi,8)
	movaps	%xmm1, 112(%r15,%rdi,8)
	addq	$16, %rdi
	addq	$-4, %rsi
	jne	LBB0_28
LBB0_29:                                ##   in Loop: Header=BB0_2 Depth=1
	testq	%rdx, %rdx
	je	LBB0_32
## %bb.30:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-112(%rbp), %rsi                ## 8-byte Reload
	leaq	(%rsi,%rdi,8), %rsi
	leaq	96(,%rdi,8), %rdi
	addq	%r13, %rdi
	shlq	$5, %rdx
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_31:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movups	-16(%rdi,%rbx), %xmm0
	movups	(%rdi,%rbx), %xmm1
	movaps	%xmm0, -16(%rsi,%rbx)
	movaps	%xmm1, (%rsi,%rbx)
	addq	$32, %rbx
	cmpq	%rbx, %rdx
	jne	LBB0_31
LBB0_32:                                ##   in Loop: Header=BB0_2 Depth=1
	cmpq	%rax, %rcx
	jne	LBB0_33
	.p2align	4, 0x90
LBB0_37:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	-64(%rbp), %r14                 ## 8-byte Reload
	movl	16(%r14), %edi
	movq	%r15, %rsi
	callq	_ether_addr_copy
	movl	40(%r13), %ecx
	movl	44(%r13), %edx
	movq	-72(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rdi
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	callq	_liquidio_setup_io_queues
	testq	%rax, %rax
	jne	LBB0_54
## %bb.38:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	_LIO_IFSTATE_DROQ_OPS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_ifstate_set
	movq	_OCTEON_ALL_INTR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	callq	*40(%r12)
	movq	48(%r13), %rax
	movq	56(%r13), %rcx
	movl	(%rcx), %esi
	movl	%esi, 32(%r13)
	movl	(%rax), %eax
	movl	%eax, 24(%r13)
	movq	%r12, %rdi
	callq	_octeon_get_tx_qsize
	movl	%eax, 36(%r13)
	movl	24(%r13), %esi
	movq	%r12, %rdi
	callq	_octeon_get_rx_qsize
	movl	%eax, 28(%r13)
	movq	%r12, %rdi
	movq	%r13, %rsi
	movl	-88(%rbp), %edx                 ## 4-byte Reload
	callq	_lio_setup_glists
	testq	%rax, %rax
	jne	LBB0_55
## %bb.39:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r14, %rdi
	callq	_liquidio_set_ethtool_ops
	movq	16(%r13), %rax
	movq	16(%rax), %rcx
	xorl	%eax, %eax
	movq	_OCTEON_CN23XX_VF_VID@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_41
## %bb.40:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	_OCT_PRIV_FLAG_DEFAULT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_41:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	%eax, 24(%r12)
	movq	_NETIF_F_LRO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 8(%r14)
	je	LBB0_43
## %bb.42:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	_OCTNET_CMD_LRO_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OCTNIC_LROIPV6@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_OCTNIC_LROIPV4@GOTPCREL(%rip), %rax
	orl	(%rax), %edx
	movq	%r14, %rdi
	callq	_liquidio_set_feature
LBB0_43:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%r14, %rdi
	callq	_setup_link_status_change_wq
	testq	%rax, %rax
	jne	LBB0_58
## %bb.44:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r14, %rdi
	callq	_setup_rx_oom_poll_fn
	testq	%rax, %rax
	jne	LBB0_58
## %bb.45:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r14, %rdi
	callq	_register_netdev
	testq	%rax, %rax
	jne	LBB0_56
## %bb.46:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	32(%r12), %rdi
	movq	(%r15), %rcx
	movq	8(%r15), %r8
	movq	16(%r15), %r9
	movups	24(%r15), %xmm0
	movq	40(%r15), %rax
	subq	$32, %rsp
	movq	%rax, 16(%rsp)
	movups	%xmm0, (%rsp)
	leaq	L_.str.10(%rip), %rsi
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdx
	xorl	%eax, %eax
	callq	_dev_dbg
	addq	$32, %rsp
	movq	%r14, %rdi
	callq	_netif_carrier_off
	incl	12(%r13)
	movq	_LIO_IFSTATE_REGISTERED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_ifstate_set
	movq	_OCTNET_CMD_TNL_RX_CSUM_CTL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OCTNET_CMD_RXCSUM_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %r13
	xorl	%r14d, %r14d
	movq	%r13, %rdi
	callq	_liquidio_set_rxcsum_command
	movq	_OCTNET_CMD_TNL_TX_CSUM_CTL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OCTNET_CMD_TXCSUM_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r13, %rdi
	callq	_liquidio_set_feature
	movq	32(%r12), %rdi
	leaq	L_.str.11(%rip), %rsi
	movq	%rbx, %rdx
	xorl	%eax, %eax
	callq	_dev_dbg
	movl	$1, 28(%r12)
	incq	%rbx
	movq	-104(%rbp), %r13                ## 8-byte Reload
	incq	%r13
	movq	%rbx, %rax
	movq	%rbx, -56(%rbp)                 ## 8-byte Spill
	cmpq	8(%r12), %rbx
	jb	LBB0_2
	jmp	LBB0_63
LBB0_47:
	xorl	%r14d, %r14d
	jmp	LBB0_63
LBB0_48:
	movq	32(%r12), %rdi
	leaq	L_.str(%rip), %rsi
	xorl	%r14d, %r14d
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_octeon_free_soft_command
	movq	_EIO@GOTPCREL(%rip), %rax
	jmp	LBB0_62
LBB0_49:
	movl	%eax, %r14d
	jmp	LBB0_63
LBB0_50:
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	32(%rax), %rdi
	leaq	L_.str.1(%rip), %rsi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_dev_err
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %edi
	movl	$1, %esi
	callq	_WRITE_ONCE
	movq	_EIO@GOTPCREL(%rip), %rax
	jmp	LBB0_62
LBB0_51:
	leaq	L_.str.3(%rip), %rsi
	movl	%ecx, %edx
	movl	%r8d, %ecx
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_53
LBB0_52:
	leaq	L_.str.5(%rip), %rax
	movq	%rsi, %rdi
	movq	%rax, %rsi
	xorl	%eax, %eax
	callq	_dev_err
LBB0_53:
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %edi
	movl	$1, %esi
	callq	_WRITE_ONCE
	jmp	LBB0_61
LBB0_54:
	leaq	L_.str.7(%rip), %rsi
	jmp	LBB0_57
LBB0_55:
	leaq	L_.str.8(%rip), %rsi
	jmp	LBB0_57
LBB0_56:
	leaq	L_.str.9(%rip), %rsi
LBB0_57:
	movq	32(%r12), %rdi
	xorl	%eax, %eax
	callq	_dev_err
LBB0_58:
	cmpq	$0, -56(%rbp)                   ## 8-byte Folded Reload
	movq	-104(%rbp), %rbx                ## 8-byte Reload
	je	LBB0_61
## %bb.59:
	leaq	L_.str.12(%rip), %r14
	.p2align	4, 0x90
LBB0_60:                                ## =>This Inner Loop Header: Depth=1
	movq	32(%r12), %rdi
	movq	%r14, %rsi
	movq	%rbx, %rdx
	xorl	%eax, %eax
	callq	_dev_err
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_liquidio_destroy_nic_device
	addq	$-1, %rbx
	jb	LBB0_60
LBB0_61:
	movq	_ENODEV@GOTPCREL(%rip), %rax
	xorl	%r14d, %r14d
LBB0_62:
	subl	(%rax), %r14d
LBB0_63:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-48(%rbp), %rcx
	jne	LBB0_65
## %bb.64:
	movl	%r14d, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_65:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_ETH_ALEN,4,2                   ## @ETH_ALEN
	.comm	_OPCODE_NIC,4,2                 ## @OPCODE_NIC
	.comm	_OPCODE_NIC_INFO,4,2            ## @OPCODE_NIC_INFO
	.comm	_lio_nic_info,4,2               ## @lio_nic_info
	.comm	_REQTYPE_NORESP_NET,4,2         ## @REQTYPE_NORESP_NET
	.comm	_free_netbuf,4,2                ## @free_netbuf
	.comm	_REQTYPE_NORESP_NET_SG,4,2      ## @REQTYPE_NORESP_NET_SG
	.comm	_free_netsgbuf,4,2              ## @free_netsgbuf
	.comm	_REQTYPE_RESP_NET_SG,4,2        ## @REQTYPE_RESP_NET_SG
	.comm	_free_netsgbuf_with_resp,4,2    ## @free_netsgbuf_with_resp
	.comm	_LIQUIDIO_BASE_MAJOR_VERSION,4,2 ## @LIQUIDIO_BASE_MAJOR_VERSION
	.comm	_LIQUIDIO_BASE_MINOR_VERSION,4,2 ## @LIQUIDIO_BASE_MINOR_VERSION
	.comm	_LIQUIDIO_BASE_MICRO_VERSION,4,2 ## @LIQUIDIO_BASE_MICRO_VERSION
	.comm	_OPCODE_NIC_IF_CFG,4,2          ## @OPCODE_NIC_IF_CFG
	.comm	_OCTEON_REQUEST_PENDING,4,2     ## @OCTEON_REQUEST_PENDING
	.comm	_IQ_SEND_FAILED,4,2             ## @IQ_SEND_FAILED
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"iq/oq config failed status: %x\n"

	.comm	_EIO,4,2                        ## @EIO
L_.str.1:                               ## @.str.1
	.asciz	"iq/oq config failed, retval = %d\n"

L_.str.2:                               ## @.str.2
	.asciz	"%s"

L_.str.3:                               ## @.str.3
	.asciz	"Got bad iqueues (%016llx) or oqueues (%016llx) from firmware.\n"

L_.str.4:                               ## @.str.4
	.asciz	"interface %d, iqmask %016llx, oqmask %016llx, numiqueues %d, numoqueues %d\n"

	.comm	_LIO_SIZE,4,2                   ## @LIO_SIZE
L_.str.5:                               ## @.str.5
	.asciz	"Device allocation failed\n"

	.comm	_lionetdevops,4,2               ## @lionetdevops
	.comm	_debug,4,2                      ## @debug
	.comm	_DEFAULT_MSG_ENABLE,4,2         ## @DEFAULT_MSG_ENABLE
	.comm	_NETIF_F_HIGHDMA,4,2            ## @NETIF_F_HIGHDMA
	.comm	_NETIF_F_IP_CSUM,4,2            ## @NETIF_F_IP_CSUM
	.comm	_NETIF_F_IPV6_CSUM,4,2          ## @NETIF_F_IPV6_CSUM
	.comm	_NETIF_F_SG,4,2                 ## @NETIF_F_SG
	.comm	_NETIF_F_RXCSUM,4,2             ## @NETIF_F_RXCSUM
	.comm	_NETIF_F_TSO,4,2                ## @NETIF_F_TSO
	.comm	_NETIF_F_TSO6,4,2               ## @NETIF_F_TSO6
	.comm	_NETIF_F_GRO,4,2                ## @NETIF_F_GRO
	.comm	_NETIF_F_LRO,4,2                ## @NETIF_F_LRO
	.comm	_OCTNIC_GSO_MAX_SIZE,4,2        ## @OCTNIC_GSO_MAX_SIZE
	.comm	_NETIF_F_GSO_UDP_TUNNEL,4,2     ## @NETIF_F_GSO_UDP_TUNNEL
	.comm	_NETIF_F_HW_CSUM,4,2            ## @NETIF_F_HW_CSUM
	.comm	_NETIF_F_HW_VLAN_CTAG_FILTER,4,2 ## @NETIF_F_HW_VLAN_CTAG_FILTER
	.comm	_NETIF_F_HW_VLAN_CTAG_RX,4,2    ## @NETIF_F_HW_VLAN_CTAG_RX
	.comm	_NETIF_F_HW_VLAN_CTAG_TX,4,2    ## @NETIF_F_HW_VLAN_CTAG_TX
	.comm	_LIO_MIN_MTU_SIZE,4,2           ## @LIO_MIN_MTU_SIZE
	.comm	_LIO_MAX_MTU_SIZE,4,2           ## @LIO_MAX_MTU_SIZE
L_.str.6:                               ## @.str.6
	.asciz	"if%d gmx: %d hw_addr: 0x%llx\n"

L_.str.7:                               ## @.str.7
	.asciz	"I/O queues creation failed\n"

	.comm	_LIO_IFSTATE_DROQ_OPS,4,2       ## @LIO_IFSTATE_DROQ_OPS
	.comm	_OCTEON_ALL_INTR,4,2            ## @OCTEON_ALL_INTR
L_.str.8:                               ## @.str.8
	.asciz	"Gather list allocation failed\n"

	.comm	_OCTEON_CN23XX_VF_VID,8,3       ## @OCTEON_CN23XX_VF_VID
	.comm	_OCT_PRIV_FLAG_DEFAULT,4,2      ## @OCT_PRIV_FLAG_DEFAULT
	.comm	_OCTNET_CMD_LRO_ENABLE,4,2      ## @OCTNET_CMD_LRO_ENABLE
	.comm	_OCTNIC_LROIPV4,4,2             ## @OCTNIC_LROIPV4
	.comm	_OCTNIC_LROIPV6,4,2             ## @OCTNIC_LROIPV6
L_.str.9:                               ## @.str.9
	.asciz	"Device registration failed\n"

L_.str.10:                              ## @.str.10
	.asciz	"Setup NIC ifidx:%d mac:%02x%02x%02x%02x%02x%02x\n"

	.comm	_LIO_IFSTATE_REGISTERED,4,2     ## @LIO_IFSTATE_REGISTERED
	.comm	_OCTNET_CMD_TNL_RX_CSUM_CTL,4,2 ## @OCTNET_CMD_TNL_RX_CSUM_CTL
	.comm	_OCTNET_CMD_RXCSUM_ENABLE,4,2   ## @OCTNET_CMD_RXCSUM_ENABLE
	.comm	_OCTNET_CMD_TNL_TX_CSUM_CTL,4,2 ## @OCTNET_CMD_TNL_TX_CSUM_CTL
	.comm	_OCTNET_CMD_TXCSUM_ENABLE,4,2   ## @OCTNET_CMD_TXCSUM_ENABLE
L_.str.11:                              ## @.str.11
	.asciz	"NIC ifidx:%d Setup successful\n"

L_.str.12:                              ## @.str.12
	.asciz	"NIC ifidx:%d Setup failed\n"

	.comm	_ENODEV,4,2                     ## @ENODEV
	.no_dead_strip	_setup_nic_devices
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function setup_nic_devices
_setup_nic_devices:                     ; @setup_nic_devices
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	sub	sp, sp, #64
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-88]
Lloh3:
	adrp	x8, _ETH_ALEN@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ETH_ALEN@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	lsl	x8, x8, #3
	mov	x9, x8
Lloh6:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh7:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x8, x8, #15
	and	x8, x8, #0xffffffff0
	sub	x27, x9, x8
	mov	sp, x27
	ldr	w8, [x0]
	stur	w8, [x29, #-124]                ; 4-byte Folded Spill
Lloh8:
	adrp	x8, _OPCODE_NIC@GOTPAGE
Lloh9:
	ldr	x8, [x8, _OPCODE_NIC@GOTPAGEOFF]
Lloh10:
	ldr	w1, [x8]
Lloh11:
	adrp	x8, _OPCODE_NIC_INFO@GOTPAGE
Lloh12:
	ldr	x8, [x8, _OPCODE_NIC_INFO@GOTPAGEOFF]
Lloh13:
	ldr	w2, [x8]
Lloh14:
	adrp	x8, _lio_nic_info@GOTPAGE
Lloh15:
	ldr	x8, [x8, _lio_nic_info@GOTPAGEOFF]
Lloh16:
	ldr	w3, [x8]
	mov	x4, x0
	bl	_octeon_register_dispatch_fn
Lloh17:
	adrp	x8, _REQTYPE_NORESP_NET@GOTPAGE
Lloh18:
	ldr	x8, [x8, _REQTYPE_NORESP_NET@GOTPAGEOFF]
Lloh19:
	ldr	w1, [x8]
Lloh20:
	adrp	x8, _free_netbuf@GOTPAGE
Lloh21:
	ldr	x8, [x8, _free_netbuf@GOTPAGEOFF]
Lloh22:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_octeon_register_reqtype_free_fn
Lloh23:
	adrp	x8, _REQTYPE_NORESP_NET_SG@GOTPAGE
Lloh24:
	ldr	x8, [x8, _REQTYPE_NORESP_NET_SG@GOTPAGEOFF]
Lloh25:
	ldr	w1, [x8]
Lloh26:
	adrp	x8, _free_netsgbuf@GOTPAGE
Lloh27:
	ldr	x8, [x8, _free_netsgbuf@GOTPAGEOFF]
Lloh28:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_octeon_register_reqtype_free_fn
Lloh29:
	adrp	x8, _REQTYPE_RESP_NET_SG@GOTPAGE
Lloh30:
	ldr	x8, [x8, _REQTYPE_RESP_NET_SG@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
Lloh32:
	adrp	x8, _free_netsgbuf_with_resp@GOTPAGE
Lloh33:
	ldr	x8, [x8, _free_netsgbuf_with_resp@GOTPAGEOFF]
Lloh34:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_octeon_register_reqtype_free_fn
	ldr	x8, [x19, #8]
	cbz	x8, LBB0_39
; %bb.1:
	mov	x21, #0
	add	x8, x27, #32
	stp	x8, x27, [x29, #-144]           ; 16-byte Folded Spill
	mov	x22, #-1
Lloh35:
	adrp	x28, _NETIF_F_RXCSUM@GOTPAGE
Lloh36:
	ldr	x28, [x28, _NETIF_F_RXCSUM@GOTPAGEOFF]
LBB0_2:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_11 Depth 2
                                        ;     Child Loop BB0_14 Depth 2
                                        ;     Child Loop BB0_18 Depth 2
                                        ;     Child Loop BB0_21 Depth 2
                                        ;     Child Loop BB0_37 Depth 2
                                        ;     Child Loop BB0_27 Depth 2
	mov	x0, x19
	mov	w1, #24
	mov	w2, #64
	mov	w3, #0
	bl	_octeon_alloc_soft_command
	mov	x24, x0
	ldp	x20, x23, [x0, #24]
	str	xzr, [x20]
Lloh37:
	adrp	x8, _LIQUIDIO_BASE_MAJOR_VERSION@GOTPAGE
Lloh38:
	ldr	x8, [x8, _LIQUIDIO_BASE_MAJOR_VERSION@GOTPAGEOFF]
Lloh39:
	ldr	w0, [x8]
	bl	_cpu_to_be16
	str	x0, [x20, #16]
Lloh40:
	adrp	x8, _LIQUIDIO_BASE_MINOR_VERSION@GOTPAGE
Lloh41:
	ldr	x8, [x8, _LIQUIDIO_BASE_MINOR_VERSION@GOTPAGEOFF]
Lloh42:
	ldr	w0, [x8]
	bl	_cpu_to_be16
	str	x0, [x20, #8]
Lloh43:
	adrp	x8, _LIQUIDIO_BASE_MICRO_VERSION@GOTPAGE
Lloh44:
	ldr	x8, [x8, _LIQUIDIO_BASE_MICRO_VERSION@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	bl	_cpu_to_be16
	str	x0, [x20]
	str	xzr, [x24, #16]
Lloh46:
	adrp	x8, _OPCODE_NIC@GOTPAGE
Lloh47:
	ldr	x8, [x8, _OPCODE_NIC@GOTPAGEOFF]
Lloh48:
	ldr	w2, [x8]
Lloh49:
	adrp	x8, _OPCODE_NIC_IF_CFG@GOTPAGE
Lloh50:
	ldr	x8, [x8, _OPCODE_NIC_IF_CFG@GOTPAGEOFF]
Lloh51:
	ldr	w3, [x8]
	mov	x0, x19
	mov	x1, x24
	mov	w4, #0
	mov	x5, #0
	mov	w6, #0
	bl	_octeon_prepare_soft_command
	add	x0, x24, #8
	bl	_init_completion
Lloh52:
	adrp	x8, _OCTEON_REQUEST_PENDING@GOTPAGE
Lloh53:
	ldr	x8, [x8, _OCTEON_REQUEST_PENDING@GOTPAGEOFF]
Lloh54:
	ldr	w8, [x8]
	str	w8, [x24, #4]
	mov	x0, x19
	mov	x1, x24
	bl	_octeon_send_soft_command
                                        ; kill: def $w0 killed $w0 def $x0
Lloh55:
	adrp	x8, _IQ_SEND_FAILED@GOTPAGE
Lloh56:
	ldr	x8, [x8, _IQ_SEND_FAILED@GOTPAGEOFF]
Lloh57:
	ldr	w8, [x8]
	cmp	w0, w8
	b.eq	LBB0_40
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x19
	mov	x1, x24
	mov	w2, #0
	bl	_wait_for_sc_completion_timeout
	cbnz	w0, LBB0_55
; %bb.4:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x23]
	cbnz	w8, LBB0_41
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w0, [x19, #56]
	mov	x25, x23
	ldr	x3, [x25, #8]!
	mov	w1, #32
Lloh58:
	adrp	x2, l_.str.2@PAGE
Lloh59:
	add	x2, x2, l_.str.2@PAGEOFF
	bl	_snprintf
	mov	x0, x25
	mov	w1, #0
	bl	_octeon_swap_8B_data
	ldr	w0, [x25, #52]
	bl	_hweight64
	mov	x20, x0
	ldr	w0, [x25, #48]
	bl	_hweight64
	mov	x27, x0
	ldr	x0, [x19, #32]
	ldp	w9, w8, [x25, #48]
	cbz	w20, LBB0_43
; %bb.6:                                ;   in Loop: Header=BB0_2 Depth=1
	cbz	w27, LBB0_43
; %bb.7:                                ;   in Loop: Header=BB0_2 Depth=1
	sub	sp, sp, #32
	stp	x20, x27, [sp, #16]
	stp	x8, x9, [sp]
Lloh60:
	adrp	x1, l_.str.4@PAGE
Lloh61:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x2, x21
	bl	_dev_dbg
	add	sp, sp, #32
Lloh62:
	adrp	x8, _LIO_SIZE@GOTPAGE
Lloh63:
	ldr	x8, [x8, _LIO_SIZE@GOTPAGEOFF]
Lloh64:
	ldr	w0, [x8]
	mov	x1, x20
	bl	_alloc_etherdev_mq
	ldr	x1, [x19, #32]
	cbz	x0, LBB0_44
; %bb.8:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x25, x0
	bl	_SET_NETDEV_DEV
Lloh65:
	adrp	x8, _lionetdevops@GOTPAGE
Lloh66:
	ldr	x8, [x8, _lionetdevops@GOTPAGEOFF]
	str	x8, [x25, #32]
	mov	x0, x25
	bl	_GET_LIO
	mov	x26, x0
	mov	w1, #0
	mov	w2, #112
	bl	_memset
	ldur	w8, [x29, #-124]                ; 4-byte Folded Reload
	str	w8, [x26]
	ldr	x8, [x19, #48]
	add	x12, x8, x21, lsl #4
	ldr	w8, [x23, #28]
	str	w8, [x12, #8]
	str	x25, [x12]
	stp	w27, w20, [x26, #40]
	ldr	x10, [x23, #48]
	ldr	x9, [x26, #48]
	mov	x11, x27
	sxtw	x11, w11
	cmp	w27, #4
	stur	x12, [x29, #-120]               ; 8-byte Folded Spill
	b.hs	LBB0_10
; %bb.9:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x12, #0
	b	LBB0_13
LBB0_10:                                ;   in Loop: Header=BB0_2 Depth=1
	and	x12, x11, #0xfffffffffffffffc
	add	x13, x9, #20
	add	x14, x10, #8
	mov	x15, x12
LBB0_11:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	w16, w17, [x14, #-8]
	ldp	w0, w1, [x14], #16
	stur	w16, [x13, #-16]
	stur	w17, [x13, #-8]
	str	w0, [x13]
	str	w1, [x13, #8]
	add	x13, x13, #32
	subs	x15, x15, #4
	b.ne	LBB0_11
; %bb.12:                               ;   in Loop: Header=BB0_2 Depth=1
	cmp	x12, x11
	b.eq	LBB0_15
LBB0_13:                                ;   in Loop: Header=BB0_2 Depth=1
	sub	x11, x11, x12
	add	x10, x10, x12, lsl #2
	add	x9, x9, x12, lsl #3
	add	x9, x9, #4
LBB0_14:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w12, [x10], #4
	str	w12, [x9], #8
	subs	x11, x11, #1
	b.ne	LBB0_14
LBB0_15:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x10, [x23, #40]
	ldr	x9, [x26, #56]
	cmp	w20, #1
	csinc	w12, w20, wzr, hi
	sxtw	x11, w12
	cmp	w12, #4
	stp	x20, x21, [x29, #-104]          ; 16-byte Folded Spill
	stur	x24, [x29, #-112]               ; 8-byte Folded Spill
	b.hs	LBB0_17
; %bb.16:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x12, #0
	b	LBB0_20
LBB0_17:                                ;   in Loop: Header=BB0_2 Depth=1
	and	x12, x11, #0xfffffffffffffffc
	add	x13, x9, #20
	add	x14, x10, #8
	mov	x15, x12
LBB0_18:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	w16, w17, [x14, #-8]
	ldp	w0, w1, [x14], #16
	stur	w16, [x13, #-16]
	stur	w17, [x13, #-8]
	str	w0, [x13]
	str	w1, [x13, #8]
	add	x13, x13, #32
	subs	x15, x15, #4
	b.ne	LBB0_18
; %bb.19:                               ;   in Loop: Header=BB0_2 Depth=1
	cmp	x12, x11
	b.eq	LBB0_22
LBB0_20:                                ;   in Loop: Header=BB0_2 Depth=1
	sub	x11, x11, x12
	add	x10, x10, x12, lsl #2
	add	x9, x9, x12, lsl #3
	add	x9, x9, #4
LBB0_21:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w12, [x10], #4
	str	w12, [x9], #8
	subs	x11, x11, #1
	b.ne	LBB0_21
LBB0_22:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x9, [x23, #32]
	mov	x27, x26
	str	x9, [x27, #64]!
	str	w8, [x27, #8]
	ldr	w8, [x23, #24]
	str	w8, [x27, #20]
	ldr	d0, [x23, #16]
	stur	d0, [x27, #12]
Lloh67:
	adrp	x8, _debug@GOTPAGE
Lloh68:
	ldr	x8, [x8, _debug@GOTPAGEOFF]
Lloh69:
	ldr	w0, [x8]
Lloh70:
	adrp	x8, _DEFAULT_MSG_ENABLE@GOTPAGE
Lloh71:
	ldr	x8, [x8, _DEFAULT_MSG_ENABLE@GOTPAGEOFF]
Lloh72:
	ldr	w1, [x8]
	bl	_netif_msg_init
	str	w0, [x27, #40]
Lloh73:
	adrp	x8, _NETIF_F_HIGHDMA@GOTPAGE
Lloh74:
	ldr	x8, [x8, _NETIF_F_HIGHDMA@GOTPAGEOFF]
Lloh75:
	ldr	w8, [x8]
Lloh76:
	adrp	x23, _NETIF_F_IP_CSUM@GOTPAGE
Lloh77:
	ldr	x23, [x23, _NETIF_F_IP_CSUM@GOTPAGEOFF]
	ldr	w9, [x23]
	orr	w8, w9, w8
Lloh78:
	adrp	x20, _NETIF_F_IPV6_CSUM@GOTPAGE
Lloh79:
	ldr	x20, [x20, _NETIF_F_IPV6_CSUM@GOTPAGEOFF]
	ldr	w9, [x20]
	orr	w8, w8, w9
Lloh80:
	adrp	x9, _NETIF_F_SG@GOTPAGE
Lloh81:
	ldr	x9, [x9, _NETIF_F_SG@GOTPAGEOFF]
Lloh82:
	ldr	w9, [x9]
	orr	w8, w8, w9
	ldr	w9, [x28]
	orr	w8, w8, w9
Lloh83:
	adrp	x24, _NETIF_F_TSO@GOTPAGE
Lloh84:
	ldr	x24, [x24, _NETIF_F_TSO@GOTPAGEOFF]
	ldr	w9, [x24]
	orr	w8, w8, w9
Lloh85:
	adrp	x9, _NETIF_F_TSO6@GOTPAGE
Lloh86:
	ldr	x9, [x9, _NETIF_F_TSO6@GOTPAGEOFF]
Lloh87:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh88:
	adrp	x9, _NETIF_F_GRO@GOTPAGE
Lloh89:
	ldr	x9, [x9, _NETIF_F_GRO@GOTPAGEOFF]
Lloh90:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh91:
	adrp	x21, _NETIF_F_LRO@GOTPAGE
Lloh92:
	ldr	x21, [x21, _NETIF_F_LRO@GOTPAGEOFF]
	ldr	w9, [x21]
	orr	w8, w8, w9
	stur	w8, [x27, #-60]
Lloh93:
	adrp	x8, _OCTNIC_GSO_MAX_SIZE@GOTPAGE
Lloh94:
	ldr	x8, [x8, _OCTNIC_GSO_MAX_SIZE@GOTPAGEOFF]
Lloh95:
	ldr	w1, [x8]
	mov	x0, x25
	bl	_netif_set_gso_max_size
	ldr	w8, [x23]
	ldr	w9, [x20]
	orr	w8, w9, w8
Lloh96:
	adrp	x9, _NETIF_F_GSO_UDP_TUNNEL@GOTPAGE
Lloh97:
	ldr	x9, [x9, _NETIF_F_GSO_UDP_TUNNEL@GOTPAGEOFF]
Lloh98:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh99:
	adrp	x9, _NETIF_F_HW_CSUM@GOTPAGE
Lloh100:
	ldr	x9, [x9, _NETIF_F_HW_CSUM@GOTPAGEOFF]
Lloh101:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh102:
	adrp	x9, _NETIF_F_SG@GOTPAGE
Lloh103:
	ldr	x9, [x9, _NETIF_F_SG@GOTPAGEOFF]
Lloh104:
	ldr	w9, [x9]
	orr	w8, w8, w9
	ldr	w9, [x28]
	orr	w8, w8, w9
	ldr	w9, [x24]
	orr	w8, w8, w9
Lloh105:
	adrp	x9, _NETIF_F_TSO6@GOTPAGE
Lloh106:
	ldr	x9, [x9, _NETIF_F_TSO6@GOTPAGEOFF]
Lloh107:
	ldr	w9, [x9]
	orr	w8, w8, w9
	ldr	w9, [x21]
	orr	w10, w8, w9
	bic	w8, w8, w9
	ldur	w9, [x27, #-60]
	stp	w8, w9, [x25]
Lloh108:
	adrp	x8, _NETIF_F_HW_VLAN_CTAG_FILTER@GOTPAGE
Lloh109:
	ldr	x8, [x8, _NETIF_F_HW_VLAN_CTAG_FILTER@GOTPAGEOFF]
Lloh110:
	ldr	w8, [x8]
Lloh111:
	adrp	x11, _NETIF_F_HW_VLAN_CTAG_RX@GOTPAGE
Lloh112:
	ldr	x11, [x11, _NETIF_F_HW_VLAN_CTAG_RX@GOTPAGEOFF]
Lloh113:
	ldr	w11, [x11]
	orr	w8, w8, w9
Lloh114:
	adrp	x9, _NETIF_F_HW_VLAN_CTAG_TX@GOTPAGE
Lloh115:
	ldr	x9, [x9, _NETIF_F_HW_VLAN_CTAG_TX@GOTPAGEOFF]
Lloh116:
	ldr	w9, [x9]
	orr	w8, w8, w11
	orr	w8, w8, w9
	stp	w8, w10, [x27, #-60]
	ldr	w9, [x21]
	bic	w9, w8, w9
	bic	w8, w8, w11
	stp	w9, w8, [x25, #8]
Lloh117:
	adrp	x8, _LIO_MIN_MTU_SIZE@GOTPAGE
Lloh118:
	ldr	x8, [x8, _LIO_MIN_MTU_SIZE@GOTPAGEOFF]
Lloh119:
	ldr	w8, [x8]
Lloh120:
	adrp	x9, _LIO_MAX_MTU_SIZE@GOTPAGE
Lloh121:
	ldr	x9, [x9, _LIO_MAX_MTU_SIZE@GOTPAGEOFF]
Lloh122:
	ldr	w9, [x9]
	stp	w9, w8, [x25, #20]
	ldur	x8, [x29, #-112]                ; 8-byte Folded Reload
	ldr	w0, [x8]
	mov	w1, #1
	bl	_WRITE_ONCE
	stur	x19, [x27, #-48]
	ldur	x8, [x29, #-120]                ; 8-byte Folded Reload
	stp	x25, x8, [x27, #24]
	ldr	x24, [x19, #32]
	ldr	x0, [x27]
	ldr	w20, [x27, #8]
	bl	_CVM_CAST64
                                        ; kill: def $w0 killed $w0 def $x0
	stp	x20, x0, [sp, #-16]!
	mov	x0, x24
Lloh123:
	adrp	x1, l_.str.6@PAGE
Lloh124:
	add	x1, x1, l_.str.6@PAGEOFF
	ldur	x21, [x29, #-96]                ; 8-byte Folded Reload
	mov	x2, x21
	bl	_dev_dbg
	add	sp, sp, #16
	mov	x0, x27
	mov	w1, #1
	bl	_octeon_swap_8B_data
Lloh125:
	adrp	x8, _ETH_ALEN@GOTPAGE
Lloh126:
	ldr	x8, [x8, _ETH_ALEN@GOTPAGEOFF]
Lloh127:
	ldrsw	x8, [x8]
	ldur	x27, [x29, #-136]               ; 8-byte Folded Reload
	ldur	x20, [x29, #-104]               ; 8-byte Folded Reload
	cbz	w8, LBB0_28
; %bb.23:                               ;   in Loop: Header=BB0_2 Depth=1
	cmp	w8, #8
	b.lo	LBB0_25
; %bb.24:                               ;   in Loop: Header=BB0_2 Depth=1
	sub	x9, x27, x26
	sub	x9, x9, #80
	cmp	x9, #64
	b.hs	LBB0_36
LBB0_25:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x9, #0
LBB0_26:                                ;   in Loop: Header=BB0_2 Depth=1
	sub	x8, x8, x9
	lsl	x10, x9, #3
	add	x9, x27, x10
	add	x10, x26, x10
	add	x10, x10, #80
LBB0_27:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x11, [x10], #8
	str	x11, [x9], #8
	subs	x8, x8, #1
	b.ne	LBB0_27
LBB0_28:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w0, [x25, #16]
	mov	x1, x27
	bl	_ether_addr_copy
	ldp	w3, w2, [x26, #40]
	mov	x0, x19
	mov	x1, x21
	bl	_liquidio_setup_io_queues
	cbnz	x0, LBB0_46
; %bb.29:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh128:
	adrp	x8, _LIO_IFSTATE_DROQ_OPS@GOTPAGE
Lloh129:
	ldr	x8, [x8, _LIO_IFSTATE_DROQ_OPS@GOTPAGEOFF]
Lloh130:
	ldr	w1, [x8]
	mov	x0, x26
	bl	_ifstate_set
	ldr	x8, [x19, #40]
Lloh131:
	adrp	x9, _OCTEON_ALL_INTR@GOTPAGE
Lloh132:
	ldr	x9, [x9, _OCTEON_ALL_INTR@GOTPAGEOFF]
Lloh133:
	ldr	w1, [x9]
	mov	x0, x19
	blr	x8
	ldp	x9, x8, [x26, #48]
	ldr	w1, [x8]
	str	w1, [x26, #32]
	ldr	w8, [x9]
	str	w8, [x26, #24]
	mov	x0, x19
	bl	_octeon_get_tx_qsize
	str	w0, [x26, #36]
	ldr	w1, [x26, #24]
	mov	x0, x19
	bl	_octeon_get_rx_qsize
	str	w0, [x26, #28]
	mov	x0, x19
	mov	x1, x26
	mov	x2, x20
	bl	_lio_setup_glists
	cbnz	x0, LBB0_47
; %bb.30:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x25
	bl	_liquidio_set_ethtool_ops
	ldr	x8, [x26, #16]
	ldr	x8, [x8, #16]
Lloh134:
	adrp	x9, _OCTEON_CN23XX_VF_VID@GOTPAGE
Lloh135:
	ldr	x9, [x9, _OCTEON_CN23XX_VF_VID@GOTPAGEOFF]
Lloh136:
	ldr	x9, [x9]
Lloh137:
	adrp	x10, _OCT_PRIV_FLAG_DEFAULT@GOTPAGE
Lloh138:
	ldr	x10, [x10, _OCT_PRIV_FLAG_DEFAULT@GOTPAGEOFF]
Lloh139:
	ldr	w10, [x10]
	cmp	x8, x9
	csel	w8, w10, wzr, eq
	str	w8, [x19, #24]
	ldr	w8, [x25, #8]
Lloh140:
	adrp	x9, _NETIF_F_LRO@GOTPAGE
Lloh141:
	ldr	x9, [x9, _NETIF_F_LRO@GOTPAGEOFF]
Lloh142:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_32
; %bb.31:                               ;   in Loop: Header=BB0_2 Depth=1
Lloh143:
	adrp	x8, _OCTNET_CMD_LRO_ENABLE@GOTPAGE
Lloh144:
	ldr	x8, [x8, _OCTNET_CMD_LRO_ENABLE@GOTPAGEOFF]
Lloh145:
	ldr	w1, [x8]
Lloh146:
	adrp	x8, _OCTNIC_LROIPV4@GOTPAGE
Lloh147:
	ldr	x8, [x8, _OCTNIC_LROIPV4@GOTPAGEOFF]
Lloh148:
	ldr	w8, [x8]
Lloh149:
	adrp	x9, _OCTNIC_LROIPV6@GOTPAGE
Lloh150:
	ldr	x9, [x9, _OCTNIC_LROIPV6@GOTPAGEOFF]
Lloh151:
	ldr	w9, [x9]
	orr	w2, w9, w8
	mov	x0, x25
	bl	_liquidio_set_feature
LBB0_32:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x25
	bl	_setup_link_status_change_wq
	cbnz	x0, LBB0_50
; %bb.33:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x25
	bl	_setup_rx_oom_poll_fn
	cbnz	x0, LBB0_50
; %bb.34:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x25
	bl	_register_netdev
	cbnz	x0, LBB0_48
; %bb.35:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x19, #32]
	ldp	q0, q1, [x27]
	ldp	x8, x9, [x27, #32]
	sub	sp, sp, #48
	stp	x8, x9, [sp, #32]
	stp	q0, q1, [sp]
Lloh152:
	adrp	x1, l_.str.10@PAGE
Lloh153:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x2, x21
	bl	_dev_dbg
	add	sp, sp, #48
	mov	x0, x25
	bl	_netif_carrier_off
	ldr	w8, [x26, #12]
	add	w8, w8, #1
	str	w8, [x26, #12]
Lloh154:
	adrp	x8, _LIO_IFSTATE_REGISTERED@GOTPAGE
Lloh155:
	ldr	x8, [x8, _LIO_IFSTATE_REGISTERED@GOTPAGEOFF]
Lloh156:
	ldr	w1, [x8]
	mov	x0, x26
	bl	_ifstate_set
Lloh157:
	adrp	x8, _OCTNET_CMD_TNL_RX_CSUM_CTL@GOTPAGE
Lloh158:
	ldr	x8, [x8, _OCTNET_CMD_TNL_RX_CSUM_CTL@GOTPAGEOFF]
Lloh159:
	ldr	w1, [x8]
Lloh160:
	adrp	x8, _OCTNET_CMD_RXCSUM_ENABLE@GOTPAGE
Lloh161:
	ldr	x8, [x8, _OCTNET_CMD_RXCSUM_ENABLE@GOTPAGEOFF]
Lloh162:
	ldr	w2, [x8]
	mov	x0, x25
	bl	_liquidio_set_rxcsum_command
Lloh163:
	adrp	x8, _OCTNET_CMD_TNL_TX_CSUM_CTL@GOTPAGE
Lloh164:
	ldr	x8, [x8, _OCTNET_CMD_TNL_TX_CSUM_CTL@GOTPAGEOFF]
Lloh165:
	ldr	w1, [x8]
Lloh166:
	adrp	x8, _OCTNET_CMD_TXCSUM_ENABLE@GOTPAGE
Lloh167:
	ldr	x8, [x8, _OCTNET_CMD_TXCSUM_ENABLE@GOTPAGEOFF]
Lloh168:
	ldr	w2, [x8]
	mov	x0, x25
	bl	_liquidio_set_feature
	ldr	x0, [x19, #32]
Lloh169:
	adrp	x1, l_.str.11@PAGE
Lloh170:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x2, x21
	bl	_dev_dbg
	mov	w8, #1
	str	w8, [x19, #28]
	add	x21, x21, #1
	ldr	x8, [x19, #8]
	add	x22, x22, #1
	cmp	x21, x8
	b.lo	LBB0_2
	b	LBB0_39
LBB0_36:                                ;   in Loop: Header=BB0_2 Depth=1
	and	x9, x8, #0xfffffffffffffff8
	add	x10, x26, #128
	ldur	x11, [x29, #-144]               ; 8-byte Folded Reload
	mov	x12, x9
LBB0_37:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q0, q1, [x10, #-48]
	ldp	q2, q3, [x10, #-16]
	stp	q0, q1, [x11, #-32]
	stp	q2, q3, [x11], #64
	add	x10, x10, #64
	subs	x12, x12, #8
	b.ne	LBB0_37
; %bb.38:                               ;   in Loop: Header=BB0_2 Depth=1
	cmp	x9, x8
	b.eq	LBB0_28
	b	LBB0_26
LBB0_39:
	mov	w0, #0
	b	LBB0_55
LBB0_40:
	ldr	x8, [x19, #32]
	str	x0, [sp, #-16]!
Lloh171:
	adrp	x1, l_.str@PAGE
Lloh172:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x8
	bl	_dev_err
	add	sp, sp, #16
	mov	x0, x19
	mov	x1, x24
	bl	_octeon_free_soft_command
	b	LBB0_42
LBB0_41:
	ldr	x0, [x19, #32]
	str	x8, [sp, #-16]!
Lloh173:
	adrp	x1, l_.str.1@PAGE
Lloh174:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_dev_err
	add	sp, sp, #16
	ldr	w0, [x24]
	mov	w1, #1
	bl	_WRITE_ONCE
LBB0_42:
Lloh175:
	adrp	x8, _EIO@GOTPAGE
Lloh176:
	ldr	x8, [x8, _EIO@GOTPAGEOFF]
	b	LBB0_54
LBB0_43:
                                        ; kill: def $w9 killed $w9 killed $x9 def $x9
                                        ; kill: def $w8 killed $w8 killed $x8 def $x8
	stp	x8, x9, [sp, #-16]!
Lloh177:
	adrp	x1, l_.str.3@PAGE
Lloh178:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_dev_err
	add	sp, sp, #16
	b	LBB0_45
LBB0_44:
Lloh179:
	adrp	x8, l_.str.5@PAGE
Lloh180:
	add	x8, x8, l_.str.5@PAGEOFF
	mov	x0, x1
	mov	x1, x8
	bl	_dev_err
LBB0_45:
	ldr	w0, [x24]
	mov	w1, #1
	bl	_WRITE_ONCE
	b	LBB0_53
LBB0_46:
Lloh181:
	adrp	x1, l_.str.7@PAGE
Lloh182:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_49
LBB0_47:
Lloh183:
	adrp	x1, l_.str.8@PAGE
Lloh184:
	add	x1, x1, l_.str.8@PAGEOFF
	b	LBB0_49
LBB0_48:
Lloh185:
	adrp	x1, l_.str.9@PAGE
Lloh186:
	add	x1, x1, l_.str.9@PAGEOFF
LBB0_49:
	ldr	x0, [x19, #32]
	bl	_dev_err
LBB0_50:
	cbz	x21, LBB0_53
; %bb.51:
Lloh187:
	adrp	x20, l_.str.12@PAGE
Lloh188:
	add	x20, x20, l_.str.12@PAGEOFF
LBB0_52:                                ; =>This Inner Loop Header: Depth=1
	ldr	x0, [x19, #32]
	str	x22, [sp, #-16]!
	mov	x1, x20
	bl	_dev_err
	add	sp, sp, #16
	mov	x0, x19
	mov	x1, x22
	bl	_liquidio_destroy_nic_device
	sub	x22, x22, #1
	cmn	x22, #1
	b.ne	LBB0_52
LBB0_53:
Lloh189:
	adrp	x8, _ENODEV@GOTPAGE
Lloh190:
	ldr	x8, [x8, _ENODEV@GOTPAGEOFF]
LBB0_54:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_55:
	ldur	x8, [x29, #-88]
Lloh191:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh192:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh193:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_57
; %bb.56:
	sub	sp, x29, #80
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_57:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh125, Lloh126, Lloh127
	.loh AdrpAdd	Lloh123, Lloh124
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh117, Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGot	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGot	Lloh78, Lloh79
	.loh AdrpLdrGot	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh131, Lloh132, Lloh133
	.loh AdrpLdrGotLdr	Lloh128, Lloh129, Lloh130
	.loh AdrpLdrGotLdr	Lloh140, Lloh141, Lloh142
	.loh AdrpLdrGotLdr	Lloh137, Lloh138, Lloh139
	.loh AdrpLdrGotLdr	Lloh134, Lloh135, Lloh136
	.loh AdrpLdrGotLdr	Lloh149, Lloh150, Lloh151
	.loh AdrpLdrGotLdr	Lloh146, Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh143, Lloh144, Lloh145
	.loh AdrpAdd	Lloh169, Lloh170
	.loh AdrpLdrGotLdr	Lloh166, Lloh167, Lloh168
	.loh AdrpLdrGotLdr	Lloh163, Lloh164, Lloh165
	.loh AdrpLdrGotLdr	Lloh160, Lloh161, Lloh162
	.loh AdrpLdrGotLdr	Lloh157, Lloh158, Lloh159
	.loh AdrpLdrGotLdr	Lloh154, Lloh155, Lloh156
	.loh AdrpAdd	Lloh152, Lloh153
	.loh AdrpAdd	Lloh171, Lloh172
	.loh AdrpAdd	Lloh173, Lloh174
	.loh AdrpLdrGot	Lloh175, Lloh176
	.loh AdrpAdd	Lloh177, Lloh178
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpAdd	Lloh181, Lloh182
	.loh AdrpAdd	Lloh183, Lloh184
	.loh AdrpAdd	Lloh185, Lloh186
	.loh AdrpAdd	Lloh187, Lloh188
	.loh AdrpLdrGot	Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh191, Lloh192, Lloh193
	.cfi_endproc
                                        ; -- End function
	.comm	_ETH_ALEN,4,2                   ; @ETH_ALEN
	.comm	_OPCODE_NIC,4,2                 ; @OPCODE_NIC
	.comm	_OPCODE_NIC_INFO,4,2            ; @OPCODE_NIC_INFO
	.comm	_lio_nic_info,4,2               ; @lio_nic_info
	.comm	_REQTYPE_NORESP_NET,4,2         ; @REQTYPE_NORESP_NET
	.comm	_free_netbuf,4,2                ; @free_netbuf
	.comm	_REQTYPE_NORESP_NET_SG,4,2      ; @REQTYPE_NORESP_NET_SG
	.comm	_free_netsgbuf,4,2              ; @free_netsgbuf
	.comm	_REQTYPE_RESP_NET_SG,4,2        ; @REQTYPE_RESP_NET_SG
	.comm	_free_netsgbuf_with_resp,4,2    ; @free_netsgbuf_with_resp
	.comm	_LIQUIDIO_BASE_MAJOR_VERSION,4,2 ; @LIQUIDIO_BASE_MAJOR_VERSION
	.comm	_LIQUIDIO_BASE_MINOR_VERSION,4,2 ; @LIQUIDIO_BASE_MINOR_VERSION
	.comm	_LIQUIDIO_BASE_MICRO_VERSION,4,2 ; @LIQUIDIO_BASE_MICRO_VERSION
	.comm	_OPCODE_NIC_IF_CFG,4,2          ; @OPCODE_NIC_IF_CFG
	.comm	_OCTEON_REQUEST_PENDING,4,2     ; @OCTEON_REQUEST_PENDING
	.comm	_IQ_SEND_FAILED,4,2             ; @IQ_SEND_FAILED
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"iq/oq config failed status: %x\n"

	.comm	_EIO,4,2                        ; @EIO
l_.str.1:                               ; @.str.1
	.asciz	"iq/oq config failed, retval = %d\n"

l_.str.2:                               ; @.str.2
	.asciz	"%s"

l_.str.3:                               ; @.str.3
	.asciz	"Got bad iqueues (%016llx) or oqueues (%016llx) from firmware.\n"

l_.str.4:                               ; @.str.4
	.asciz	"interface %d, iqmask %016llx, oqmask %016llx, numiqueues %d, numoqueues %d\n"

	.comm	_LIO_SIZE,4,2                   ; @LIO_SIZE
l_.str.5:                               ; @.str.5
	.asciz	"Device allocation failed\n"

	.comm	_lionetdevops,4,2               ; @lionetdevops
	.comm	_debug,4,2                      ; @debug
	.comm	_DEFAULT_MSG_ENABLE,4,2         ; @DEFAULT_MSG_ENABLE
	.comm	_NETIF_F_HIGHDMA,4,2            ; @NETIF_F_HIGHDMA
	.comm	_NETIF_F_IP_CSUM,4,2            ; @NETIF_F_IP_CSUM
	.comm	_NETIF_F_IPV6_CSUM,4,2          ; @NETIF_F_IPV6_CSUM
	.comm	_NETIF_F_SG,4,2                 ; @NETIF_F_SG
	.comm	_NETIF_F_RXCSUM,4,2             ; @NETIF_F_RXCSUM
	.comm	_NETIF_F_TSO,4,2                ; @NETIF_F_TSO
	.comm	_NETIF_F_TSO6,4,2               ; @NETIF_F_TSO6
	.comm	_NETIF_F_GRO,4,2                ; @NETIF_F_GRO
	.comm	_NETIF_F_LRO,4,2                ; @NETIF_F_LRO
	.comm	_OCTNIC_GSO_MAX_SIZE,4,2        ; @OCTNIC_GSO_MAX_SIZE
	.comm	_NETIF_F_GSO_UDP_TUNNEL,4,2     ; @NETIF_F_GSO_UDP_TUNNEL
	.comm	_NETIF_F_HW_CSUM,4,2            ; @NETIF_F_HW_CSUM
	.comm	_NETIF_F_HW_VLAN_CTAG_FILTER,4,2 ; @NETIF_F_HW_VLAN_CTAG_FILTER
	.comm	_NETIF_F_HW_VLAN_CTAG_RX,4,2    ; @NETIF_F_HW_VLAN_CTAG_RX
	.comm	_NETIF_F_HW_VLAN_CTAG_TX,4,2    ; @NETIF_F_HW_VLAN_CTAG_TX
	.comm	_LIO_MIN_MTU_SIZE,4,2           ; @LIO_MIN_MTU_SIZE
	.comm	_LIO_MAX_MTU_SIZE,4,2           ; @LIO_MAX_MTU_SIZE
l_.str.6:                               ; @.str.6
	.asciz	"if%d gmx: %d hw_addr: 0x%llx\n"

l_.str.7:                               ; @.str.7
	.asciz	"I/O queues creation failed\n"

	.comm	_LIO_IFSTATE_DROQ_OPS,4,2       ; @LIO_IFSTATE_DROQ_OPS
	.comm	_OCTEON_ALL_INTR,4,2            ; @OCTEON_ALL_INTR
l_.str.8:                               ; @.str.8
	.asciz	"Gather list allocation failed\n"

	.comm	_OCTEON_CN23XX_VF_VID,8,3       ; @OCTEON_CN23XX_VF_VID
	.comm	_OCT_PRIV_FLAG_DEFAULT,4,2      ; @OCT_PRIV_FLAG_DEFAULT
	.comm	_OCTNET_CMD_LRO_ENABLE,4,2      ; @OCTNET_CMD_LRO_ENABLE
	.comm	_OCTNIC_LROIPV4,4,2             ; @OCTNIC_LROIPV4
	.comm	_OCTNIC_LROIPV6,4,2             ; @OCTNIC_LROIPV6
l_.str.9:                               ; @.str.9
	.asciz	"Device registration failed\n"

l_.str.10:                              ; @.str.10
	.asciz	"Setup NIC ifidx:%d mac:%02x%02x%02x%02x%02x%02x\n"

	.comm	_LIO_IFSTATE_REGISTERED,4,2     ; @LIO_IFSTATE_REGISTERED
	.comm	_OCTNET_CMD_TNL_RX_CSUM_CTL,4,2 ; @OCTNET_CMD_TNL_RX_CSUM_CTL
	.comm	_OCTNET_CMD_RXCSUM_ENABLE,4,2   ; @OCTNET_CMD_RXCSUM_ENABLE
	.comm	_OCTNET_CMD_TNL_TX_CSUM_CTL,4,2 ; @OCTNET_CMD_TNL_TX_CSUM_CTL
	.comm	_OCTNET_CMD_TXCSUM_ENABLE,4,2   ; @OCTNET_CMD_TXCSUM_ENABLE
l_.str.11:                              ; @.str.11
	.asciz	"NIC ifidx:%d Setup successful\n"

l_.str.12:                              ; @.str.12
	.asciz	"NIC ifidx:%d Setup failed\n"

	.comm	_ENODEV,4,2                     ; @ENODEV
	.no_dead_strip	_setup_nic_devices
.subsections_via_symbols
