Re: IPV6, PPP and aiieeh killing interrupt

Hoyer, Harald (root@harryh.wg41.rus.uni-stuttgart.de)
Wed, 13 Nov 1996 18:05:18 -0100 (GMT-0100)


Kernel 2.1.9

Below some interrupt aieehs with ipv6-module. Reproducible.
Hope it helps.

So long,
Harald

Scenario 1:
-----------------

> cat /proc/interrupts

0: 386276 timer
1: 13781 keyboard
2: 0 cascade
4: 15710 + serial
8: 0 + rtc
9: 440 NE2000
12: 11 + ide2
13: 1 math error
14: 424 + ide0
15: 17026 + ide1

> ifconfig

lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
inet6 addr: ::1/0 Scope:Host
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0
TX packets:35 errors:0 dropped:0 overruns:0

eth0 Link encap:10Mbps Ethernet HWaddr 00:80:AD:1C:2B:9F
inet addr:192.168.188.1 Bcast:192.168.188.255 Mask:255.255.255.0
inet6 addr: fe80::80:ad1c:2b9f/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:260 errors:0 dropped:0 overruns:0
TX packets:201 errors:0 dropped:0 overruns:0
Interrupt:9 Base address:0x300

> inet6_route

Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
::1/128 ::0 UH 1 1 0 lo
fe80::20:1801:af17/128 fe80::20:1801:af17 UHDC 1 1 0 eth0
fe80::80:ad1c:2b9f/10 ::0 U 1 1 0 eth0
::0/0 ::0 C 0 1 0 1

> lsmod

Module: #pages: Used by:
ipv6 15 0
ip_masq_raudio 1 0
ip_masq_irc 1 0
ip_masq_ftp 1 0

> modprobe -r ipv6

gfp called nonatomically from interrupt 00000003
gfp called nonatomically from interrupt 00000003
Aiee, killing interrupt handler

/* OOPS what interrupt 3 ??? */

> cat /proc/interrupts

0: 402555 timer
1: 15084 keyboard
2: 0 cascade
4: 15910 + serial
8: 0 + rtc
9: 464 NE2000
12: 11 + ide2
13: 1 math error
14: 424 + ide0
15: 17243 + ide1

Scenario 2:
------------------

> modprobe ipv6
> modprobe ppp0
> pppd

some network actions over ppp0, but doesn't matter.

> ppp-off

/*
First time I got: Aiiee: scheduling in interrupt C0110F56
Second time I got: Aiiee: scheduling in interrupt C012DA75
Third time I got: Aiiee: scheduling in interrupt C012DA7F

The aiiees filled up my screen <CTRL-SCLK> works, but nothing else.

Without ipv6-module loaded everything is ok.
*/

/var/adm/sysdebug:

