Module Name:    src
Committed By:   bouyer
Date:           Sat May  2 18:49:57 UTC 2020

Modified Files:
        src/sys/arch/i386/i386: i386_trap.S locore.S

Log Message:
HANDLE_DEFERRED_FPU has to be donne with interrupt disabled;
move it before STIC.
Fix fpudna panic on i386 PV


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/i386/i386_trap.S
cvs rdiff -u -r1.182 -r1.183 src/sys/arch/i386/i386/locore.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/i386/i386_trap.S
diff -u src/sys/arch/i386/i386/i386_trap.S:1.21 src/sys/arch/i386/i386/i386_trap.S:1.22
--- src/sys/arch/i386/i386/i386_trap.S:1.21	Sat Apr 25 15:26:17 2020
+++ src/sys/arch/i386/i386/i386_trap.S	Sat May  2 18:49:57 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: i386_trap.S,v 1.21 2020/04/25 15:26:17 bouyer Exp $	*/
+/*	$NetBSD: i386_trap.S,v 1.22 2020/05/02 18:49:57 bouyer Exp $	*/
 
 /*
  * Copyright 2002 (c) Wasabi Systems, Inc.
@@ -66,7 +66,7 @@
 
 #if 0
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: i386_trap.S,v 1.21 2020/04/25 15:26:17 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i386_trap.S,v 1.22 2020/05/02 18:49:57 bouyer Exp $");
 #endif
 
 /*
@@ -434,6 +434,8 @@ calltrap:
 3:	CHECK_DEFERRED_SWITCH
 	jnz	9f
 
+	HANDLE_DEFERRED_FPU
+
 #ifdef XENPV
 	STIC(%eax)
 	jz	22f
@@ -458,8 +460,6 @@ calltrap:
 22:
 #endif /* XEN */
 
-	HANDLE_DEFERRED_FPU
-
 6:
 #ifdef DIAGNOSTIC
 	cmpl	CPUVAR(ILEVEL),%ebx

Index: src/sys/arch/i386/i386/locore.S
diff -u src/sys/arch/i386/i386/locore.S:1.182 src/sys/arch/i386/i386/locore.S:1.183
--- src/sys/arch/i386/i386/locore.S:1.182	Sat May  2 16:44:35 2020
+++ src/sys/arch/i386/i386/locore.S	Sat May  2 18:49:57 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.182 2020/05/02 16:44:35 bouyer Exp $	*/
+/*	$NetBSD: locore.S,v 1.183 2020/05/02 18:49:57 bouyer Exp $	*/
 
 /*
  * Copyright-o-rama!
@@ -128,7 +128,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.182 2020/05/02 16:44:35 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.183 2020/05/02 18:49:57 bouyer Exp $");
 
 #include "opt_copy_symtab.h"
 #include "opt_ddb.h"
@@ -1560,6 +1560,8 @@ IDTVEC(syscall)
 	orl	CPUVAR(WANT_PMAPLOAD), %eax
 	jnz	9f
 
+	HANDLE_DEFERRED_FPU
+
 #ifdef XENPV
 	STIC(%eax)
 	jz	14f
@@ -1589,8 +1591,6 @@ IDTVEC(syscall)
 	jne	3f
 #endif
 
-	HANDLE_DEFERRED_FPU
-
 	INTRFASTEXIT
 
 #ifdef DIAGNOSTIC

Reply via email to