[ale] Cyrix bug (F00F's not the only one)

myo at lamers.net myo at lamers.net
Sat Nov 15 01:36:52 EST 1997


I found an article as i was looking around slashdot.org that mentions a
bug in the Cyrix 6x86 chips, somewhat similar to the Pentium F00F bug (in
that it will lock your system and is non-operating-system-specific).  This
one will send
your processor into an infinite loop rather than stop it dead.  If you
have the bug, the following program will make you aware of it.  I know
this works on Cyrix and IBM 6x86 chips (worked beautifully on mine).
There are a couple of workarounds posted at
http://www.tux.org/~balsa/linux/cyrix/p11.html.  This is also from where i
took the following code, which was round up from another site, written
completely in German.

(comments added by me.  *yay*)
-----------

   /* Place this code in a file (i.e. cyrixbug.c) and compile it.
    * Run your newly-found program (in single-user mode to be safe),
    * and if your system locks up, congratulations.  You have the bug
    * (and your kernel's not patched for it).
    * Reset, and see if you can implement one of the workarounds posted at
    * http://www.tux.org/~balsa/linux/cyrix/p11.html
    */

   static unsigned char c[4] = {0x36, 0x78, 0x38, 0x36};
   main()
   {
   asm ("movl $c, %ebx\n\t"
   "again: xchgl (%ebx), %eax\n\t"
   "movl %eax, %edx\n\t"
   "jmp again\n\t");
   }

   /* EOF */

---------

Kernel 2.1.64 contains a patch for this bug.  2.1.63 supposedly does also,
but i can't promise anything.


Ari Edelkind
myo at lamers.net






More information about the Ale mailing list