Re: linux-2.3.31: drivers/char/drm/drmP.h does not allow 386 build

Pavel Machek (pavel@suse.cz)
Fri, 10 Dec 1999 11:16:57 +0100


Hi!

> > As of linux-2.3.31, drivers/char/drm/drmP.h deliberately aborts
> > the compile the CPU type in the kernel build is configured to be 386.
> > The problem is that this is the way that one builds a kernel that can
> > run on any x86 (to avoid things like generating the BSWAP instruction,
> > which the 386 lacks). It does not necessarily mean that the CPU is
> > actually a 386. This change to drmP.h makes it impossible to build a fully
> > configured for the full x86 processor family. If there is some reason
> > why the "direct rendering infrastructure" should not run on a 386, then
> > this check should be done at run time, not compile time.
>
> We need to use the CMPXCHG instruction for fast locking, and this
> instruction is not available on the 386. Would it be sufficient if we
> compiled using the CMPXCHG instruction and then did a run-time test for the
> 386 and never executed this instruction? This is approximately what we did
> before 2.3.31. (386s are too slow to make direct-rendering a viable
> option, so we don't support the DRI on 386s [and all modern graphics cards
> are PCI or AGP, and most (all?) 386s don't have these busses
> available].)

Actually there were rare 386's with PCI slots. :-).

Pavel

-- 
I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel.  Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/