Nov 13 15:41:39 HarryH login[269]: ROOT LOGIN ON TTY `tty1'
Nov 13 15:42:03 HarryH linux:
Nov 13 15:42:03 HarryH linux: free sibling
Nov 13 15:42:03 HarryH linux: task PC stack pid father child younger older
Nov 13 15:42:03 HarryH linux: swapper 0 R current 4096 0 0 1
Nov 13 15:42:03 HarryH linux: init 1 S 00000000 2636 1 0 274
Nov 13 15:42:03 HarryH linux: kflushd 2 S 00000000 896 2 1 3
Nov 13 15:42:03 HarryH linux: kswapd 3 S 00000000 3900 3 1 4 2
Nov 13 15:42:03 HarryH linux: nfsiod 4 S 00000000 4 4 1 5 3
Nov 13 15:42:03 HarryH linux: nfsiod 5 S 00000000 4 5 1 6 4
Nov 13 15:42:03 HarryH linux: nfsiod 6 S 00000000 4 6 1 7 5
Nov 13 15:42:03 HarryH linux: nfsiod 7 S 00000000 4 7 1 16 6
Nov 13 15:42:03 HarryH linux: bash 8 S FFFFFFFF 4 269 1 270 216
Nov 13 15:42:03 HarryH linux: agetty 9 S FFFFFFFF 4 270 1 271 269
Nov 13 15:42:03 HarryH linux: kerneld 10 S 00000000 3292 23 1 81 16
Nov 13 15:42:03 HarryH linux: agetty 11 S FFFFFFFF 4 271 1 272 270
Nov 13 15:42:03 HarryH linux: update 12 S 00000000 3776 16 1 23 7
Nov 13 15:42:03 HarryH kernel: agetty 14 S FFFFFFFF 4 273 1 274 272
Nov 13 15:42:03 HarryH kernel: crond 15 S 00000000 4 81 1 134 23
Nov 13 15:42:03 HarryH kernel: rpc.portmap 16 S FFFFFFFF 4 134 1 138 81
Nov 13 15:42:03 HarryH kernel: inetd 17 S FFFFFFFF 3484 138 1 142 134
Nov 13 15:42:03 HarryH kernel: syslogd 18 R FFFFFFFF 3224 142 1 146 138
Nov 13 15:42:03 HarryH kernel: klogd 19 R 00000000 2136 146 1 150 142
Nov 13 15:42:03 HarryH kernel: lpd 20 S FFFFFFFF 3336 150 1 195 146
Nov 13 15:42:03 HarryH kernel: named 21 S 00001BCB 4 195 1 207 150
Nov 13 15:42:03 HarryH kernel: sendmail 22 S 00000000 3500 207 1 212 195
Nov 13 15:42:03 HarryH kernel: rpc.mountd 23 S FFFFFFFF 3264 216 1 269 212
Nov 13 15:42:03 HarryH 216 207
Nov 13 15:42:03 HarryH kernel: agetty 25 S FFFFFFFF 4 274 1 273

/* Everything seems OK */
>modprobe -r ipv6

Nov 13 15:42:18 HarryH kernel: gfp called nonatomically from interrupt 00000003
Nov 13 15:42:18 HarryH kernel: gfp called nonatomically from interrupt 00000003
Nov 13 15:42:18 HarryH kernel: Aiee, killing interrupt handler

/* OOPS */

Nov 13 15:42:22 HarryH named[195]: zoneref: Masters for secondary zone "rus.uni-stuttgart.de" unreachable
Nov 13 15:42:24 HarryH named[195]: zoneref: Masters for secondary zone "69.129.IN-ADDR.ARPA" unreachable
Nov 13 15:43:28 HarryH linux: agetty 13 S FFFFFFFF 4 272 1 <6>CSLIP: code copyright 1989 Regents of the University of California

/* agetty ?? */

Nov 13 15:45:35 HarryH linux:
Nov 13 15:45:35 HarryH linux: free sibling
Nov 13 15:45:35 HarryH linux: task PC stack pid father child younger older
Nov 13 15:45:35 HarryH linux: swapper 0 R current 4096 0 0 1
Nov 13 15:45:35 HarryH linux: init 1 S 00000000 2636 1 0 353
Nov 13 15:45:35 HarryH linux: kflushd 2 S 00000000 896 2 1 3
Nov 13 15:45:35 HarryH linux: kswapd 3 S 00000000 3900 3 1 4 2
Nov 13 15:45:35 HarryH linux: nfsiod 4 S 00000000 4 4 1 5 3
Nov 13 15:45:35 HarryH linux: nfsiod 5 S 00000000 4 5 1 6 4
Nov 13 15:45:35 HarryH linux: nfsiod 6 S 00000000 4 6 1 7 5
Nov 13 15:45:35 HarryH linux: nfsiod 7 S 00000000 4 7 1 16 6
Nov 13 15:45:35 HarryH linux: bash 8 S FFFFFFFF 4 269 1 270 216
Nov 13 15:45:35 HarryH linux: agetty 9 S FFFFFFFF 4 270 1 271 269
Nov 13 15:45:35 HarryH linux: kerneld 10 S 00000000 3292 23 1 81 16
Nov 13 15:45:35 HarryH linux: agetty 11 S FFFFFFFF 4 271 1 272 270
Nov 13 15:45:35 HarryH linux: update 12 S 00000000 3576 16 1 23 7
Nov 13 15:45:35 HarryH kernel: agetty 14 S FFFFFFFF 4 273 1 274 272
Nov 13 15:45:35 HarryH kernel: crond 15 S 00000000 4 81 1 134 23
Nov 13 15:45:35 HarryH kernel: rpc.portmap 16 S FFFFFFFF 4 134 1 138 81
Nov 13 15:45:35 HarryH kernel: inetd 17 S FFFFFFFF 3484 138 1 142 134
Nov 13 15:45:35 HarryH kernel: syslogd 18 R FFFFFFFF 3224 142 1 146 138
Nov 13 15:45:35 HarryH kernel: klogd 19 R 00000000 2136 146 1 150 142
Nov 13 15:45:35 HarryH kernel: lpd 20 S FFFFFFFF 3336 150 1 195 146
Nov 13 15:45:35 HarryH kernel: named 21 S FFFFFFFF 4 195 1 207 150
Nov 13 15:45:35 HarryH kernel: sendmail 22 S 00000000 3500 207 1 212 195
Nov 13 15:45:35 HarryH kernel: rpc.mountd 23 S FFFFFFFF 3264 216 1 269 212
Nov 13 15:45:35 HarryH 216 207
Nov 13 15:45:35 HarryH kernel: agetty 25 S FFFFFFFF 4 274 1 353 273
Nov 13 15:45:35 HarryH kernel: gpm 27 S 0000751A 1260 353 1 274
Nov 13 15:46:08 HarryH linux: agetty 13 S FFFFFFFF 4 272 1 <6>PPP BSD Compression module registered

> pppd

Nov 13 15:46:08 HarryH pppd[412]: pppd 2.2.0 started by root, uid 0
Nov 13 15:46:08 HarryH pppd[412]: Removed stale lock on modem (pid 387)
Nov 13 15:46:34 HarryH pppd[412]: Connect: ppp0 <--> /dev/modem
Nov 13 15:46:38 HarryH pppd[412]: local IP address 129.69.31.177
Nov 13 15:46:38 HarryH pppd[412]: remote IP address 129.69.31.190

OOOPS

> objdump --disassemble /usr/src/linux/vmlinux

....
c0110f00 <interruptible_sleep_on> pushl %ebp
c0110f01 <interruptible_sleep_on+1> movl %esp,%ebp
c0110f03 <interruptible_sleep_on+3> subl $0x8,%esp
c0110f06 <interruptible_sleep_on+6> pushl %edi
c0110f07 <interruptible_sleep_on+7> pushl %esi
c0110f08 <interruptible_sleep_on+8> pushl %ebx
c0110f09 <interruptible_sleep_on+9> movl 0x8(%ebp),%ecx
c0110f0c <interruptible_sleep_on+c> movl 0xc01df5ac,%eax
c0110f11 <interruptible_sleep_on+11> movl %eax,0xfffffff8(%ebp)
c0110f14 <interruptible_sleep_on+14> movl $0x0,0xfffffffc(%ebp)
c0110f1b <interruptible_sleep_on+1b> testl %ecx,%ecx
c0110f1d <interruptible_sleep_on+1d> je c0110f71 <interruptible_sleep_on+71>
c0110f1f <interruptible_sleep_on+1f> cmpl %eax,0xc01bfbdc
c0110f25 <interruptible_sleep_on+25> jne c0110f34 <interruptible_sleep_on+34>
c0110f27 <interruptible_sleep_on+27> pushl $0xc01a9ae3
c0110f2c <interruptible_sleep_on+2c> call c0112a40 <panic>
c0110f31 <interruptible_sleep_on+31> leal 0x0(%esi),%esi
c0110f34 <interruptible_sleep_on+34> movl $0x1,(%eax)
c0110f3a <interruptible_sleep_on+3a> pushf
c0110f3b <interruptible_sleep_on+3b> popl %esi
c0110f3c <interruptible_sleep_on+3c> cli
c0110f3d <interruptible_sleep_on+3d> movl (%ecx),%eax
c0110f3f <interruptible_sleep_on+3f> leal 0xfffffffc(%ecx),%edx
c0110f42 <interruptible_sleep_on+42> testl %eax,%eax
c0110f44 <interruptible_sleep_on+44> je c0110f48 <interruptible_sleep_on+48>
c0110f46 <interruptible_sleep_on+46> movl %eax,%edx
c0110f48 <interruptible_sleep_on+48> leal 0xfffffff8(%ebp),%edi
c0110f4b <interruptible_sleep_on+4b> movl %edi,(%ecx)
c0110f4d <interruptible_sleep_on+4d> movl %edx,0xfffffffc(%ebp)
c0110f50 <interruptible_sleep_on+50> sti
c0110f51 <interruptible_sleep_on+51> call c01109e4 <schedule>
c0110f56 <interruptible_sleep_on+56> cli
c0110f57 <interruptible_sleep_on+57> leal 0xfffffff8(%ebp),%ecx
c0110f5a <interruptible_sleep_on+5a> movl 0xfffffffc(%ebp),%ebx
c0110f5d <interruptible_sleep_on+5d> movl %ebx,%edx
c0110f5f <interruptible_sleep_on+5f> nop
c0110f60 <interruptible_sleep_on+60> movl 0x4(%edx),%eax
c0110f63 <interruptible_sleep_on+63> cmpl %ecx,%eax
c0110f65 <interruptible_sleep_on+65> je c0110f6c <interruptible_sleep_on+6c>
c0110f67 <interruptible_sleep_on+67> movl %eax,%edx
c0110f69 <interruptible_sleep_on+69> jmp c0110f60 <interruptible_sleep_on+60>
c0110f6b <interruptible_sleep_on+6b> nop
c0110f6c <interruptible_sleep_on+6c> movl %ebx,0x4(%edx)
c0110f6f <interruptible_sleep_on+6f> pushl %esi
c0110f70 <interruptible_sleep_on+70> popf
c0110f71 <interruptible_sleep_on+71> leal 0xffffffec(%ebp),%esp
c0110f74 <interruptible_sleep_on+74> popl %ebx
c0110f75 <interruptible_sleep_on+75> popl %esi
c0110f76 <interruptible_sleep_on+76> popl %edi
c0110f77 <interruptible_sleep_on+77> movl %ebp,%esp
c0110f79 <interruptible_sleep_on+79> popl %ebp
c0110f7a <interruptible_sleep_on+7a> ret
c0110f7b <interruptible_sleep_on+7b> nop

...

c012d7ec <do_select> subl $0x28,%esp
c012d7ef <do_select+3> pushl %ebp
c012d7f0 <do_select+4> pushl %edi
c012d7f1 <do_select+5> pushl %esi
c012d7f2 <do_select+6> pushl %ebx
c012d7f3 <do_select+7> movl 0x40(%esp,1),%ecx
c012d7f7 <do_select+b> pushl %ecx
c012d7f8 <do_select+c> movl 0x40(%esp,1),%edi
c012d7fc <do_select+10> pushl %edi
c012d7fd <do_select+11> call c012d758 <max_select_fd>
c012d802 <do_select+16> movl %eax,0x34(%esp,1)
c012d806 <do_select+1a> addl $0x8,%esp
c012d809 <do_select+1d> cmpl $0x0,0x2c(%esp,1)
c012d80e <do_select+22> jl c012daa8 <do_select+2bc>
c012d814 <do_select+28> movl 0x2c(%esp,1),%ecx
c012d818 <do_select+2c> movl %ecx,0x3c(%esp,1)
c012d81c <do_select+30> movl $0xfffffff4,0x2c(%esp,1)
c012d824 <do_select+38> pushl $0x0
c012d826 <do_select+3a> pushl $0x0
c012d828 <do_select+3c> pushl $0x3
c012d82a <do_select+3e> call c011fbe0 <__get_free_pages>
c012d82f <do_select+43> movl %eax,0x30(%esp,1)
c012d833 <do_select+47> addl $0xc,%esp
c012d836 <do_select+4a> cmpl $0x0,0x24(%esp,1)
c012d83b <do_select+4f> je c012daa8 <do_select+2bc>
c012d841 <do_select+55> movl $0x0,0x2c(%esp,1)
c012d849 <do_select+5d> movl $0x0,0x30(%esp,1)
c012d851 <do_select+65> movl 0x24(%esp,1),%edi
c012d855 <do_select+69> movl %edi,0x34(%esp,1)
c012d859 <do_select+6d> leal 0x30(%esp,1),%ecx
c012d85d <do_select+71> movl %ecx,0x28(%esp,1)
c012d861 <do_select+75> leal 0x0(%esi),%esi
c012d864 <do_select+78> movl 0xc01df5ac,%eax
c012d869 <do_select+7d> movl 0x3dc(%eax),%edi
c012d86f <do_select+83> addl $0x104,%edi
c012d875 <do_select+89> movl %edi,0x1c(%esp,1)
c012d879 <do_select+8d> movl $0x1,(%eax)
c012d87f <do_select+93> movl $0x0,0x20(%esp,1)
c012d887 <do_select+9b> movl 0x3c(%esp,1),%ecx
c012d88b <do_select+9f> cmpl %ecx,0x20(%esp,1)
c012d88f <do_select+a3> jge c012da52 <do_select+266>
c012d895 <do_select+a9> leal 0x0(%esi),%esi
c012d898 <do_select+ac> movl 0x20(%esp,1),%eax
c012d89c <do_select+b0> andl $0x1f,%eax
c012d89f <do_select+b3> movl $0x1,%edi
c012d8a4 <do_select+b8> movl %eax,%ecx
c012d8a6 <do_select+ba> shll %cl,%edi
c012d8a8 <do_select+bc> movl %edi,0x18(%esp,1)
c012d8ac <do_select+c0> movl 0x20(%esp,1),%eax
c012d8b0 <do_select+c4> shrl $0x5,%eax
c012d8b3 <do_select+c7> movl 0x40(%esp,1),%ecx
c012d8b7 <do_select+cb> leal (%ecx,%eax,4),%edx
c012d8ba <do_select+ce> testl %edi,(%edx)
c012d8bc <do_select+d0> je c012d934 <do_select+148>
c012d8be <do_select+d2> movl 0x1c(%esp,1),%edi
c012d8c2 <do_select+d6> movl (%edi),%ebx
c012d8c4 <do_select+d8> movl 0x34(%ebx),%eax
c012d8c7 <do_select+db> testl %eax,%eax
c012d8c9 <do_select+dd> je c012d921 <do_select+135>
c012d8cb <do_select+df> movl 0x10(%eax),%esi
c012d8ce <do_select+e2> testl %esi,%esi
c012d8d0 <do_select+e4> je c012d921 <do_select+135>
c012d8d2 <do_select+e6> movl 0x30(%ebx),%ecx
c012d8d5 <do_select+e9> movl %ecx,0x10(%esp,1)
c012d8d9 <do_select+ed> xorl %ebp,%ebp
c012d8db <do_select+ef> movl 0x28(%esp,1),%edi
c012d8df <do_select+f3> pushl %edi
c012d8e0 <do_select+f4> pushl $0x1
c012d8e2 <do_select+f6> pushl %ebx
c012d8e3 <do_select+f7> movl 0x1c(%esp,1),%ecx
c012d8e7 <do_select+fb> pushl %ecx
c012d8e8 <do_select+fc> movl %edx,0x24(%esp,1)
c012d8ec <do_select+100> call *%esi
c012d8ee <do_select+102> addl $0x10,%esp
c012d8f1 <do_select+105> movl 0x14(%esp,1),%edx
c012d8f5 <do_select+109> testl %eax,%eax
c012d8f7 <do_select+10b> jne c012d918 <do_select+12c>
c012d8f9 <do_select+10d> testl %edi,%edi
c012d8fb <do_select+10f> je c012d91d <do_select+131>
c012d8fd <do_select+111> pushl $0x0
c012d8ff <do_select+113> pushl $0x1
c012d901 <do_select+115> pushl %ebx
c012d902 <do_select+116> movl 0x1c(%esp,1),%edi
c012d906 <do_select+11a> pushl %edi
c012d907 <do_select+11b> movl %edx,0x24(%esp,1)
c012d90b <do_select+11f> call *%esi
c012d90d <do_select+121> addl $0x10,%esp
c012d910 <do_select+124> movl 0x14(%esp,1),%edx
c012d914 <do_select+128> testl %eax,%eax
c012d916 <do_select+12a> je c012d91d <do_select+131>
c012d918 <do_select+12c> movl $0x1,%ebp
c012d91d <do_select+131> testl %ebp,%ebp
c012d91f <do_select+133> je c012d934 <do_select+148>
c012d921 <do_select+135> movl 0x18(%esp,1),%ecx
c012d925 <do_select+139> orl %ecx,0x60(%edx)
c012d928 <do_select+13c> incl 0x2c(%esp,1)
c012d92c <do_select+140> movl $0x0,0x28(%esp,1)
c012d934 <do_select+148> movl 0x18(%esp,1),%edi
c012d938 <do_select+14c> testl %edi,0x20(%edx)
c012d93b <do_select+14f> je c012d9b9 <do_select+1cd>
c012d93d <do_select+151> movl 0x1c(%esp,1),%ecx
c012d941 <do_select+155> movl (%ecx),%ebx
c012d943 <do_select+157> movl 0x34(%ebx),%eax
c012d946 <do_select+15a> testl %eax,%eax
c012d948 <do_select+15c> je c012d9a3 <do_select+1b7>
c012d94a <do_select+15e> movl 0x10(%eax),%esi
c012d94d <do_select+161> testl %esi,%esi
c012d94f <do_select+163> je c012d9a3 <do_select+1b7>
c012d951 <do_select+165> movl 0x30(%ebx),%edi
c012d954 <do_select+168> movl %edi,0x10(%esp,1)
c012d958 <do_select+16c> xorl %ebp,%ebp
c012d95a <do_select+16e> movl 0x28(%esp,1),%ecx
c012d95e <do_select+172> pushl %ecx
c012d95f <do_select+173> pushl $0x2
c012d961 <do_select+175> pushl %ebx
c012d962 <do_select+176> movl 0x1c(%esp,1),%edi
c012d966 <do_select+17a> pushl %edi
c012d967 <do_select+17b> movl %edx,0x24(%esp,1)
c012d96b <do_select+17f> call *%esi
c012d96d <do_select+181> addl $0x10,%esp
c012d970 <do_select+184> movl 0x14(%esp,1),%edx
c012d974 <do_select+188> testl %eax,%eax
c012d976 <do_select+18a> jne c012d99a <do_select+1ae>
c012d978 <do_select+18c> cmpl $0x0,0x28(%esp,1)
c012d97d <do_select+191> je c012d99f <do_select+1b3>
c012d97f <do_select+193> pushl $0x0
c012d981 <do_select+195> pushl $0x2
c012d983 <do_select+197> pushl %ebx
c012d984 <do_select+198> movl 0x1c(%esp,1),%ecx
c012d988 <do_select+19c> pushl %ecx
c012d989 <do_select+19d> movl %edx,0x24(%esp,1)
c012d98d <do_select+1a1> call *%esi
c012d98f <do_select+1a3> addl $0x10,%esp
c012d992 <do_select+1a6> movl 0x14(%esp,1),%edx
c012d996 <do_select+1aa> testl %eax,%eax
c012d998 <do_select+1ac> je c012d99f <do_select+1b3>
c012d99a <do_select+1ae> movl $0x1,%ebp
c012d99f <do_select+1b3> testl %ebp,%ebp
c012d9a1 <do_select+1b5> je c012d9b9 <do_select+1cd>
c012d9a3 <do_select+1b7> movl 0x18(%esp,1),%edi
c012d9a7 <do_select+1bb> orl %edi,0x80(%edx)
c012d9ad <do_select+1c1> incl 0x2c(%esp,1)
c012d9b1 <do_select+1c5> movl $0x0,0x28(%esp,1)
c012d9b9 <do_select+1cd> movl 0x18(%esp,1),%ecx
c012d9bd <do_select+1d1> testl %ecx,0x40(%edx)
c012d9c0 <do_select+1d4> je c012da3b <do_select+24f>
c012d9c2 <do_select+1d6> movl 0x1c(%esp,1),%edi
c012d9c6 <do_select+1da> movl (%edi),%ebx
c012d9c8 <do_select+1dc> movl 0x34(%ebx),%eax
c012d9cb <do_select+1df> testl %eax,%eax
c012d9cd <do_select+1e1> je c012da3b <do_select+24f>
c012d9cf <do_select+1e3> movl 0x10(%eax),%esi
c012d9d2 <do_select+1e6> testl %esi,%esi
c012d9d4 <do_select+1e8> je c012da3b <do_select+24f>
c012d9d6 <do_select+1ea> movl 0x30(%ebx),%ecx
c012d9d9 <do_select+1ed> movl %ecx,0x10(%esp,1)
c012d9dd <do_select+1f1> xorl %ebp,%ebp
c012d9df <do_select+1f3> movl 0x28(%esp,1),%edi
c012d9e3 <do_select+1f7> pushl %edi
c012d9e4 <do_select+1f8> pushl $0x4
c012d9e6 <do_select+1fa> pushl %ebx
c012d9e7 <do_select+1fb> movl 0x1c(%esp,1),%ecx
c012d9eb <do_select+1ff> pushl %ecx
c012d9ec <do_select+200> movl %edx,0x24(%esp,1)
c012d9f0 <do_select+204> call *%esi
c012d9f2 <do_select+206> addl $0x10,%esp
c012d9f5 <do_select+209> movl 0x14(%esp,1),%edx
c012d9f9 <do_select+20d> testl %eax,%eax
c012d9fb <do_select+20f> jne c012da1c <do_select+230>
c012d9fd <do_select+211> testl %edi,%edi
c012d9ff <do_select+213> je c012da21 <do_select+235>
c012da01 <do_select+215> pushl $0x0
c012da03 <do_select+217> pushl $0x4
c012da05 <do_select+219> pushl %ebx
c012da06 <do_select+21a> movl 0x1c(%esp,1),%edi
c012da0a <do_select+21e> pushl %edi
c012da0b <do_select+21f> movl %edx,0x24(%esp,1)
c012da0f <do_select+223> call *%esi
c012da11 <do_select+225> addl $0x10,%esp
c012da14 <do_select+228> movl 0x14(%esp,1),%edx
c012da18 <do_select+22c> testl %eax,%eax
c012da1a <do_select+22e> je c012da21 <do_select+235>
c012da1c <do_select+230> movl $0x1,%ebp
c012da21 <do_select+235> testl %ebp,%ebp
c012da23 <do_select+237> je c012da3b <do_select+24f>
c012da25 <do_select+239> movl 0x18(%esp,1),%ecx
c012da29 <do_select+23d> orl %ecx,0xa0(%edx)
c012da2f <do_select+243> incl 0x2c(%esp,1)
c012da33 <do_select+247> movl $0x0,0x28(%esp,1)
c012da3b <do_select+24f> incl 0x20(%esp,1)
c012da3f <do_select+253> addl $0x4,0x1c(%esp,1)
c012da44 <do_select+258> movl 0x3c(%esp,1),%edi
c012da48 <do_select+25c> cmpl %edi,0x20(%esp,1)
c012da4c <do_select+260> jl c012d898 <do_select+ac>
c012da52 <do_select+266> movl $0x0,0x28(%esp,1)
c012da5a <do_select+26e> cmpl $0x0,0x2c(%esp,1)
c012da5f <do_select+273> jne c012da84 <do_select+298>
c012da61 <do_select+275> movl 0xc01df5ac,%edx
c012da67 <do_select+27b> cmpl $0x0,0x128(%edx)
c012da6e <do_select+282> je c012da84 <do_select+298>
c012da70 <do_select+284> movl 0x10(%edx),%eax
c012da73 <do_select+287> notl %eax
c012da75 <do_select+289> testl %eax,0xc(%edx)
c012da78 <do_select+28c> jne c012da84 <do_select+298>
c012da7a <do_select+28e> call c01109e4 <schedule>
c012da7f <do_select+293> jmp c012d864 <do_select+78>
c012da84 <do_select+298> leal 0x30(%esp,1),%eax
c012da88 <do_select+29c> pushl %eax
c012da89 <do_select+29d> call c012d714 <free_wait>
c012da8e <do_select+2a2> pushl $0x0
c012da90 <do_select+2a4> movl 0x2c(%esp,1),%ecx
c012da94 <do_select+2a8> pushl %ecx
c012da95 <do_select+2a9> call c011fad0 <free_pages>
c012da9a <do_select+2ae> movl 0xc01df5ac,%eax
c012da9f <do_select+2b3> movl $0x0,(%eax)
c012daa5 <do_select+2b9> addl $0xc,%esp
c012daa8 <do_select+2bc> movl 0x2c(%esp,1),%eax
c012daac <do_select+2c0> popl %ebx
c012daad <do_select+2c1> popl %esi
c012daae <do_select+2c2> popl %edi
c012daaf <do_select+2c3> popl %ebp
c012dab0 <do_select+2c4> addl $0x28,%esp
c012dab3 <do_select+2c7> ret
c012dd52 <sys_select+1ba> call c012d7ec <do_select>
c018cd5c <do_select> pushl %esi
c018cd5d <do_select+1> pushl %ebx
c018cd5e <do_select+2> movl 0x10(%esp,1),%eax
c018cd62 <do_select+6> movl 0x18(%esp,1),%esi
c018cd66 <do_select+a> movl 0x3c(%eax),%ebx
c018cd69 <do_select+d> pushl $0xc01b6e1c
c018cd6e <do_select+12> pushl %ebx
c018cd6f <do_select+13> call c018cb64 <check_apm_bios_struct>
c018cd74 <do_select+18> addl $0x8,%esp
c018cd77 <do_select+1b> testl %eax,%eax
c018cd79 <do_select+1d> je c018cd80 <do_select+24>
c018cd7b <do_select+1f> xorl %eax,%eax
c018cd7d <do_select+21> popl %ebx
c018cd7e <do_select+22> popl %esi
c018cd7f <do_select+23> ret
c018cd80 <do_select+24> cmpl $0x1,0x14(%esp,1)
c018cd85 <do_select+29> jne c018cd7b <do_select+1f>
c018cd87 <do_select+2b> pushl %ebx
c018cd88 <do_select+2c> call c018c6f0 <queue_empty>
c018cd8d <do_select+31> addl $0x4,%esp
c018cd90 <do_select+34> testl %eax,%eax
c018cd92 <do_select+36> jne c018cd9c <do_select+40>
c018cd94 <do_select+38> movl $0x1,%eax
c018cd99 <do_select+3d> popl %ebx
c018cd9a <do_select+3e> popl %esi
c018cd9b <do_select+3f> ret
c018cd9c <do_select+40> movl $0xc01c812c,%eax
c018cda1 <do_select+45> testl %esi,%esi
c018cda3 <do_select+47> je c018cdf0 <do_select+94>
c018cda5 <do_select+49> testl %eax,%eax
c018cda7 <do_select+4b> je c018cdf0 <do_select+94>
c018cda9 <do_select+4d> movl (%esi),%eax
c018cdab <do_select+4f> cmpl $0x154,%eax
c018cdb0 <do_select+54> ja c018cdf0 <do_select+94>
c018cdb2 <do_select+56> leal (%eax,%eax,2),%eax
c018cdb5 <do_select+59> movl 0x4(%esi),%edx
c018cdb8 <do_select+5c> leal (%edx,%eax,4),%edx
c018cdbb <do_select+5f> movl $0xc01c812c,0x8(%edx)
c018cdc2 <do_select+66> movl 0xc01df5ac,%eax
c018cdc7 <do_select+6b> movl %eax,(%edx)
c018cdc9 <do_select+6d> movl $0x0,0x4(%edx)
c018cdd0 <do_select+74> pushf
c018cdd1 <do_select+75> popl %ebx
c018cdd2 <do_select+76> cli
c018cdd3 <do_select+77> movl 0xc01c812c,%eax
c018cdd8 <do_select+7c> movl $0xc01c8128,%ecx
c018cddd <do_select+81> testl %eax,%eax
c018cddf <do_select+83> je c018cde3 <do_select+87>
c018cde1 <do_select+85> movl %eax,%ecx
c018cde3 <do_select+87> movl %edx,0xc01c812c
c018cde9 <do_select+8d> movl %ecx,0x4(%edx)
c018cdec <do_select+90> pushl %ebx
c018cded <do_select+91> popf
c018cdee <do_select+92> incl (%esi)
c018cdf0 <do_select+94> xorl %eax,%eax
c018cdf2 <do_select+96> popl %ebx
c018cdf3 <do_select+97> popl %esi
c018cdf4 <do_select+98> ret
c018cdf5 <do_select+99> leal 0x0(%esi),%esi

--------------------------------------------------------
Harald Hoyer Software Beratung, Erstellung und Vertrieb

EMAIL: saturn@studbox.uni-stuttgart.de
WWW : http://wwwcip.rus.uni-stuttgart.de/~etk10226/