	.file	"extr_ali-agp.c_agp_ali_probe.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"M1631"
.LC1:
	.string	"M1632"
.LC2:
	.string	"M1641"
.LC3:
	.string	"M1621"
.LC4:
	.string	"M1647"
.LC5:
	.string	"M1651"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC6:
	.string	"unsupported ALi chipset [%04x/%04x])\n"
	.section	.rodata.str1.1
.LC7:
	.string	"ALi %s chipset\n"
	.text
	.p2align 4
	.type	agp_ali_probe, @function
agp_ali_probe:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	sub	rsp, 24
	.cfi_def_cfa_offset 64
	mov	esi, DWORD PTR PCI_CAP_ID_AGP[rip]
	mov	rbx, QWORD PTR ali_agp_device_ids[rip]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 8[rsp], rax
	xor	eax, eax
	call	pci_find_capability@PLT
	test	rax, rax
	je	.L26
	cmp	QWORD PTR [rbx], 0
	mov	rcx, QWORD PTR 0[rbp]
	mov	r12, rax
	jne	.L3
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L6:
	add	rbx, 16
	cmp	QWORD PTR [rbx], 0
	je	.L4
.L3:
	cmp	QWORD PTR 8[rbx], rcx
	jne	.L6
	xor	eax, eax
	call	agp_alloc_bridge@PLT
	mov	r13, rax
	test	rax, rax
	je	.L28
	mov	QWORD PTR 24[rax], rbp
	mov	QWORD PTR 8[rax], r12
	mov	rax, QWORD PTR 0[rbp]
	cmp	rax, 128
	je	.L9
	cmp	rax, 129
	je	.L10
.L13:
	mov	rdx, QWORD PTR [rbx]
.L11:
	lea	rax, ali_generic_bridge[rip]
	mov	QWORD PTR 16[r13], rax
.L12:
	lea	rdi, 8[rbp]
	lea	rsi, .LC7[rip]
	call	dev_info@PLT
	mov	rdx, r13
	mov	rdi, rbp
	mov	rsi, QWORD PTR PCI_AGP_STATUS[rip]
	add	rsi, QWORD PTR 8[r13]
	call	pci_read_config_dword@PLT
	mov	rdi, rbp
	mov	rsi, r13
	call	pci_set_drvdata@PLT
	mov	rdi, r13
	call	agp_add_bridge@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L4:
	mov	edx, DWORD PTR 12[rbp]
	lea	rdi, 8[rbp]
	lea	rsi, .LC6[rip]
	call	dev_err@PLT
.L26:
	mov	eax, DWORD PTR ENODEV[rip]
	neg	eax
.L1:
	mov	rdx, QWORD PTR 8[rsp]
	xor	rdx, QWORD PTR fs:40
	jne	.L29
	add	rsp, 24
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L10:
	.cfi_restore_state
	lea	rax, ali_m1541_bridge[rip]
	mov	rdx, QWORD PTR [rbx]
	mov	QWORD PTR 16[r13], rax
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L9:
	mov	rdx, rsp
	mov	esi, 251
	mov	rdi, rbp
	call	pci_read_config_byte@PLT
	mov	rax, QWORD PTR [rsp]
	sub	rax, 49
	cmp	rax, 32
	ja	.L13
	lea	rdx, .L15[rip]
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L15:
	.long	.L20-.L15
	.long	.L19-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L18-.L15
	.long	.L13-.L15
	.long	.L17-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L16-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L13-.L15
	.long	.L14-.L15
	.text
.L28:
	mov	eax, DWORD PTR ENOMEM[rip]
	neg	eax
	jmp	.L1
