	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_rvt_register_device            ## -- Begin function rvt_register_device
	.p2align	4, 0x90
_rvt_register_device:                   ## @rvt_register_device
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testq	%rdi, %rdi
	je	LBB0_22
## %bb.1:
	movq	%rdi, %r15
	movq	__VERB_IDX_MAX@GOTPCREL(%rip), %r14
	cmpl	$0, (%r14)
	jle	LBB0_6
## %bb.2:
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movq	%r15, %rdi
	movl	%ebx, %esi
	callq	_check_support
	testq	%rax, %rax
	jne	LBB0_4
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	incl	%ebx
	cmpl	(%r14), %ebx
	jl	LBB0_3
LBB0_6:
	movq	_rvt_dev_ops@GOTPCREL(%rip), %rsi
	movq	%r15, %rdi
	callq	_ib_set_device_ops
	leaq	L_.str.1(%rip), %rsi
	movq	%r15, %rdi
	callq	_trace_rvt_dbg
	movq	%r15, %rdi
	callq	_rvt_mmap_init
	movq	%r15, %rdi
	callq	_rvt_driver_qp_init
	testl	%eax, %eax
	je	LBB0_9
## %bb.7:
	leaq	L_.str.2(%rip), %rdi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_pr_err
	jmp	LBB0_8
LBB0_22:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%r14d, %r14d
	subl	(%rax), %r14d
	jmp	LBB0_21
LBB0_4:
	leaq	L_.str(%rip), %rdi
	xorl	%r14d, %r14d
	movl	%ebx, %esi
	xorl	%eax, %eax
	callq	_pr_err
LBB0_8:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	subl	(%rax), %r14d
	jmp	LBB0_21
LBB0_9:
	leaq	56(%r15), %rdi
	callq	_spin_lock_init
	movq	$0, 48(%r15)
	movq	%r15, %rdi
	callq	_rvt_driver_srq_init
	movq	%r15, %rdi
	callq	_rvt_driver_mcast_init
	movq	%r15, %rdi
	callq	_rvt_driver_mr_init
	testl	%eax, %eax
	je	LBB0_11
## %bb.10:
	movl	%eax, %r14d
	leaq	L_.str.3(%rip), %rdi
	xorl	%eax, %eax
	callq	_pr_err
	jmp	LBB0_20
LBB0_11:
	movq	%r15, %rdi
	callq	_rvt_wss_init
	testl	%eax, %eax
	je	LBB0_13
## %bb.12:
	movl	%eax, %r14d
	leaq	L_.str.4(%rip), %rsi
	movq	%r15, %rdi
	callq	_rvt_pr_err
	jmp	LBB0_19
LBB0_13:
	leaq	44(%r15), %rdi
	callq	_spin_lock_init
	movq	16(%r15), %rax
	testq	%rax, %rax
	jne	LBB0_15
## %bb.14:
	movq	_dma_virt_ops@GOTPCREL(%rip), %rax
LBB0_15:
	leaq	16(%r15), %r14
	movq	%rax, 16(%r15)
	leaq	40(%r15), %rdi
	callq	_spin_lock_init
	movq	$0, 32(%r15)
	movq	_IB_USER_VERBS_CMD_GET_CONTEXT@GOTPCREL(%rip), %rdx
	movq	_IB_USER_VERBS_CMD_QUERY_DEVICE@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	$1, %eax
	shlq	%cl, %rax
	movb	(%rdx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_QUERY_PORT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_ALLOC_PD@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DEALLOC_PD@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_CREATE_AH@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_MODIFY_AH@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_QUERY_AH@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DESTROY_AH@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_REG_MR@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DEREG_MR@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_CREATE_CQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_RESIZE_CQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DESTROY_CQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_POLL_CQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_REQ_NOTIFY_CQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_CREATE_QP@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_QUERY_QP@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_MODIFY_QP@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DESTROY_QP@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_POST_SEND@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_POST_RECV@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_ATTACH_MCAST@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DETACH_MCAST@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_CREATE_SRQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_MODIFY_SRQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_QUERY_SRQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_DESTROY_SRQ@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	_IB_USER_VERBS_CMD_POST_SRQ_RECV@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	btsq	%rcx, %rax
	movq	%rax, (%r15)
	movq	_RDMA_NODE_IB_CA@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 24(%r15)
	cmpl	$0, 8(%r15)
	jne	LBB0_17
## %bb.16:
	movl	$1, 8(%r15)
LBB0_17:
	movq	%r14, %rdi
	callq	_dev_name
	movq	%r15, %rdi
	movl	%eax, %esi
	callq	_ib_register_device
	testl	%eax, %eax
	je	LBB0_23
## %bb.18:
	movl	%eax, %r14d
	leaq	L_.str.5(%rip), %rsi
	movq	%r15, %rdi
	callq	_rvt_pr_err
	movq	%r15, %rdi
	callq	_rvt_wss_exit
LBB0_19:
	movq	%r15, %rdi
	callq	_rvt_mr_exit
LBB0_20:
	movq	%r15, %rdi
	callq	_rvt_qp_exit
LBB0_21:
	movl	%r14d, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_23:
	movq	%r15, %rdi
	callq	_rvt_create_mad_agents
	leaq	L_.str.6(%rip), %rsi
	movq	%r15, %rdi
	callq	_rvt_pr_info
	xorl	%r14d, %r14d
	jmp	LBB0_21
	.cfi_endproc
                                        ## -- End function
	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	__VERB_IDX_MAX,4,2              ## @_VERB_IDX_MAX
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Driver support req not met at %d\n"

	.comm	_rvt_dev_ops,4,2                ## @rvt_dev_ops
L_.str.1:                               ## @.str.1
	.asciz	"Driver attempting registration"

L_.str.2:                               ## @.str.2
	.asciz	"Error in driver QP init.\n"

L_.str.3:                               ## @.str.3
	.asciz	"Error in driver MR init.\n"

L_.str.4:                               ## @.str.4
	.asciz	"Error in WSS init.\n"

	.comm	_dma_virt_ops,4,2               ## @dma_virt_ops
	.comm	_IB_USER_VERBS_CMD_GET_CONTEXT,8,3 ## @IB_USER_VERBS_CMD_GET_CONTEXT
	.comm	_IB_USER_VERBS_CMD_QUERY_DEVICE,8,3 ## @IB_USER_VERBS_CMD_QUERY_DEVICE
	.comm	_IB_USER_VERBS_CMD_QUERY_PORT,8,3 ## @IB_USER_VERBS_CMD_QUERY_PORT
	.comm	_IB_USER_VERBS_CMD_ALLOC_PD,8,3 ## @IB_USER_VERBS_CMD_ALLOC_PD
	.comm	_IB_USER_VERBS_CMD_DEALLOC_PD,8,3 ## @IB_USER_VERBS_CMD_DEALLOC_PD
	.comm	_IB_USER_VERBS_CMD_CREATE_AH,8,3 ## @IB_USER_VERBS_CMD_CREATE_AH
	.comm	_IB_USER_VERBS_CMD_MODIFY_AH,8,3 ## @IB_USER_VERBS_CMD_MODIFY_AH
	.comm	_IB_USER_VERBS_CMD_QUERY_AH,8,3 ## @IB_USER_VERBS_CMD_QUERY_AH
	.comm	_IB_USER_VERBS_CMD_DESTROY_AH,8,3 ## @IB_USER_VERBS_CMD_DESTROY_AH
	.comm	_IB_USER_VERBS_CMD_REG_MR,8,3   ## @IB_USER_VERBS_CMD_REG_MR
	.comm	_IB_USER_VERBS_CMD_DEREG_MR,8,3 ## @IB_USER_VERBS_CMD_DEREG_MR
	.comm	_IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL,8,3 ## @IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL
	.comm	_IB_USER_VERBS_CMD_CREATE_CQ,8,3 ## @IB_USER_VERBS_CMD_CREATE_CQ
	.comm	_IB_USER_VERBS_CMD_RESIZE_CQ,8,3 ## @IB_USER_VERBS_CMD_RESIZE_CQ
	.comm	_IB_USER_VERBS_CMD_DESTROY_CQ,8,3 ## @IB_USER_VERBS_CMD_DESTROY_CQ
	.comm	_IB_USER_VERBS_CMD_POLL_CQ,8,3  ## @IB_USER_VERBS_CMD_POLL_CQ
	.comm	_IB_USER_VERBS_CMD_REQ_NOTIFY_CQ,8,3 ## @IB_USER_VERBS_CMD_REQ_NOTIFY_CQ
	.comm	_IB_USER_VERBS_CMD_CREATE_QP,8,3 ## @IB_USER_VERBS_CMD_CREATE_QP
	.comm	_IB_USER_VERBS_CMD_QUERY_QP,8,3 ## @IB_USER_VERBS_CMD_QUERY_QP
	.comm	_IB_USER_VERBS_CMD_MODIFY_QP,8,3 ## @IB_USER_VERBS_CMD_MODIFY_QP
	.comm	_IB_USER_VERBS_CMD_DESTROY_QP,8,3 ## @IB_USER_VERBS_CMD_DESTROY_QP
	.comm	_IB_USER_VERBS_CMD_POST_SEND,8,3 ## @IB_USER_VERBS_CMD_POST_SEND
	.comm	_IB_USER_VERBS_CMD_POST_RECV,8,3 ## @IB_USER_VERBS_CMD_POST_RECV
	.comm	_IB_USER_VERBS_CMD_ATTACH_MCAST,8,3 ## @IB_USER_VERBS_CMD_ATTACH_MCAST
	.comm	_IB_USER_VERBS_CMD_DETACH_MCAST,8,3 ## @IB_USER_VERBS_CMD_DETACH_MCAST
	.comm	_IB_USER_VERBS_CMD_CREATE_SRQ,8,3 ## @IB_USER_VERBS_CMD_CREATE_SRQ
	.comm	_IB_USER_VERBS_CMD_MODIFY_SRQ,8,3 ## @IB_USER_VERBS_CMD_MODIFY_SRQ
	.comm	_IB_USER_VERBS_CMD_QUERY_SRQ,8,3 ## @IB_USER_VERBS_CMD_QUERY_SRQ
	.comm	_IB_USER_VERBS_CMD_DESTROY_SRQ,8,3 ## @IB_USER_VERBS_CMD_DESTROY_SRQ
	.comm	_IB_USER_VERBS_CMD_POST_SRQ_RECV,8,3 ## @IB_USER_VERBS_CMD_POST_SRQ_RECV
	.comm	_RDMA_NODE_IB_CA,4,2            ## @RDMA_NODE_IB_CA
L_.str.5:                               ## @.str.5
	.asciz	"Failed to register driver with ib core.\n"

L_.str.6:                               ## @.str.6
	.asciz	"Registration with rdmavt done.\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_rvt_register_device            ; -- Begin function rvt_register_device
	.p2align	2
_rvt_register_device:                   ; @rvt_register_device
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	cbz	x0, LBB0_9
; %bb.1:
	mov	x19, x0
Lloh0:
	adrp	x21, __VERB_IDX_MAX@GOTPAGE
Lloh1:
	ldr	x21, [x21, __VERB_IDX_MAX@GOTPAGEOFF]
	ldr	w8, [x21]
	cmp	w8, #1
	b.lt	LBB0_5
; %bb.2:
	mov	w20, #0
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x19
	mov	x1, x20
	bl	_check_support
	cbnz	x0, LBB0_7
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	add	w20, w20, #1
	ldr	w8, [x21]
	cmp	w20, w8
	b.lt	LBB0_3
LBB0_5:
Lloh2:
	adrp	x1, _rvt_dev_ops@GOTPAGE
Lloh3:
	ldr	x1, [x1, _rvt_dev_ops@GOTPAGEOFF]
	mov	x0, x19
	bl	_ib_set_device_ops
Lloh4:
	adrp	x1, l_.str.1@PAGE
Lloh5:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x19
	bl	_trace_rvt_dbg
	mov	x0, x19
	bl	_rvt_mmap_init
	mov	x0, x19
	bl	_rvt_driver_qp_init
	cbz	w0, LBB0_11
; %bb.6:
Lloh6:
	adrp	x0, l_.str.2@PAGE
Lloh7:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_8
LBB0_7:
	str	x20, [sp]
Lloh8:
	adrp	x0, l_.str@PAGE
Lloh9:
	add	x0, x0, l_.str@PAGEOFF
LBB0_8:
	bl	_pr_err
LBB0_9:
Lloh10:
	adrp	x8, _EINVAL@GOTPAGE
Lloh11:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
	neg	w20, w8
LBB0_10:
	mov	x0, x20
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_11:
	add	x0, x19, #56
	bl	_spin_lock_init
	str	xzr, [x19, #48]
	mov	x0, x19
	bl	_rvt_driver_srq_init
	mov	x0, x19
	bl	_rvt_driver_mcast_init
	mov	x0, x19
	bl	_rvt_driver_mr_init
	cbz	w0, LBB0_13
; %bb.12:
	mov	x20, x0
Lloh13:
	adrp	x0, l_.str.3@PAGE
Lloh14:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_pr_err
	b	LBB0_20
LBB0_13:
	mov	x0, x19
	bl	_rvt_wss_init
	cbz	w0, LBB0_15
; %bb.14:
	mov	x20, x0
Lloh15:
	adrp	x1, l_.str.4@PAGE
Lloh16:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x19
	bl	_rvt_pr_err
	b	LBB0_19
LBB0_15:
	add	x0, x19, #44
	bl	_spin_lock_init
	mov	x20, x19
	ldr	x8, [x20, #16]!
Lloh17:
	adrp	x9, _dma_virt_ops@GOTPAGE
Lloh18:
	ldr	x9, [x9, _dma_virt_ops@GOTPAGEOFF]
	cmp	x8, #0
	csel	x8, x9, x8, eq
	str	x8, [x20]
	add	x0, x19, #40
	bl	_spin_lock_init
Lloh19:
	adrp	x8, _IB_USER_VERBS_CMD_GET_CONTEXT@GOTPAGE
Lloh20:
	ldr	x8, [x8, _IB_USER_VERBS_CMD_GET_CONTEXT@GOTPAGEOFF]
Lloh21:
	ldr	x9, [x8]
	mov	w8, #1
	lsl	x9, x8, x9
Lloh22:
	adrp	x10, _IB_USER_VERBS_CMD_QUERY_DEVICE@GOTPAGE
Lloh23:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_QUERY_DEVICE@GOTPAGEOFF]
Lloh24:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x10, x9
Lloh25:
	adrp	x10, _IB_USER_VERBS_CMD_QUERY_PORT@GOTPAGE
Lloh26:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_QUERY_PORT@GOTPAGEOFF]
Lloh27:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh28:
	adrp	x10, _IB_USER_VERBS_CMD_ALLOC_PD@GOTPAGE
Lloh29:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_ALLOC_PD@GOTPAGEOFF]
Lloh30:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh31:
	adrp	x10, _IB_USER_VERBS_CMD_DEALLOC_PD@GOTPAGE
