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

Re: 2.6.10 DRM and 80386



paula4l wrote:
I'm running linux-2.6.10-686 on an 80386 pentium 3 and I notice the note
in the README:

80386 compatibility
-------------------
DRM modules will not work on true 80386 processors.  These drivers all
assume that cmpxchg is available.

What does this mean to me?  Should I go back to 2.4.27 and wait until a
later version of 2.6.x?


The Pentium 3 is actually of the i686 family (or 80686 if you prefer,
but it is not actually called that).  Here is the breakdown:

i386: 80386
i486: 80486
i586: Pentuim (classic), VIA Eden and C3 (IIRC)
i686: Pentium Pro/II/III/4, Xeon, Athlon, Duron, etc.

The note you refer to has to do with the fact that the 80386 and earlier
processors did not implement the cmpxchg insctruction which was
introduced with the 80486.  This instruction compared the contents of
two registers, set the appropriate status flags and then swapped the
contents, all in one instruction.

It is possible, in fact, to simulate the instruction in software.  But
that is very expensive and should only be done if absolutely necessary.
I.e., if you *require* to run a program compiled for i486 on an i386
machine:

----------
486 emulation (X86_EMU486) [N/y/?] ?

When used on a 386, Linux can emulate 3 instructions from the 486
set.  This allows user space programs compiled for 486 to run on a
386 without crashing with a SIGILL. As any emulation, performance
will be very low, but since these instruction are not often used,
this might not hurt.  The emulated instructions are:
   - bswap (does the same as htonl())
   - cmpxchg (used in multi-threading, mutex locking)
   - xadd (rarely used)

Note that this can also allow Step-A 486's to correctly run
multi-thread applications since cmpxchg has a wrong opcode on this
early CPU.
---------

Basically, unless you are running a no kidding 386 SX or DX (or the
equivalent Cyrix chip), there is nothing to worry about.  Sorry if
this is more info than you wanted, but I wanted to be thorough.

-Roberto

--
Roberto C. Sanchez
http://familiasanchez.net/~sanchezr

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: