summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/segments.h
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1999-06-18 14:32:21 +0000
committerbde <bde@FreeBSD.org>1999-06-18 14:32:21 +0000
commit72f8c1311e27806ce9eb0083b1c7fc2f556fd3a2 (patch)
tree8c997750c061f4eb3e486241e34a34dc83eb8f72 /sys/amd64/include/segments.h
parent97705ed6e4ac0c801217439c360072830d00cf8b (diff)
downloadFreeBSD-src-72f8c1311e27806ce9eb0083b1c7fc2f556fd3a2.zip
FreeBSD-src-72f8c1311e27806ce9eb0083b1c7fc2f556fd3a2.tar.gz
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 <cracauer@cons.org>
Diffstat (limited to 'sys/amd64/include/segments.h')
-rw-r--r--sys/amd64/include/segments.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/segments.h b/sys/amd64/include/segments.h
index eaecfa3..7028185 100644
--- a/sys/amd64/include/segments.h
+++ b/sys/amd64/include/segments.h
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)segments.h 7.1 (Berkeley) 5/9/91
- * $Id: segments.h,v 1.18 1999/01/28 11:45:49 newton Exp $
+ * $Id: segments.h,v 1.19 1999/04/28 01:04:06 luoqi Exp $
*/
#ifndef _MACHINE_SEGMENTS_H_
@@ -246,7 +246,7 @@ extern int currentldt;
extern int _default_ldt;
extern union descriptor gdt[];
extern struct soft_segment_descriptor gdt_segs[];
-extern struct gate_descriptor idt[NIDT];
+extern struct gate_descriptor *idt;
extern union descriptor ldt[NLDT];
void lgdt __P((struct region_descriptor *rdp));
OpenPOWER on IntegriCloud