Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Mar 2002 08:48:21 -0600
From:      "Guy Helmer" <ghelmer@palisadesys.com>
To:        <net@freebsd.org>
Subject:   Crashes in fxp driver with polling enabled
Message-ID:  <FPEBKMIFGFHCGLLKBLMMGEHCCAAA.ghelmer@palisadesys.com>

next in thread | raw e-mail | index | archive | help
I am encountering a problem in the fxp driver that seems to be exposed by
enabling polling under high packet load (~12000pps).  I have been
corresponding with Luigi regarding this problem but would like to see if
anyone else might have any ideas that could help.

I'm using FreeBSD 4.5-stable kernels on two completely different hardware
platforms, a P-III 800 Intel ISP1100 and a homebrew Celeron with an Intel
EtherExpress Pro-100B.  Both machines panic with the same results.  The
machines panic with a kernel page fault, usually right after I enable
polling but sometimes the machines will keep running until I do some other
I/O-intensive tasks or run "top".

There usually isn't an IP address on the fxp interface, but the interface is
UP and listening to packets in promiscuous mode.  I have verified that the
crashes do occur when there is an IP address on the interface and when the
interface is not in promiscuous mode.

I noticed that after the kernel page fault trap occurs, fxp0 is sending the
same bogus frame (containing junk) every millisecond or so.  I don't
understand why fxp0 is sending anything because the machine shouldn't be
transmitting anything on that interface.  I have the exact same code running
on a system that has a SIS interface, and that system runs fine.

The crash occurs in line 1847 of if_fxp.c: MCLGET(m, M_DONTWAIT) (in the
expansion of MCLALLOC()).  It looks like there is a bad index generated by
mtocl(_mp) when "mclrefcnt[mtocl(_mp)]++;" is performed.  mclfree is
0xc0306524 and mbutl is 0xc0306578 after the crash.  I think there is some
free mbuf list corruption triggered somewhere else in the driver, but I
can't find anything in if_fxp.c that looks suspicious.

Backtrace:
fxp_add_rfabuf(c04e1400, c04e2900) at fxp_add_rfabuf+0x9f
fxp_intr_body(c04e1400, e0, 3, 0, 5) at fxp_intr_body+0xd8
fxp_poll(c04e1400, 0, 5) at fxp_poll+0x9a
netisr_poll(c026b4cf, bfbf002f, bfbf002f, bfbf002f) at netisr_poll+0x16b
swi_net_next() at swi_net_next

Registers:
eax: 0x01bfb12
ecx: 0xa026b000
edx: 0xc04d7000
ebx: 0xc052ae00
esp: 0xc3cdbf1c
ebp: 0xc3cdbf2c
esi: 0x660c00
edi: 0xc052ae00
eip: 0xc0137d87
cs: 0x8
ds: 0xc0190010
es: 0xc3cd0010
fs: c04e0010
ss: 0x10

objdump of fxp_add_rfabuf:

