Subject: AW: Re: kern/32191: integer divide fault trap caused by the ata driver
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Matthias-Christian Ott <matthias.christian@tiscali.de>
List: netbsd-bugs
Date: 11/30/2005 14:24:02
The following reply was made to PR kern/32191; it has been noted by GNATS.

From: "Matthias-Christian Ott" <matthias.christian@tiscali.de>
To: "Manuel Bouyer" <bouyer@antioche.eu.org>, gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, gnats-admin@NetBSD.org,
	netbsd-bugs@NetBSD.org
Subject: AW: Re: kern/32191: integer divide fault trap caused by the ata driver
Date: Wed, 30 Nov 2005 15:02:07 +0100

 >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