Lloh32:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DEALLOC_PD@GOTPAGEOFF]
Lloh33:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh34:
	adrp	x10, _IB_USER_VERBS_CMD_CREATE_AH@GOTPAGE
Lloh35:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_CREATE_AH@GOTPAGEOFF]
Lloh36:
	ldr	x10, [x10]
	lsl	x10, x8, x10
Lloh37:
	adrp	x11, _IB_USER_VERBS_CMD_MODIFY_AH@GOTPAGE
Lloh38:
	ldr	x11, [x11, _IB_USER_VERBS_CMD_MODIFY_AH@GOTPAGEOFF]
	orr	x9, x9, x10
Lloh39:
	ldr	x10, [x11]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh40:
	adrp	x10, _IB_USER_VERBS_CMD_QUERY_AH@GOTPAGE
Lloh41:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_QUERY_AH@GOTPAGEOFF]
Lloh42:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh43:
	adrp	x10, _IB_USER_VERBS_CMD_DESTROY_AH@GOTPAGE
Lloh44:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DESTROY_AH@GOTPAGEOFF]
Lloh45:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh46:
	adrp	x10, _IB_USER_VERBS_CMD_REG_MR@GOTPAGE
Lloh47:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_REG_MR@GOTPAGEOFF]
Lloh48:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh49:
	adrp	x10, _IB_USER_VERBS_CMD_DEREG_MR@GOTPAGE
