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

Next file: linux/drivers/block/floppy.c
Previous file: linux/arch/i386/boot/compressed/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.7/linux/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
@@ -381,22 +381,21 @@
 	push %es
 	push %ds
 	pushl %eax
+	xorl %eax,%eax
 	pushl %ebp
 	pushl %edi
 	pushl %esi
 	pushl %edx
+	decl %eax			# eax = -1
 	pushl %ecx
 	pushl %ebx
-	movl $0,%eax
-	movl %eax,%db7			# disable hardware debugging...
 	cld
-	movl $-1, %eax
-	xchgl %eax, ORIG_EAX(%esp)	# orig_eax (get the error code. )
 	xorl %ebx,%ebx			# zero ebx
+	xchgl %eax, ORIG_EAX(%esp)	# orig_eax (get the error code. )
 	mov %gs,%bx			# get the lower order bits of gs
+	movl %esp,%edx
 	xchgl %ebx, GS(%esp)		# get the address and save gs.
 	pushl %eax			# push the error code
-	lea 4(%esp),%edx
 	pushl %edx
 	movl $(KERNEL_DS),%edx
 	mov %dx,%ds
@@ -405,9 +404,6 @@
 	mov %dx,%fs
 #ifdef __SMP__
 	ENTER_KERNEL
-#endif
-	pushl %eax
-#ifdef __SMP__
 	GET_PROCESSOR_OFFSET(%eax)
 	movl SYMBOL_NAME(current_set)(,%eax), %eax
 #else
@@ -415,7 +411,6 @@
 #endif
 	movl %db6,%edx
 	movl %edx,dbgreg6(%eax)  # save current hardware debugging status
-	popl %eax
 	call *%ebx
 	addl $8,%esp
 	jmp ret_from_sys_call

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