summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfsmp <fsmp@FreeBSD.org>1997-08-10 21:18:01 +0000
committerfsmp <fsmp@FreeBSD.org>1997-08-10 21:18:01 +0000
commitd89f54f7a31493ef7ab830f3ea3911c80ba43f2e (patch)
tree36b31b5ddb895e8d1f463c49c533dae5b0d87264
parentce530fb8fa4f206001fcd8ea72ed1e688fb50ae6 (diff)
downloadFreeBSD-src-d89f54f7a31493ef7ab830f3ea3911c80ba43f2e.zip
FreeBSD-src-d89f54f7a31493ef7ab830f3ea3911c80ba43f2e.tar.gz
Oops, fix breakage to UP kernel.
-rw-r--r--sys/amd64/amd64/exception.S10
-rw-r--r--sys/amd64/amd64/exception.s10
-rw-r--r--sys/i386/i386/exception.s10
-rw-r--r--sys/i386/isa/ipl.s4
4 files changed, 30 insertions, 4 deletions
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index 1bb667c..6305724 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: exception.s,v 1.8 1997/08/10 20:51:52 smp Exp smp $
+ * $Id: exception.s,v 1.37 1997/08/10 20:59:06 fsmp Exp $
*/
#include "npx.h" /* NNPX */
@@ -160,7 +160,9 @@ IDTVEC(fpu)
movl _cpl,%eax
pushl %eax
pushl $0 /* dummy unit to finish intr frame */
+#ifdef SMP
call _get_fpu_lock
+#endif /* SMP */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,%eax
movl %eax,_cpl
@@ -186,7 +188,9 @@ alltraps_with_regs_pushed:
movl %ax,%es
FAKE_MCOUNT(12*4(%esp))
calltrap:
+#ifdef SMP
call _get_align_lock
+#endif /* SMP */
FAKE_MCOUNT(_btrap) /* init "from" _btrap -> calltrap */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,_cpl
@@ -240,7 +244,9 @@ IDTVEC(syscall)
movl %eax,TF_EFLAGS(%esp)
movl $7,TF_ERR(%esp) /* sizeof "lcall 7,0" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
@@ -267,7 +273,9 @@ IDTVEC(int0x80_syscall)
movl %ax,%es
movl $2,TF_ERR(%esp) /* sizeof "int 0x80" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_int0x80_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
diff --git a/sys/amd64/amd64/exception.s b/sys/amd64/amd64/exception.s
index 1bb667c..6305724 100644
--- a/sys/amd64/amd64/exception.s
+++ b/sys/amd64/amd64/exception.s
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: exception.s,v 1.8 1997/08/10 20:51:52 smp Exp smp $
+ * $Id: exception.s,v 1.37 1997/08/10 20:59:06 fsmp Exp $
*/
#include "npx.h" /* NNPX */
@@ -160,7 +160,9 @@ IDTVEC(fpu)
movl _cpl,%eax
pushl %eax
pushl $0 /* dummy unit to finish intr frame */
+#ifdef SMP
call _get_fpu_lock
+#endif /* SMP */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,%eax
movl %eax,_cpl
@@ -186,7 +188,9 @@ alltraps_with_regs_pushed:
movl %ax,%es
FAKE_MCOUNT(12*4(%esp))
calltrap:
+#ifdef SMP
call _get_align_lock
+#endif /* SMP */
FAKE_MCOUNT(_btrap) /* init "from" _btrap -> calltrap */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,_cpl
@@ -240,7 +244,9 @@ IDTVEC(syscall)
movl %eax,TF_EFLAGS(%esp)
movl $7,TF_ERR(%esp) /* sizeof "lcall 7,0" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
@@ -267,7 +273,9 @@ IDTVEC(int0x80_syscall)
movl %ax,%es
movl $2,TF_ERR(%esp) /* sizeof "int 0x80" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_int0x80_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
diff --git a/sys/i386/i386/exception.s b/sys/i386/i386/exception.s
index 1bb667c..6305724 100644
--- a/sys/i386/i386/exception.s
+++ b/sys/i386/i386/exception.s
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: exception.s,v 1.8 1997/08/10 20:51:52 smp Exp smp $
+ * $Id: exception.s,v 1.37 1997/08/10 20:59:06 fsmp Exp $
*/
#include "npx.h" /* NNPX */
@@ -160,7 +160,9 @@ IDTVEC(fpu)
movl _cpl,%eax
pushl %eax
pushl $0 /* dummy unit to finish intr frame */
+#ifdef SMP
call _get_fpu_lock
+#endif /* SMP */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,%eax
movl %eax,_cpl
@@ -186,7 +188,9 @@ alltraps_with_regs_pushed:
movl %ax,%es
FAKE_MCOUNT(12*4(%esp))
calltrap:
+#ifdef SMP
call _get_align_lock
+#endif /* SMP */
FAKE_MCOUNT(_btrap) /* init "from" _btrap -> calltrap */
incl _cnt+V_TRAP
orl $SWI_AST_MASK,_cpl
@@ -240,7 +244,9 @@ IDTVEC(syscall)
movl %eax,TF_EFLAGS(%esp)
movl $7,TF_ERR(%esp) /* sizeof "lcall 7,0" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
@@ -267,7 +273,9 @@ IDTVEC(int0x80_syscall)
movl %ax,%es
movl $2,TF_ERR(%esp) /* sizeof "int 0x80" */
FAKE_MCOUNT(12*4(%esp))
+#ifdef SMP
call _get_int0x80_syscall_lock
+#endif /* SMP */
incl _cnt+V_SYSCALL
movl $SWI_AST_MASK,_cpl
call _syscall
diff --git a/sys/i386/isa/ipl.s b/sys/i386/isa/ipl.s
index acf8621..002e924 100644
--- a/sys/i386/isa/ipl.s
+++ b/sys/i386/isa/ipl.s
@@ -36,7 +36,7 @@
*
* @(#)ipl.s
*
- * $Id: ipl.s,v 1.5 1997/08/10 20:47:53 smp Exp smp $
+ * $Id: ipl.s,v 1.7 1997/08/10 20:58:58 fsmp Exp $
*/
@@ -138,10 +138,12 @@ doreti_stop:
1:
#endif /* VM86 */
+#ifdef SMP
/* release the kernel lock */
pushl $_mp_lock /* GIANT_LOCK */
call _MPrellock
add $4, %esp
+#endif /* SMP */
.globl doreti_popl_es
doreti_popl_es:
OpenPOWER on IntegriCloud