Lloh50:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DEREG_MR@GOTPAGEOFF]
Lloh51:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh52:
	adrp	x10, _IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL@GOTPAGE
Lloh53:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL@GOTPAGEOFF]
Lloh54:
	ldr	x10, [x10]
	lsl	x10, x8, x10
Lloh55:
	adrp	x11, _IB_USER_VERBS_CMD_CREATE_CQ@GOTPAGE
Lloh56:
	ldr	x11, [x11, _IB_USER_VERBS_CMD_CREATE_CQ@GOTPAGEOFF]
	orr	x9, x9, x10
Lloh57:
	ldr	x10, [x11]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh58:
	adrp	x10, _IB_USER_VERBS_CMD_RESIZE_CQ@GOTPAGE
Lloh59:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_RESIZE_CQ@GOTPAGEOFF]
Lloh60:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh61:
	adrp	x10, _IB_USER_VERBS_CMD_DESTROY_CQ@GOTPAGE
Lloh62:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DESTROY_CQ@GOTPAGEOFF]
Lloh63:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh64:
	adrp	x10, _IB_USER_VERBS_CMD_POLL_CQ@GOTPAGE
Lloh65:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_POLL_CQ@GOTPAGEOFF]
Lloh66:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh67:
	adrp	x10, _IB_USER_VERBS_CMD_REQ_NOTIFY_CQ@GOTPAGE
