Re: CVS XFree86 i830 failure on DELL inspiron 2600

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 17, 2005 at 01:53:50PM +0100, Nicolas Joly wrote:
>On Wed, Feb 16, 2005 at 06:23:24PM -0500, David Dawes wrote:
>> On Wed, Feb 16, 2005 at 09:00:43PM +0100, Nicolas Joly wrote:
>> >
>> >Hi,
>> >
>> >I just tried CVS XFree86 on my DELL Inspiron 2600 with Intel 82830MP
>> >Integrated Video running under NetBSD/i386, and got bad results ...
>> >This machine worked flawlessly with the previous release (4.4.0), with
>> >1024x768, depth 16.
>> >
>> >When i try to start the server, problems begins ... The LFP remains
>> >black and the server start eating all the CPU !
>> 
>> I'd guess from the log that it is getting stuck setting the video mode.
>> However, you would need to either attach to the XFree86 process with
>> gdb, or kill it (with SIGSEGV or SIGQUIT) and run gdb on the resulting
>> core to find our for certain.  Perhaps Alan has some ideas about what
>> is going wrong here.
>
>To help debugging, i recompiled everything with `-g -O0' and made the
>server static.
>
>It seems that you're right, according to the 2 following traces :
>
>(gdb) bt
>#0  0x0847011e in write_w (pInt=0x8af5a00, addr=8080, val=48988)
>    at generic.c:532
>#1  0x0848a94d in pushw (pInt=0x8af5a00, val=48988) at helper_exec.c:95
>#2  0x0848a99c in run_bios_int (num=0, pInt=0x8af5a00) at helper_exec.c:134
>#3  0x0848bd2d in int_handler (pInt=0x8af5a00) at xf86int10.c:53
>#4  0x0846f063 in x86emu_do_int (num=0) at xf86x86emu.c:25
>#5  0x08470535 in x86emu_intr_handle () at decode.c:57
>#6  0x0847064a in X86EMU_exec () at decode.c:113
>#7  0x0846f0a7 in xf86ExecX86int10 (pInt=0x8af5a00) at xf86x86emu.c:39
>#8  0x08462b27 in VBESetVBEMode (pVbe=0x8b04480, mode=49223, block=0x0)
>    at vbe.c:526
>#9  0x082b4016 in I830VESASetVBEMode (pScrn=0x8af2800, mode=49223, block=0x0)
>    at i830_driver.c:3375
>#10 0x082b4131 in I830VESASetMode (pScrn=0x8af2800, pMode=0x8b0f000)
>    at i830_driver.c:3450
>#11 0x082b6d41 in I830BIOSEnterVT (scrnIndex=0, flags=0) at i830_driver.c:4841
>#12 0x082b5bb2 in I830BIOSScreenInit (scrnIndex=0, pScreen=0x8b01e00, argc=3, 
>    argv=0xbfbfebec) at i830_driver.c:4302
>#13 0x084b1c2c in AddScreen (pfnInit=0x82b53f0 <I830BIOSScreenInit>, argc=3, 
>    argv=0xbfbfebec) at main.c:763
>#14 0x08413b8a in InitOutput (pScreenInfo=0x8ae92e0, argc=3, argv=0xbfbfebec)
>    at xf86Init.c:1145
>#15 0x084b0f13 in main (argc=3, argv=0xbfbfebec, envp=0xbfbfebfc) at main.c:355
>#16 0x0804bdb6 in ___start ()
>
>#0  Mem_rw (addr=0) at helper_exec.c:434
>#1  0x0847d1ec in x86emuOp_iret (op1=207 '?') at ops.c:8904
>#2  0x0847068f in X86EMU_exec () at decode.c:117
>#3  0x0846f0a7 in xf86ExecX86int10 (pInt=0x8af5a00) at xf86x86emu.c:39
>#4  0x08462b27 in VBESetVBEMode (pVbe=0x8b04480, mode=49223, block=0x0)
>    at vbe.c:526
>#5  0x082b4016 in I830VESASetVBEMode (pScrn=0x8af2800, mode=49223, block=0x0)
>    at i830_driver.c:3375
>#6  0x082b4131 in I830VESASetMode (pScrn=0x8af2800, pMode=0x8b0f000)
>    at i830_driver.c:3450
>#7  0x082b6d41 in I830BIOSEnterVT (scrnIndex=0, flags=0) at i830_driver.c:4841
>#8  0x082b5bb2 in I830BIOSScreenInit (scrnIndex=0, pScreen=0x8b01e00, argc=3, 
>    argv=0xbfbfebec) at i830_driver.c:4302
>#9  0x084b1c2c in AddScreen (pfnInit=0x82b53f0 <I830BIOSScreenInit>, argc=3, 
>    argv=0xbfbfebec) at main.c:763
>#10 0x08413b8a in InitOutput (pScreenInfo=0x8ae92e0, argc=3, argv=0xbfbfebec)
>    at xf86Init.c:1145
>#11 0x084b0f13 in main (argc=3, argv=0xbfbfebec, envp=0xbfbfebfc) at main.c:355
>#12 0x0804bdb6 in ___start ()
>
>The process is looping in `X86EMU_exec()'.

Yes.  One thing to do to help eliminate components outside of the driver
is to go back to the modular server, but replace the int10 and vbe
modules with those from 4.4.0.  Another useful piece of information, if
possible, would be to compare the results with Linux on similar hardware
when using the vm86 version of the int10 module vs the x86emu version.
Another step would be to compare the sequence and parameters for the int10
calls made by the 4.4.0 version of the driver vs the current version.

>> Does the "vesa" driver still work OK?
>
>Works fine, at least, with 1024x768 at depth 16.

That's good to know.

David
_______________________________________________
XFree86 mailing list
XFree86@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/xfree86

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux