> Date: Mon, 10 Sep 2012 13:34:56 +0300
> From: Paul Irofti <p...@irofti.net>
> 
> On Mon, Sep 10, 2012 at 12:26:09PM +0200, Mark Kettenis wrote:
> > > Date: Wed, 5 Sep 2012 04:01:56 +0400
> > > From: Alexander Polakov <p...@sdf.org>
> > > 
> > > * Alexander Polakov <p...@sdf.org> [120903 21:41]:
> > > > Now back to "underlying issues": x86emu executes some code which causes
> > > > parity check NMI (bit 7 set in port 0x61) to be generated, which causes
> > > > drop to the debugger (I mistook it for a panic).
> > > 
> > > Nobody asked me which code exactly. But I'll tell you anyway.
> > > 
> > > 000C1867 56                             push    si
> > > 000C1868 BE 38 02                       mov     si, 0x0238
> > > 000C186B 8B 34                          mov     si, [si]
> > > 000C186D 8B 74 10                       mov     si, [si+0x10]
> > > 000C1870 83 C6 04                       add     si, 0x04
> > > 000C1873 FC                             cld     
> > > 000C1874 B9 07 00                       mov     cx, 0x0007
> > > 000C1877 66 AD                          lods    eax, ds:[esi]
> > > 000C1879 E8 D5 F9                       call    0x000C1251
> > > 000C187C 83 C3 04                       add     bx, 0x04
> > > 000C187F E2 F6                          loop    0x000C1877
> > > 000C1881 5E                             pop     si
> > > 000C1882 C3                             ret     
> > > 
> > > NMI ... going to debugger
> > > <...>
> > > x86emu: SEGMASK: 0x0
> > > x86emu: R_DS: 0xc000
> > > x86emu: R_SS: 0x0
> > > x86emu: R_CS: 0xc000
> > > x86emu: R_ES: 0xc000
> > > x86emu: R_FS: 0x0
> > > x86emu: R_GS: 0x0
> > > x86emu: R_IP: 0x1877
> > > x86emu: R_SI: 0xe886
> > > x86emu: R_ESI: 0xe886
> > > x86emu: Now at 0xc1877, instruction: 0x66
> > > 
> > > Sometimes it's 0xc1878 or even 0xc187f.
> > > 
> > > So, if you feel like debugging this video bios/x86 emulation mess,
> > > feel free to contact me, I can provide you with memory dump or
> > > disassembled memory dump.
> > 
> > Hmm 0x66 is used as an instruction prefix.  I believe I've seen
> > prefix-related fixes flying by on the Xorg mailing lists.  Might be
> > worth investigating whether there are any x86emu fixes that are
> > missing from our tree.
> 
> I looked at the NetBSD tree last week and I haven't spotted any.
> Where's the X11 tree for this? 

We have a copy in /usr/xenocara/xserver/hw/xfree86/x86emu, and you can
look at the commit log at:

  <http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/x86emu>

The particular change I was thinking about was:

  
<http://cgit.freedesktop.org/xorg/xserver/commit/hw/xfree86/x86emu?id=bb18f277156c08be028a6e12d8987fb1593e9168>

Cheers,

Mark

Reply via email to