Lloh68:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_REQ_NOTIFY_CQ@GOTPAGEOFF]
Lloh69:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh70:
	adrp	x10, _IB_USER_VERBS_CMD_CREATE_QP@GOTPAGE
Lloh71:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_CREATE_QP@GOTPAGEOFF]
Lloh72:
	ldr	x10, [x10]
	lsl	x10, x8, x10
Lloh73:
	adrp	x11, _IB_USER_VERBS_CMD_QUERY_QP@GOTPAGE
Lloh74:
	ldr	x11, [x11, _IB_USER_VERBS_CMD_QUERY_QP@GOTPAGEOFF]
	orr	x9, x9, x10
Lloh75:
	ldr	x10, [x11]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh76:
	adrp	x10, _IB_USER_VERBS_CMD_MODIFY_QP@GOTPAGE
Lloh77:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_MODIFY_QP@GOTPAGEOFF]
Lloh78:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh79:
	adrp	x10, _IB_USER_VERBS_CMD_DESTROY_QP@GOTPAGE
Lloh80:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DESTROY_QP@GOTPAGEOFF]
Lloh81:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh82:
	adrp	x10, _IB_USER_VERBS_CMD_POST_SEND@GOTPAGE
Lloh83:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_POST_SEND@GOTPAGEOFF]
Lloh84:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh85:
	adrp	x10, _IB_USER_VERBS_CMD_POST_RECV@GOTPAGE
Lloh86:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_POST_RECV@GOTPAGEOFF]
Lloh87:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh88:
	adrp	x10, _IB_USER_VERBS_CMD_ATTACH_MCAST@GOTPAGE
Lloh89:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_ATTACH_MCAST@GOTPAGEOFF]
Lloh90:
	ldr	x10, [x10]
	lsl	x10, x8, x10
Lloh91:
	adrp	x11, _IB_USER_VERBS_CMD_DETACH_MCAST@GOTPAGE
Lloh92:
	ldr	x11, [x11, _IB_USER_VERBS_CMD_DETACH_MCAST@GOTPAGEOFF]
	orr	x9, x9, x10
Lloh93:
	ldr	x10, [x11]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh94:
	adrp	x10, _IB_USER_VERBS_CMD_CREATE_SRQ@GOTPAGE