00002f58 <fxp_add_rfabuf>:
fxp_add_rfabuf():
    2f58:	55                   	push   %ebp
    2f59:	89 e5                	mov    %esp,%ebp
    2f5b:	83 ec 04             	sub    $0x4,%esp
    2f5e:	57                   	push   %edi
    2f5f:	56                   	push   %esi
    2f60:	53                   	push   %ebx
    2f61:	bf 01 00 00 00       	mov    $0x1,%edi
    2f66:	bb 01 00 00 00       	mov    $0x1,%ebx
    2f6b:	e8 fc ff ff ff       	call   2f6c <fxp_add_rfabuf+0x14>
    2f70:	89 c6                	mov    %eax,%esi
    2f72:	83 3d 00 00 00 00 00 	cmpl   $0x0,0x0
    2f79:	75 0d                	jne    2f88 <fxp_add_rfabuf+0x30>
    2f7b:	6a 01                	push   $0x1
    2f7d:	6a 01                	push   $0x1
    2f7f:	e8 fc ff ff ff       	call   2f80 <fxp_add_rfabuf+0x28>
    2f84:	83 c4 08             	add    $0x8,%esp
    2f87:	90                   	nop
    2f88:	8b 15 00 00 00 00    	mov    0x0,%edx
    2f8e:	85 d2                	test   %edx,%edx
    2f90:	0f 85 16 01 00 00    	jne    30ac <fxp_add_rfabuf+0x154>
    2f96:	56                   	push   %esi
    2f97:	e8 fc ff ff ff       	call   2f98 <fxp_add_rfabuf+0x40>
    2f9c:	53                   	push   %ebx
    2f9d:	57                   	push   %edi
    2f9e:	e8 fc ff ff ff       	call   2f9f <fxp_add_rfabuf+0x47>
    2fa3:	89 c2                	mov    %eax,%edx
    2fa5:	83 c4 0c             	add    $0xc,%esp
    2fa8:	85 d2                	test   %edx,%edx
    2faa:	75 08                	jne    2fb4 <fxp_add_rfabuf+0x5c>
    2fac:	85 ff                	test   %edi,%edi
    2fae:	0f 84 e4 00 00 00    	je     3098 <fxp_add_rfabuf+0x140>
    2fb4:	89 d7                	mov    %edx,%edi
    2fb6:	85 ff                	test   %edi,%edi
    2fb8:	0f 84 46 01 00 00    	je     3104 <fxp_add_rfabuf+0x1ac>
    2fbe:	89 fb                	mov    %edi,%ebx
    2fc0:	e8 fc ff ff ff       	call   2fc1 <fxp_add_rfabuf+0x69>
    2fc5:	89 c6                	mov    %eax,%esi
    2fc7:	83 3d 00 00 00 00 00 	cmpl   $0x0,0x0
    2fce:	75 0c                	jne    2fdc <fxp_add_rfabuf+0x84>
    2fd0:	6a 01                	push   $0x1
    2fd2:	6a 01                	push   $0x1
    2fd4:	e8 fc ff ff ff       	call   2fd5 <fxp_add_rfabuf+0x7d>
    2fd9:	83 c4 08             	add    $0x8,%esp
    2fdc:	8b 0d 00 00 00 00    	mov    0x0,%ecx
    2fe2:	85 c9                	test   %ecx,%ecx
    2fe4:	74 32                	je     3018 <fxp_add_rfabuf+0xc0>
    2fe6:	89 c8                	mov    %ecx,%eax
    2fe8:	2b 05 00 00 00 00    	sub    0x0,%eax
    2fee:	c1 e8 0b             	shr    $0xb,%eax
    2ff1:	8b 15 00 00 00 00    	mov    0x0,%edx
    2ff7:	fe 04 10             	incb   (%eax,%edx,1)
    2ffa:	ff 0d 0c 00 00 00    	decl   0xc
    3000:	8b 01                	mov    (%ecx),%eax
    3002:	a3 00 00 00 00       	mov    %eax,0x0
    3007:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
    300a:	56                   	push   %esi
    300b:	e8 fc ff ff ff       	call   300c <fxp_add_rfabuf+0xb4>
    3010:	83 c4 04             	add    $0x4,%esp
    3013:	eb 26                	jmp    303b <fxp_add_rfabuf+0xe3>
    3015:	8d 76 00             	lea    0x0(%esi),%esi
    3018:	56                   	push   %esi
    3019:	e8 fc ff ff ff       	call   301a <fxp_add_rfabuf+0xc2>
    301e:	83 c4 04             	add    $0x4,%esp
    3021:	b8 01 00 00 00       	mov    $0x1,%eax
    3026:	85 c0                	test   %eax,%eax
    3028:	75 0a                	jne    3034 <fxp_add_rfabuf+0xdc>
    302a:	e8 fc ff ff ff       	call   302b <fxp_add_rfabuf+0xd3>
    302f:	89 43 2c             	mov    %eax,0x2c(%ebx)
    3032:	eb 07                	jmp    303b <fxp_add_rfabuf+0xe3>
    3034:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
    303b:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
    303f:	74 1f                	je     3060 <fxp_add_rfabuf+0x108>
    3041:	8b 43 2c             	mov    0x2c(%ebx),%eax
    3044:	89 43 08             	mov    %eax,0x8(%ebx)
    3047:	80 4b 12 01          	orb    $0x1,0x12(%ebx)
    304b:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
    3052:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
    3059:	c7 43 34 00 08 00 00 	movl   $0x800,0x34(%ebx)
    3060:	f6 47 12 01          	testb  $0x1,0x12(%edi)
    3064:	0f 85 c0 00 00 00    	jne    312a <fxp_add_rfabuf+0x1d2>
    306a:	68 00 04 00 00       	push   $0x400
    306f:	8b 55 08             	mov    0x8(%ebp),%edx
    3072:	ff b2 50 01 00 00    	pushl  0x150(%edx)
    3078:	e8 fc ff ff ff       	call   3079 <fxp_add_rfabuf+0x121>
    307d:	57                   	push   %edi
    307e:	e8 fc ff ff ff       	call   307f <fxp_add_rfabuf+0x127>
    3083:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
    3087:	0f 85 94 00 00 00    	jne    3121 <fxp_add_rfabuf+0x1c9>
    308d:	b8 01 00 00 00       	mov    $0x1,%eax
    3092:	e9 4e 01 00 00       	jmp    31e5 <fxp_add_rfabuf+0x28d>
    3097:	90                   	nop
    3098:	53                   	push   %ebx
    3099:	6a 01                	push   $0x1
    309b:	e8 fc ff ff ff       	call   309c <fxp_add_rfabuf+0x144>
    30a0:	89 c7                	mov    %eax,%edi
    30a2:	83 c4 08             	add    $0x8,%esp
    30a5:	e9 0c ff ff ff       	jmp    2fb6 <fxp_add_rfabuf+0x5e>
    30aa:	89 f6                	mov    %esi,%esi
    30ac:	8b 02                	mov    (%edx),%eax
    30ae:	a3 00 00 00 00       	mov    %eax,0x0
    30b3:	ff 0d 00 00 00 00    	decl   0x0
    30b9:	66 89 5a 10          	mov    %bx,0x10(%edx)
    30bd:	ff 04 9d 00 00 00 00 	incl   0x0(,%ebx,4)
    30c4:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
    30ca:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
    30d1:	8d 42 2c             	lea    0x2c(%edx),%eax
    30d4:	89 42 08             	mov    %eax,0x8(%edx)
    30d7:	66 c7 42 12 02 00    	movw   $0x2,0x12(%edx)
    30dd:	c7 42 14 00 00 00 00 	movl   $0x0,0x14(%edx)
    30e4:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
    30eb:	c7 42 28 00 00 00 00 	movl   $0x0,0x28(%edx)
    30f2:	89 d7                	mov    %edx,%edi
    30f4:	56                   	push   %esi
    30f5:	e8 fc ff ff ff       	call   30f6 <fxp_add_rfabuf+0x19e>
    30fa:	83 c4 04             	add    $0x4,%esp
    30fd:	e9 b4 fe ff ff       	jmp    2fb6 <fxp_add_rfabuf+0x5e>
    3102:	89 f6                	mov    %esi,%esi
    3104:	68 40 04 00 00       	push   $0x440
    3109:	8b 55 08             	mov    0x8(%ebp),%edx
    310c:	ff b2 50 01 00 00    	pushl  0x150(%edx)
    3112:	e8 fc ff ff ff       	call   3113 <fxp_add_rfabuf+0x1bb>
    3117:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
    311b:	0f 84 6c ff ff ff    	je     308d <fxp_add_rfabuf+0x135>
    3121:	8b 7d 0c             	mov    0xc(%ebp),%edi
    3124:	8b 47 2c             	mov    0x2c(%edi),%eax
    3127:	89 47 08             	mov    %eax,0x8(%edi)
    312a:	8b 47 08             	mov    0x8(%edi),%eax
    312d:	8d 48 02             	lea    0x2(%eax),%ecx
    3130:	8d 50 12             	lea    0x12(%eax),%edx
    3133:	89 57 08             	mov    %edx,0x8(%edi)
    3136:	66 c7 41 0e ee 07    	movw   $0x7ee,0xe(%ecx)
    313c:	66 c7 40 02 00 00    	movw   $0x0,0x2(%eax)
    3142:	66 c7 41 02 00 80    	movw   $0x8000,0x2(%ecx)
    3148:	66 c7 41 0c 00 00    	movw   $0x0,0xc(%ecx)
    314e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,0xfffffffc(%ebp)
    3155:	8b 55 fc             	mov    0xfffffffc(%ebp),%edx
    3158:	89 50 06             	mov    %edx,0x6(%eax)
    315b:	8b 55 fc             	mov    0xfffffffc(%ebp),%edx
    315e:	89 50 0a             	mov    %edx,0xa(%eax)
    3161:	8b 45 08             	mov    0x8(%ebp),%eax
    3164:	83 b8 08 01 00 00 00 	cmpl   $0x0,0x108(%eax)
    316b:	74 5b                	je     31c8 <fxp_add_rfabuf+0x270>
    316d:	8b 80 0c 01 00 00    	mov    0x10c(%eax),%eax
    3173:	8b 58 2c             	mov    0x2c(%eax),%ebx
    3176:	83 c3 02             	add    $0x2,%ebx
    3179:	89 38                	mov    %edi,(%eax)
    317b:	89 c8                	mov    %ecx,%eax
    317d:	c1 e8 16             	shr    $0x16,%eax
    3180:	8b 14 85 00 00 00 00 	mov    0x0(,%eax,4),%edx
    3187:	84 d2                	test   %dl,%dl
    3189:	7d 11                	jge    319c <fxp_add_rfabuf+0x244>
    318b:	81 e2 00 00 c0 ff    	and    $0xffc00000,%edx
    3191:	89 c8                	mov    %ecx,%eax
    3193:	25 ff ff 3f 00       	and    $0x3fffff,%eax
    3198:	eb 1b                	jmp    31b5 <fxp_add_rfabuf+0x25d>
    319a:	89 f6                	mov    %esi,%esi
    319c:	89 c8                	mov    %ecx,%eax
    319e:	c1 e8 0c             	shr    $0xc,%eax
    31a1:	8b 14 85 00 00 00 00 	mov    0x0(,%eax,4),%edx
    31a8:	81 e2 00 f0 ff ff    	and    $0xfffff000,%edx
    31ae:	89 c8                	mov    %ecx,%eax
    31b0:	25 ff 0f 00 00       	and    $0xfff,%eax
    31b5:	09 c2                	or     %eax,%edx
    31b7:	89 55 fc             	mov    %edx,0xfffffffc(%ebp)
    31ba:	89 d0                	mov    %edx,%eax
    31bc:	89 43 04             	mov    %eax,0x4(%ebx)
    31bf:	66 c7 43 02 00 00    	movw   $0x0,0x2(%ebx)
    31c5:	eb 0a                	jmp    31d1 <fxp_add_rfabuf+0x279>
    31c7:	90                   	nop
    31c8:	8b 55 08             	mov    0x8(%ebp),%edx
    31cb:	89 ba 08 01 00 00    	mov    %edi,0x108(%edx)
    31d1:	8b 45 08             	mov    0x8(%ebp),%eax
    31d4:	89 b8 0c 01 00 00    	mov    %edi,0x10c(%eax)
    31da:	3b 7d 0c             	cmp    0xc(%ebp),%edi
    31dd:	0f 94 c0             	sete   %al
    31e0:	25 ff 00 00 00       	and    $0xff,%eax
    31e5:	8d 65 f0             	lea    0xfffffff0(%ebp),%esp
    31e8:	5b                   	pop    %ebx
    31e9:	5e                   	pop    %esi
    31ea:	5f                   	pop    %edi
    31eb:	c9                   	leave
    31ec:	c3                   	ret
    31ed:	8d 76 00             	lea    0x0(%esi),%esi

