Oops, fix breakage to UP kernel.

This commit is contained in:
fsmp 1997-08-10 21:18:01 +00:00
parent ce530fb8fa
commit d89f54f7a3
4 changed files with 30 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: