[Xorg-driver-geode] Geode LX video testing results
Jordan Crouse
jordan.crouse at amd.com
Sun Dec 23 09:05:55 PST 2007
On 22/12/07 11:35 -0500, Bart Trojanowski wrote:
> I have continued my investigation into where X freezes.
>
> So far we know that using the amd driver crashes when DDC data is
> retrieved from the BIOS...
>
> * Jordan Crouse <jordan.crouse at amd.com> [071214 14:45]:
> > > It dies in vbeDoEDID() called by GeodeDoDDC().
> >
> > There are a lot of INT10 calls in that code path. WE're getting pretty close
> > to needing somebody with a FS2 and knowledge of the BIOS to jump in and
> > watch what happens on the other side.
>
> I did some more probing. And here are my findings...
>
> * X executes the BIOS code in an emulator (news to me, probably not to
> the rest on this list).
>
> * the emulator dies when executing outl(0x20, 00000018)
>
> This is *not* the first out() instruction. It is the first port
> operation on port 0x20.
>
> 0x20 is the initialization port for the PIC. Why any INT 10 routine
> would need to (re)initialize the PIC is a mystery to me.
>
> * the call trace before we freeze is...
>
> /usr/lib/xorg/modules//libint10.so(x_outl+0x1b6) [0xb7b3cd46]
> /usr/lib/xorg/modules//libint10.so [0xb7b54fd4]
> /usr/lib/xorg/modules//libint10.so(X86EMU_exec+0x23a) [0xb7b552ca]
> /usr/lib/xorg/modules//libint10.so(xf86ExecX86int10+0xf9) [0xb7b3f219]
> /usr/lib/xorg/modules//libvbe.so(vbeDoEDID+0x30e) [0xb79e24ce]
> /usr/lib/xorg/modules/drivers//amd_drv.so(GeodeDoDDC+0xce) [0xb7b8033e]
> /usr/lib/xorg/modules/drivers//amd_drv.so [0xb7b95537]
> X(InitOutput+0x9a4) [0x80a8f14]
> X(main+0x27b) [0x8076dab]
> /lib/libc.so.6(__libc_start_main+0xe0) [0xb7d4a050]
> X(FontFileCompleteXLFD+0x1e9) [0x8076301]
>
> Some thoughts...
>
> * Is it common for other VIDEO BIOS implementations to muck with the PIC?
> * What would happen if I ignored a write to port 20?
>
> Jordan, you said that it may be time to talk to people on the general
> list. Did you mean <xorg at lists.freedesktop.org> ?
Yep - this is out of our expertise area - we need to find out more about
how VBE works.
Jordan
---
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.
More information about the Xorg-driver-geode
mailing list