[lkml]   [1999]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: linux-2.3.31: drivers/char/drm/drmP.h does not allow 386 build
    On Wed  8 Dec 1999 22:38:31 -0800,
    Adam J. Richter <> wrote:
    > 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].)

    I'll CC Richard Henderson, since this impacts i386 and Alpha kernel include
    files. The other alternative is to implement the generic cmpxchg routine
    for 386's using other instructions, but this seems like a waste of effort
    if no one will ever use the routine.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:55    [W:0.022 / U:42.568 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site