Lloh95:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_CREATE_SRQ@GOTPAGEOFF]
	str	xzr, [x19, #32]
Lloh96:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh97:
	adrp	x10, _IB_USER_VERBS_CMD_MODIFY_SRQ@GOTPAGE
Lloh98:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_MODIFY_SRQ@GOTPAGEOFF]
Lloh99:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh100:
	adrp	x10, _IB_USER_VERBS_CMD_QUERY_SRQ@GOTPAGE
Lloh101:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_QUERY_SRQ@GOTPAGEOFF]
Lloh102:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh103:
	adrp	x10, _IB_USER_VERBS_CMD_DESTROY_SRQ@GOTPAGE
Lloh104:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_DESTROY_SRQ@GOTPAGEOFF]
Lloh105:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
Lloh106:
	adrp	x10, _IB_USER_VERBS_CMD_POST_SRQ_RECV@GOTPAGE
Lloh107:
	ldr	x10, [x10, _IB_USER_VERBS_CMD_POST_SRQ_RECV@GOTPAGEOFF]
Lloh108:
	ldr	x10, [x10]
	lsl	x10, x8, x10
	orr	x9, x9, x10
	str	x9, [x19]
Lloh109:
	adrp	x9, _RDMA_NODE_IB_CA@GOTPAGE
Lloh110:
	ldr	x9, [x9, _RDMA_NODE_IB_CA@GOTPAGEOFF]
Lloh111:
	ldr	w9, [x9]
	str	w9, [x19, #24]
	ldr	w9, [x19, #8]
	cbnz	w9, LBB0_17
; %bb.16:
	str	w8, [x19, #8]
LBB0_17:
	mov	x0, x20
	bl	_dev_name
	mov	x1, x0
	mov	x0, x19
	bl	_ib_register_device
	mov	x20, x0
	cbz	w0, LBB0_21
; %bb.18:
Lloh112:
	adrp	x1, l_.str.5@PAGE
Lloh113:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	x0, x19
	bl	_rvt_pr_err
	mov	x0, x19
	bl	_rvt_wss_exit
LBB0_19:
	mov	x0, x19
	bl	_rvt_mr_exit
LBB0_20:
	mov	x0, x19
	bl	_rvt_qp_exit
	b	LBB0_10
LBB0_21:
	mov	x0, x19
	bl	_rvt_create_mad_agents
Lloh114:
	adrp	x1, l_.str.6@PAGE
Lloh115:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x19
	bl	_rvt_pr_info
	b	LBB0_10
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.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 AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpAdd	Lloh114, Lloh115
	.cfi_endproc
                                        ; -- End function
	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	__VERB_IDX_MAX,4,2              ; @_VERB_IDX_MAX
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Driver support req not met at %d\n"

	.comm	_rvt_dev_ops,4,2                ; @rvt_dev_ops
l_.str.1:                               ; @.str.1
	.asciz	"Driver attempting registration"

l_.str.2:                               ; @.str.2
	.asciz	"Error in driver QP init.\n"

l_.str.3:                               ; @.str.3
	.asciz	"Error in driver MR init.\n"

l_.str.4:                               ; @.str.4
	.asciz	"Error in WSS init.\n"

	.comm	_dma_virt_ops,4,2               ; @dma_virt_ops
	.comm	_IB_USER_VERBS_CMD_GET_CONTEXT,8,3 ; @IB_USER_VERBS_CMD_GET_CONTEXT
	.comm	_IB_USER_VERBS_CMD_QUERY_DEVICE,8,3 ; @IB_USER_VERBS_CMD_QUERY_DEVICE
	.comm	_IB_USER_VERBS_CMD_QUERY_PORT,8,3 ; @IB_USER_VERBS_CMD_QUERY_PORT
	.comm	_IB_USER_VERBS_CMD_ALLOC_PD,8,3 ; @IB_USER_VERBS_CMD_ALLOC_PD
	.comm	_IB_USER_VERBS_CMD_DEALLOC_PD,8,3 ; @IB_USER_VERBS_CMD_DEALLOC_PD
	.comm	_IB_USER_VERBS_CMD_CREATE_AH,8,3 ; @IB_USER_VERBS_CMD_CREATE_AH
	.comm	_IB_USER_VERBS_CMD_MODIFY_AH,8,3 ; @IB_USER_VERBS_CMD_MODIFY_AH
	.comm	_IB_USER_VERBS_CMD_QUERY_AH,8,3 ; @IB_USER_VERBS_CMD_QUERY_AH
	.comm	_IB_USER_VERBS_CMD_DESTROY_AH,8,3 ; @IB_USER_VERBS_CMD_DESTROY_AH
	.comm	_IB_USER_VERBS_CMD_REG_MR,8,3   ; @IB_USER_VERBS_CMD_REG_MR
	.comm	_IB_USER_VERBS_CMD_DEREG_MR,8,3 ; @IB_USER_VERBS_CMD_DEREG_MR
	.comm	_IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL,8,3 ; @IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL
	.comm	_IB_USER_VERBS_CMD_CREATE_CQ,8,3 ; @IB_USER_VERBS_CMD_CREATE_CQ
	.comm	_IB_USER_VERBS_CMD_RESIZE_CQ,8,3 ; @IB_USER_VERBS_CMD_RESIZE_CQ
	.comm	_IB_USER_VERBS_CMD_DESTROY_CQ,8,3 ; @IB_USER_VERBS_CMD_DESTROY_CQ
	.comm	_IB_USER_VERBS_CMD_POLL_CQ,8,3  ; @IB_USER_VERBS_CMD_POLL_CQ
	.comm	_IB_USER_VERBS_CMD_REQ_NOTIFY_CQ,8,3 ; @IB_USER_VERBS_CMD_REQ_NOTIFY_CQ
	.comm	_IB_USER_VERBS_CMD_CREATE_QP,8,3 ; @IB_USER_VERBS_CMD_CREATE_QP
	.comm	_IB_USER_VERBS_CMD_QUERY_QP,8,3 ; @IB_USER_VERBS_CMD_QUERY_QP
	.comm	_IB_USER_VERBS_CMD_MODIFY_QP,8,3 ; @IB_USER_VERBS_CMD_MODIFY_QP
	.comm	_IB_USER_VERBS_CMD_DESTROY_QP,8,3 ; @IB_USER_VERBS_CMD_DESTROY_QP
	.comm	_IB_USER_VERBS_CMD_POST_SEND,8,3 ; @IB_USER_VERBS_CMD_POST_SEND
	.comm	_IB_USER_VERBS_CMD_POST_RECV,8,3 ; @IB_USER_VERBS_CMD_POST_RECV
	.comm	_IB_USER_VERBS_CMD_ATTACH_MCAST,8,3 ; @IB_USER_VERBS_CMD_ATTACH_MCAST
	.comm	_IB_USER_VERBS_CMD_DETACH_MCAST,8,3 ; @IB_USER_VERBS_CMD_DETACH_MCAST
	.comm	_IB_USER_VERBS_CMD_CREATE_SRQ,8,3 ; @IB_USER_VERBS_CMD_CREATE_SRQ
	.comm	_IB_USER_VERBS_CMD_MODIFY_SRQ,8,3 ; @IB_USER_VERBS_CMD_MODIFY_SRQ
	.comm	_IB_USER_VERBS_CMD_QUERY_SRQ,8,3 ; @IB_USER_VERBS_CMD_QUERY_SRQ
	.comm	_IB_USER_VERBS_CMD_DESTROY_SRQ,8,3 ; @IB_USER_VERBS_CMD_DESTROY_SRQ
	.comm	_IB_USER_VERBS_CMD_POST_SRQ_RECV,8,3 ; @IB_USER_VERBS_CMD_POST_SRQ_RECV
	.comm	_RDMA_NODE_IB_CA,4,2            ; @RDMA_NODE_IB_CA
l_.str.5:                               ; @.str.5
	.asciz	"Failed to register driver with ib core.\n"

l_.str.6:                               ; @.str.6
	.asciz	"Registration with rdmavt done.\n"

.subsections_via_symbols
