Date: Fri, 21 Nov 1997 14:54:26 -0500 (EST) From: Cliff Addy <fbsdlist@federation.addy.com> To: freebsd-questions@FreeBSD.ORG Subject: Cyrix 6x86 lockup bug Message-ID: <Pine.BSF.3.95q.971121145255.16218B-100000@federation.addy.com>
next in thread | raw e-mail | index | archive | help
I posted this message at the beginning of the week, but I don't recall it showing up and never saw an answer. Please forgive if this is a duplicate. ========================================================================== Supposedly, the Cyrix CPUs suffer a similar bug to the Pentium F0 bug that has been just been discovered. It is exploited by locking the cpu into a loop that contains the xchgl opcode. "The exchange instruction (xchgl) on the 6x86 will lock the cpu bus and effectively disable interrupts during its execution. It seems that the combination of speculative execution and register renaming plus out-of-order execution and the intelligent pipelines in the 6x86 will prevent interrupt servicing during the execution of the movl and jmp instructions. Consequently interrupts routines never get called and the processor is effectively locked in a loop that runs in its cache line." According to a Linux web page (www.tux.org/~balsa/linux/cyrix/p11.html), the problem can be prevented by setting the NO_LOCK bit in CCR1. They do this by using the command "set6x86 -p 0xc1 -s 0x10". How can we do the same in FreeBSD?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.971121145255.16218B-100000>