Subject: AW: Re: kern/32191: integer divide fault trap caused by the ata driver
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Matthias-Christian Ott <matthias.christian@tiscali.de>
List: netbsd-bugs
Date: 11/30/2005 15:02:07
>Basically wdcprobe1 calls i8254_delay which calls gettick.
>The fault is at gettick+0x1c. From gdb this would be write_eflags(ef).
Well, it looks like everything is ok:
0xc054964c <gettick+28>: movzx eax,al
I really don't know why this can cause a trap.
Matthias-Christian Ott
--
(gdb) disassemble gettick+0x1c
Dump of assembler code for function gettick:
0xc0549630 <gettick>: push ebp
0xc0549631 <gettick+1>: mov edx,ds:0xc07d7108
0xc0549637 <gettick+7>: test edx,edx
0xc0549639 <gettick+9>: mov ebp,esp
0xc054963b <gettick+11>: jne 0xc054965c <gettick+44>
0xc054963d <gettick+13>: pushf
0xc054963e <gettick+14>: pop edx
0xc054963f <gettick+15>: cli
0xc0549640 <gettick+16>: xor eax,eax
0xc0549642 <gettick+18>: out 0x43,al
0xc0549644 <gettick+20>: in al,0x40
0xc0549646 <gettick+22>: mov cl,al
0xc0549648 <gettick+24>: in al,0x40
0xc054964a <gettick+26>: push edx
0xc054964b <gettick+27>: popf
0xc054964c <gettick+28>: movzx eax,al
0xc054964f <gettick+31>: shl eax,0x8
0xc0549652 <gettick+34>: movzx edx,cl
0xc0549655 <gettick+37>: or eax,edx
0xc0549657 <gettick+39>: leave
0xc0549658 <gettick+40>: ret
0xc0549659 <gettick+41>: lea esi,[esi]
0xc054965c <gettick+44>: leave
0xc054965d <gettick+45>: jmp 0xc0549ec8 <gettick_broken_latch>
0xc0549662 <gettick+50>: mov esi,esi
_______________________________________________________________________
Weihnachten bei Tiscali! Geschenke gibt's schon jetzt.
DSL City Flat f=FCr sensationelle 3.90 Euro im Monat*. Alle DSL-Tarife
3 Monate lang ohne Grundgeb=FChr! Gleich zugreifen!
http://www.tiscali.de/webmail/dsl.php