From owner-freebsd-questions Fri Nov 21 11:55:12 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA06363 for questions-outgoing; Fri, 21 Nov 1997 11:55:12 -0800 (PST) (envelope-from owner-freebsd-questions) Received: from federation.addy.com (federation.addy.com [207.239.68.2]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA06356 for ; Fri, 21 Nov 1997 11:55:06 -0800 (PST) (envelope-from fbsdlist@federation.addy.com) Received: from localhost (fbsdlist@localhost) by federation.addy.com (8.8.5/8.6.12) with SMTP id OAA16330 for ; Fri, 21 Nov 1997 14:54:26 -0500 (EST) Date: Fri, 21 Nov 1997 14:54:26 -0500 (EST) From: Cliff Addy To: freebsd-questions@FreeBSD.ORG Subject: Cyrix 6x86 lockup bug Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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?