patch-2.1.116 linux/arch/i386/kernel/entry.S

Next file: linux/arch/i386/kernel/head.S
Previous file: linux/arch/alpha/mm/init.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.115/linux/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
@@ -106,19 +106,22 @@
 1:	popl %ds;	\
 2:	popl %es;	\
 3:	addl $4,%esp;	\
-	iret;		\
+4:	iret;		\
 .section fixup,"ax";	\
-4:	pushl $0;	\
+5:	pushl $0;	\
 	popl %ds;	\
 	jmp 2b;		\
-5:	pushl $0;	\
+6:	pushl $0;	\
 	popl %es;	\
 	jmp 3b;		\
+7:	pushl $11;	\
+	call do_exit;	\
 .previous;		\
 .section __ex_table,"a";\
 	.align 4;	\
-	.long 1b,4b;	\
-	.long 2b,5b;	\
+	.long 1b,5b;	\
+	.long 2b,6b;	\
+	.long 4b,7b;	\
 .previous
 
 #define GET_CURRENT(reg) \
@@ -255,19 +258,8 @@
 	decl %eax			# eax = -1
 	pushl %ecx
 	pushl %ebx
-#if 1
-	xorl %ecx,%ecx			# zero ecx
-	cld
-	mov %es,%cx			# get the lower order bits of es
-#else
 	cld
-# Some older processors leave the top 16 bits of the 32 bit destination
-# register undefined, rather than zeroed in the following instruction.
-# This won't matter when restoring or loading a segment register from the
-# stack.  It may be a problem if any code reads the full 32 bit value.
-# dosemu? kernel?  Would somebody like to verify that this way is really OK?
 	movl %es,%cx
-#endif
 	xchgl %eax, ORIG_EAX(%esp)	# orig_eax (get the error code. )
 	movl %esp,%edx
 	xchgl %ecx, ES(%esp)		# get the address and save es.
@@ -396,7 +388,7 @@
 	.long SYMBOL_NAME(sys_lseek)
 	.long SYMBOL_NAME(sys_getpid)		/* 20 */
 	.long SYMBOL_NAME(sys_mount)
-	.long SYMBOL_NAME(sys_umount)
+	.long SYMBOL_NAME(sys_oldumount)
 	.long SYMBOL_NAME(sys_setuid)
 	.long SYMBOL_NAME(sys_getuid)
 	.long SYMBOL_NAME(sys_stime)		/* 25 */
@@ -426,7 +418,7 @@
 	.long SYMBOL_NAME(sys_geteuid)
 	.long SYMBOL_NAME(sys_getegid)		/* 50 */
 	.long SYMBOL_NAME(sys_acct)
-	.long SYMBOL_NAME(sys_ni_syscall)				/* old phys syscall holder */
+	.long SYMBOL_NAME(sys_umount)					/* recycled never used phys() */
 	.long SYMBOL_NAME(sys_ni_syscall)				/* old lock syscall holder */
 	.long SYMBOL_NAME(sys_ioctl)
 	.long SYMBOL_NAME(sys_fcntl)		/* 55 */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov