From owner-cvs-all Fri Jun 18 7:32:25 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 7CA8C14CA9; Fri, 18 Jun 1999 07:32:23 -0700 (PDT) (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id HAA66857; Fri, 18 Jun 1999 07:32:23 -0700 (PDT) (envelope-from bde@FreeBSD.org) Message-Id: <199906181432.HAA66857@freefall.freebsd.org> From: Bruce Evans Date: Fri, 18 Jun 1999 07:32:22 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 locore.s machdep.c trap.c src/sys/i386/include segments.h Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk bde 1999/06/18 07:32:22 PDT Modified files: sys/i386/i386 locore.s machdep.c trap.c sys/i386/include segments.h Log: Changed the global `idt' from an array to a pointer so that npx.c automatically hacks on the active copy of the IDT if f00f_hack() has changed it. This also allows simplifications in setidt(). This fixes breakage of FP exception handling by rev.1.55 of sys/kernel.h. FP exceptions were sent to npx.c's probe handlers because npx.c "restored" the old handlers to the wrong copy of the IDT. The SYSINIT for f00f_hack() was purposely run quite late to avoid problems like this, but it is bogusly associated with the SYSINIT for proc0 so it was moved with the latter. Problem reported and fix tested by: Martin Cracauer Revision Changes Path 1.124 +2 -2 src/sys/i386/i386/locore.s 1.342 +10 -12 src/sys/i386/i386/machdep.c 1.139 +2 -3 src/sys/i386/i386/trap.c 1.20 +2 -2 src/sys/i386/include/segments.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message