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