From owner-cvs-all Wed Nov 10 13:14:30 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 2E29F14D1A; Wed, 10 Nov 1999 13:14:26 -0800 (PST) (envelope-from dfr@FreeBSD.org) Received: (from dfr@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id NAA41236; Wed, 10 Nov 1999 13:14:26 -0800 (PST) (envelope-from dfr@FreeBSD.org) Message-Id: <199911102114.NAA41236@freefall.freebsd.org> From: Doug Rabson Date: Wed, 10 Nov 1999 13:14:26 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha fp_emulate.c machdep.c pmap.c swtch.s trap.c vm_machdep.c src/sys/alpha/include cpu.h Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk dfr 1999/11/10 13:14:26 PST Modified files: sys/alpha/alpha fp_emulate.c machdep.c pmap.c swtch.s trap.c vm_machdep.c sys/alpha/include cpu.h Log: Re-organise the code which manages the owner of the FP state (fpcurproc). The old code was spread out through the machdep code and was sloppy about enabling and disabling the FEN bit (which controls access to the FP register set). This caused a DIAGNOSTIC warning "DANGER WILL ROBINSON: FEN SET IN cpu_fork!" sometimes when operating under high loads and could conceivably lead to processes getting incorrect FP results. The new code is much more strict about the FEN bit and makes sure that *only* fpcurproc ever has it enabled. This also allows us to remove a section of code from the exception_return path which might improve performance marginally. Reviewed by: gallatin Revision Changes Path 1.8 +5 -8 src/sys/alpha/alpha/fp_emulate.c 1.64 +131 -26 src/sys/alpha/alpha/machdep.c 1.33 +5 -7 src/sys/alpha/alpha/pmap.c 1.14 +2 -11 src/sys/alpha/alpha/swtch.s 1.22 +13 -18 src/sys/alpha/alpha/trap.c 1.25 +9 -13 src/sys/alpha/alpha/vm_machdep.c 1.9 +5 -1 src/sys/alpha/include/cpu.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message