The assembler code generated by the compiler for fxp_add_rfabuf:
.stabs "fxp_add_rfabuf:f(0,1)",36,0,1840,fxp_add_rfabuf
.stabs "sc:p(0,28)",160,0,1839,8
.stabs "oldm:p(20,2)",160,0,1839,12
		.type		 fxp_add_rfabuf,@function
fxp_add_rfabuf:
.LBB1061:
.LBB1062:
	pushl %ebp
	movl %esp,%ebp
	subl $4,%esp
	pushl %edi
	pushl %esi
	pushl %ebx
.stabn 68,0,1845,.LM2786-fxp_add_rfabuf
.LM2786:
	movl $1,%edi
	movl $1,%ebx
	call splimp
	movl %eax,%esi
	cmpl $0,mmbfree
	jne .L1934
	pushl $1
	pushl $1
	call m_mballoc
	addl $8,%esp
	.p2align 2,0x90
.L1934:
	movl mmbfree,%edx
	testl %edx,%edx
	jne .L1968
	pushl %esi
	call splx
	pushl %ebx
	pushl %edi
	call m_retryhdr
	movl %eax,%edx
	addl $12,%esp
	testl %edx,%edx
	jne .L1937
	testl %edi,%edi
	je .L1969
.L1937:
	movl %edx,%edi