.L14:
	lea	rdx, .LC5[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L16:
	lea	rdx, .LC4[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L17:
	lea	rdx, .LC3[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L18:
	lea	rdx, .LC2[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L19:
	lea	rdx, .LC1[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L20:
	lea	rdx, .LC0[rip]
	mov	QWORD PTR [rbx], rdx
	jmp	.L11
.L29:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	agp_ali_probe, .-agp_ali_probe
	.comm	ali_m1541_bridge,4,4
	.comm	ali_generic_bridge,4,4
	.comm	ali_agp_device_ids,8,8
	.comm	PCI_CAP_ID_AGP,4,4
	.comm	PCI_AGP_STATUS,8,8
	.comm	ENOMEM,4,4
	.comm	ENODEV,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_ali-agp.c_agp_ali_probe.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"M1631\000"
	.align	2
.LC1:
	.ascii	"M1632\000"
	.align	2
.LC2:
	.ascii	"M1641\000"
	.align	2
.LC3:
	.ascii	"M1621\000"
	.align	2
.LC4:
	.ascii	"M1647\000"
	.align	2
.LC5:
	.ascii	"M1651\000"
	.align	2
.LC6:
	.ascii	"unsupported ALi chipset [%04x/%04x])\012\000"
	.align	2
.LC7:
	.ascii	"ALi %s chipset\012\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	agp_ali_probe, %function
agp_ali_probe:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, lr}
	ldr	r2, .L30
	ldr	r3, .L30+4
	ldr	r1, [r2]
	ldr	r2, .L30+8
	sub	sp, sp, #12
	ldr	r2, [r2]
	str	r2, [sp, #4]
	mov	r2,#0
	mov	r5, r0
	ldr	r4, [r3]
	bl	pci_find_capability
	subs	r6, r0, #0
	beq	.L26
	ldr	r2, [r4]
	ldr	r3, [r5]
	cmp	r2, #0
	bne	.L9
	b	.L4
.L6:
	ldr	r2, [r4, #8]!
	cmp	r2, #0
	beq	.L4
.L9:
	ldr	r2, [r4, #4]
	cmp	r2, r3
	bne	.L6
	bl	agp_alloc_bridge
	subs	r7, r0, #0
	beq	.L28
	ldr	r3, [r5]
	str	r5, [r7, #12]
	cmp	r3, #128
	str	r6, [r7, #4]
	beq	.L10
	cmp	r3, #129
	beq	.L11
.L14:
	ldr	r2, [r4]
.L12:
	ldr	r3, .L30+12
	str	r3, [r7, #8]
.L13:
	ldr	r1, .L30+16
	add	r0, r5, #4
	bl	dev_info
	ldr	r3, .L30+20
	ldr	r1, [r7, #4]
	ldr	r3, [r3]
	mov	r2, r7
	add	r1, r1, r3
	mov	r0, r5
	bl	pci_read_config_dword
	mov	r1, r7
	mov	r0, r5
	bl	pci_set_drvdata
	mov	r0, r7
	bl	agp_add_bridge
	b	.L1
.L4:
	ldr	r2, [r5, #8]
	ldr	r1, .L30+24
	add	r0, r5, #4
	bl	dev_err
.L26:
	ldr	r3, .L30+28
	ldr	r0, [r3]
	rsb	r0, r0, #0
.L1:
	ldr	r3, .L30+8
	ldr	r2, [r3]
	ldr	r3, [sp, #4]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L29
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, pc}
.L11:
	ldr	r3, .L30+32
	ldr	r2, [r4]
	str	r3, [r7, #8]
	b	.L13
.L10:
	mov	r2, sp
	mov	r1, #251
	mov	r0, r5
	bl	pci_read_config_byte
	ldr	r3, [sp]
	sub	r3, r3, #49
	cmp	r3, #32
	ldrls	pc, [pc, r3, asl #2]
	b	.L14
.L16:
	.word	.L21
	.word	.L20
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L19
	.word	.L14
	.word	.L18
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L17
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L15
.L28:
	ldr	r3, .L30+36
	ldr	r0, [r3]
	rsb	r0, r0, #0
	b	.L1
.L15:
	ldr	r3, .L30+40
	mov	r2, r3
	str	r3, [r4]
	b	.L12
.L17:
	ldr	r2, .L30+44
	str	r2, [r4]
	b	.L12
.L18:
	ldr	r2, .L30+48
	str	r2, [r4]
	b	.L12
.L19:
	ldr	r2, .L30+52
	str	r2, [r4]
	b	.L12
.L20:
	ldr	r2, .L30+56
	str	r2, [r4]
	b	.L12
.L21:
	ldr	r2, .L30+60
	str	r2, [r4]
	b	.L12
.L29:
	bl	__stack_chk_fail
.L31:
	.align	2
.L30:
	.word	PCI_CAP_ID_AGP
	.word	ali_agp_device_ids
	.word	.LC8
	.word	ali_generic_bridge
	.word	.LC7
	.word	PCI_AGP_STATUS
	.word	.LC6
	.word	ENODEV
	.word	ali_m1541_bridge
	.word	ENOMEM
	.word	.LC5
	.word	.LC4
	.word	.LC3
	.word	.LC2
	.word	.LC1
	.word	.LC0
	.size	agp_ali_probe, .-agp_ali_probe
	.comm	ali_m1541_bridge,4,4
	.comm	ali_generic_bridge,4,4
	.comm	ali_agp_device_ids,4,4
	.comm	PCI_CAP_ID_AGP,4,4
	.comm	PCI_AGP_STATUS,4,4
	.comm	ENOMEM,4,4
	.comm	ENODEV,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
