Date: Thu, 7 Jun 2001 08:35:06 -0500 From: Andrew Hesford <ajh3@usrlib.org> To: Will Andrews <will@physics.purdue.edu> Cc: Andrew Hesford <ajh3@usrlib.org>, FreeBSD-hackers <freebsd-hackers@FreeBSD.ORG> Subject: Re: XFree86 4.1.0 and i810 Message-ID: <20010607083506.A42740@core.usrlib.org> In-Reply-To: <20010607065915.V81224@bohr.physics.purdue.edu>; from will@physics.purdue.edu on Thu, Jun 07, 2001 at 06:59:15AM -0500 References: <20010606232045.A453@core.usrlib.org> <20010607003250.B40894@core.usrlib.org> <20010607065915.V81224@bohr.physics.purdue.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 07, 2001 at 06:59:15AM -0500, Will Andrews wrote: > On Thu, Jun 07, 2001 at 12:32:50AM -0500, Andrew Hesford (ajh3@usrlib.org) wrote: > > The XFree86 4.0.1 sources *did* offer a helpful hint. I have posted > > another email which includes a patch to fix the buggy i810 driver. > > Are you people talking about XFree86 4.1.0 or 4.0.1? Because > 4.0.1 is >WAY< outdated. :-) > > -- > wca I'm talking about both. The last version of XFree86 that worked properly with the i810 was 4.0.1. Driver restructuring in later versions broke VT-switching code in subsequent versions. Unfortunately, 4.1.0 did not fix this problem (although they claim to support the i810 under FreeBSD), and I managed to trace the problem to an AGPIOC_BIND ioctl. Since XFree86 4.0.1 did not have this problem, I downloaded its sources and was looking to see how the i810 driver handled VT switching. As far as I can tell, the *only* problem with 4.0.2, 4.0.3, and 4.1.0 is that they calle I810UnbindGARTMemory() when leaving the X VT, and call I810BindGARTMemory() when entering the X VT. This call to I810BindGARTMemory() is the one that makes the bad ioctl call. The solution is to comment out the calls to I810BindGARTMemory() and I810UnbindGARTMemory() in the VT-switching functions. The end result is that I810EnterVT() and I810LeaveVT() are now identical in 4.1.0 to the ones in 4.0.1, and the server no longer crashes when one switches terminals. I have attached a patch, and hope that the XFree86 port maintainer will consider adding this to the files/ directory to achieve maximum distribution. I will contact him shortly. I imagine it would be possible to apply the same changes to the drivers in 4.0.2 or 4.0.3, although now I don't see why anybody would care. -- Andrew Hesford ajh3@usrlib.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010607083506.A42740>