.LBE1062:
.L1932:
.stabn 68,0,1846,.LM2787-fxp_add_rfabuf
.LM2787:
	testl %edi,%edi
	je .L1940
.stabn 68,0,1847,.LM2788-fxp_add_rfabuf
.LM2788:
.LBB1063:
	movl %edi,%ebx
.LBB1064:
	call splimp
	movl %eax,%esi
	cmpl $0,mclfree
	jne .L1947
	pushl $1
	pushl $1
	call m_clalloc
	addl $8,%esp
	.p2align 2,0x90
.L1947:
	movl mclfree,%ecx
	testl %ecx,%ecx
	je .L1948
	movl %ecx,%eax
	subl mbutl,%eax
	shrl $11,%eax
	movl mclrefcnt,%edx
	incb (%eax,%edx)
	decl mbstat+12
	movl (%ecx),%eax
	movl %eax,mclfree
	movl %ecx,44(%ebx)
	pushl %esi
	call splx
	addl $4,%esp
	jmp .L1945
	.p2align 2,0x90
.L1948:
	pushl %esi
	call splx
	addl $4,%esp
	movl $1,%eax
	testl %eax,%eax
	jne .L1950
	call m_clalloc_wait
	movl %eax,44(%ebx)
	jmp .L1945
	.p2align 2,0x90
.L1950:
	movl $0,44(%ebx)
.LBE1064:
.L1945:
	cmpl $0,44(%ebx)
	je .L1942
	movl 44(%ebx),%eax
	movl %eax,8(%ebx)
	orb $1,18(%ebx)
	movl $0,48(%ebx)
	movl $0,56(%ebx)
	movl $2048,52(%ebx)
.LBE1063:
.L1942:
.stabn 68,0,1848,.LM2789-fxp_add_rfabuf
.LM2789:
	testb $1,18(%edi)
	jne .L1957
.stabn 68,0,1849,.LM2790-fxp_add_rfabuf
.LM2790:
	pushl $.LC40
	movl 8(%ebp),%edx
	pushl 336(%edx)
	call device_printf
.stabn 68,0,1851,.LM2791-fxp_add_rfabuf
.LM2791:
	pushl %edi
	call m_freem
.stabn 68,0,1852,.LM2792-fxp_add_rfabuf
.LM2792:
	cmpl $0,12(%ebp)
	jne .L1958
.stabn 68,0,1853,.LM2793-fxp_add_rfabuf
.LM2793:
.L1970:
	movl $1,%eax
	jmp .L1967
	.p2align 2,0x90
.L1969:
	pushl %ebx
	pushl $1
	call m_mballoc_wait
	movl %eax,%edi
	addl $8,%esp
	jmp .L1932
	.p2align 2,0x90
.L1968:
	movl (%edx),%eax
	movl %eax,mmbfree
	decl mbtypes
	movw %bx,16(%edx)
	incl mbtypes(,%ebx,4)
	movl $0,(%edx)
	movl $0,4(%edx)
	leal 44(%edx),%eax
	movl %eax,8(%edx)
	movw $2,18(%edx)
	movl $0,20(%edx)
	movl $0,32(%edx)
	movl $0,40(%edx)
	movl %edx,%edi
	pushl %esi
	call splx
	addl $4,%esp
	jmp .L1932
	.p2align 2,0x90
.L1940:
.stabn 68,0,1858,.LM2794-fxp_add_rfabuf
.LM2794:
	pushl $.LC41
	movl 8(%ebp),%edx
	pushl 336(%edx)
	call device_printf
.stabn 68,0,1860,.LM2795-fxp_add_rfabuf
.LM2795:
	cmpl $0,12(%ebp)
	je .L1970
.L1958:
.stabn 68,0,1862,.LM2796-fxp_add_rfabuf
.LM2796:
	movl 12(%ebp),%edi
.stabn 68,0,1863,.LM2797-fxp_add_rfabuf
.LM2797:
	movl 44(%edi),%eax
	movl %eax,8(%edi)
.L1957:
.stabn 68,0,1870,.LM2798-fxp_add_rfabuf
.LM2798:
	movl 8(%edi),%eax
.stabn 68,0,1876,.LM2799-fxp_add_rfabuf
.LM2799:
	leal 2(%eax),%ecx
.stabn 68,0,1877,.LM2800-fxp_add_rfabuf
.LM2800:
	leal 18(%eax),%edx
	movl %edx,8(%edi)
.stabn 68,0,1878,.LM2801-fxp_add_rfabuf
.LM2801:
	movw $2030,14(%ecx)
.stabn 68,0,1886,.LM2802-fxp_add_rfabuf
.LM2802:
	movw $0,2(%eax)
.stabn 68,0,1887,.LM2803-fxp_add_rfabuf
.LM2803:
	movw $32768,2(%ecx)
.stabn 68,0,1888,.LM2804-fxp_add_rfabuf
.LM2804:
	movw $0,12(%ecx)
.stabn 68,0,1890,.LM2805-fxp_add_rfabuf
.LM2805:
	movl $-1,-4(%ebp)
.stabn 68,0,251,.LM2806-fxp_add_rfabuf
.LM2806:
.LBB1065:
.stabn 68,0,253,.LM2807-fxp_add_rfabuf
.LM2807:
	movl -4(%ebp),%edx
	movl %edx,6(%eax)
.stabn 68,0,261,.LM2808-fxp_add_rfabuf
.LM2808:
.LBE1065:
.stabn 68,0,251,.LM2809-fxp_add_rfabuf
.LM2809:
.LBB1066:
.stabn 68,0,253,.LM2810-fxp_add_rfabuf
.LM2810:
	movl -4(%ebp),%edx
	movl %edx,10(%eax)
.stabn 68,0,261,.LM2811-fxp_add_rfabuf
.LM2811:
.LBE1066:
.stabn 68,0,1898,.LM2812-fxp_add_rfabuf
.LM2812:
	movl 8(%ebp),%eax
	cmpl $0,264(%eax)
	je .L1961
.stabn 68,0,1899,.LM2813-fxp_add_rfabuf
.LM2813:
	movl 268(%eax),%eax
	movl 44(%eax),%ebx
	addl $2,%ebx
.stabn 68,0,1901,.LM2814-fxp_add_rfabuf
.LM2814:
	movl %edi,(%eax)
.stabs "machine/pmap.h",132,0,0,.Ltext801
.Ltext801:
.stabn 68,0,175,.LM2815-fxp_add_rfabuf
.LM2815:
.LBB1067:
.stabn 68,0,176,.LM2816-fxp_add_rfabuf
.LM2816:
.LBB1068:
.stabn 68,0,177,.LM2817-fxp_add_rfabuf
.LM2817:
	movl %ecx,%eax
	shrl $22,%eax
	movl PTD(,%eax,4),%edx
	testb %dl,%dl
	jge .L1962
.stabn 68,0,178,.LM2818-fxp_add_rfabuf
.LM2818:
	andl $-4194304,%edx
	movl %ecx,%eax
	andl $4194303,%eax
.stabn 68,0,179,.LM2819-fxp_add_rfabuf
.LM2819:
	jmp .L1971
	.p2align 2,0x90
.L1962:
.stabn 68,0,180,.LM2820-fxp_add_rfabuf
.LM2820:
	movl %ecx,%eax
	shrl $12,%eax
.stabn 68,0,181,.LM2821-fxp_add_rfabuf
.LM2821:
	movl PTmap(,%eax,4),%edx
	andl $-4096,%edx
	movl %ecx,%eax
	andl $4095,%eax
.L1971:
	orl %eax,%edx
.stabn 68,0,184,.LM2822-fxp_add_rfabuf
.LM2822:
.LBE1068:
.LBE1067:
.stabs "../../dev/fxp/if_fxp.c",132,0,0,.Ltext802
.Ltext802:
.stabn 68,0,1902,.LM2823-fxp_add_rfabuf
.LM2823:
	movl %edx,-4(%ebp)
.stabn 68,0,251,.LM2824-fxp_add_rfabuf
.LM2824:
.LBB1069:
.stabn 68,0,253,.LM2825-fxp_add_rfabuf
.LM2825:
	movl %edx,%eax
	movl %eax,4(%ebx)
.stabn 68,0,261,.LM2826-fxp_add_rfabuf
.LM2826:
.LBE1069:
.stabn 68,0,1904,.LM2827-fxp_add_rfabuf
.LM2827:
	movw $0,2(%ebx)
.stabn 68,0,1905,.LM2828-fxp_add_rfabuf
.LM2828:
	jmp .L1966
	.p2align 2,0x90
.L1961:
.stabn 68,0,1906,.LM2829-fxp_add_rfabuf
.LM2829:
	movl 8(%ebp),%edx
	movl %edi,264(%edx)
.L1966:
.stabn 68,0,1908,.LM2830-fxp_add_rfabuf
.LM2830:
	movl 8(%ebp),%eax
	movl %edi,268(%eax)
.stabn 68,0,1910,.LM2831-fxp_add_rfabuf
.LM2831:
	cmpl 12(%ebp),%edi
	sete %al
	andl $255,%eax
.L1967:
	leal -16(%ebp),%esp
	popl %ebx
	popl %esi
	popl %edi
	leave
	ret
.stabn 68,0,1911,.LM2832-fxp_add_rfabuf
.LM2832:
.LBE1061:
.Lfe27:
		.size		 fxp_add_rfabuf,.Lfe27-fxp_add_rfabuf
.stabs "fxp_add_rfabuf:f(0,1)",36,0,1840,fxp_add_rfabuf
.stabs "sc:p(0,28)",160,0,1839,8
.stabs "oldm:p(20,2)",160,0,1839,12
.stabs "v:(3,9)",128,0,1841,-4
.stabs "m:r(20,2)",64,0,1842,7
.stabs "rfa:r(0,30)",64,0,1843,1
.stabs "p_rfa:r(0,30)",64,0,1843,3
.stabn 192,0,0,.LBB1061-fxp_add_rfabuf
.stabs "_mm:r(20,2)",64,0,1845,2
.stabs "_mhow:r(0,1)",64,0,1845,7
.stabs "_mtype:r(0,1)",64,0,1845,3
.stabs "_ms:r(0,1)",64,0,1845,6
.stabn 192,0,0,.LBB1062-fxp_add_rfabuf
.stabn 224,0,0,.LBE1062-fxp_add_rfabuf
.stabs "_mm:r(20,2)",64,0,1847,3
.stabn 192,0,0,.LBB1063-fxp_add_rfabuf
.stabs "_mp:r(3,15)",64,0,1847,1
.stabs "_ms:r(0,1)",64,0,1847,6
.stabn 192,0,0,.LBB1064-fxp_add_rfabuf
.stabn 224,0,0,.LBE1064-fxp_add_rfabuf
.stabn 224,0,0,.LBE1063-fxp_add_rfabuf
.stabn 192,0,0,.LBB1065-fxp_add_rfabuf
.stabn 224,0,0,.LBE1065-fxp_add_rfabuf
.stabn 192,0,0,.LBB1066-fxp_add_rfabuf
.stabn 224,0,0,.LBE1066-fxp_add_rfabuf
.stabs "va:r(7,8)",64,0,1902,1
.stabn 192,0,0,.LBB1067-fxp_add_rfabuf
.stabs "pa:r(7,8)",64,0,176,2
.stabn 192,0,0,.LBB1068-fxp_add_rfabuf
.stabn 224,0,0,.LBE1068-fxp_add_rfabuf
.stabn 224,0,0,.LBE1067-fxp_add_rfabuf
.stabn 192,0,0,.LBB1069-fxp_add_rfabuf
.stabn 224,0,0,.LBE1069-fxp_add_rfabuf
.stabn 224,0,0,.LBE1061-fxp_add_rfabuf
.Lscope26:
.stabs "",36,0,0,.Lscope26-fxp_add_rfabuf
	.section	.rodata
	.p2align 5
.LC42:
	.byte	 0x66,0x78,0x70,0x5f,0x6d,0x69,0x69,0x62,0x75,0x73
	.byte	 0x5f,0x72,0x65,0x61,0x64,0x72,0x65,0x67,0x3a,0x20
	.byte	 0x74,0x69,0x6d,0x65,0x64,0x20,0x6f,0x75,0x74,0xa
	.byte	 0x0


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FPEBKMIFGFHCGLLKBLMMGEHCCAAA.ghelmer>