patch-2.1.112 linux/arch/i386/lib/locks.S
Next file: linux/arch/i386/mm/ioremap.c
Previous file: linux/arch/i386/lib/Makefile
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
v2.1.111/linux/arch/i386/lib/locks.S
- Orig date:
Wed Jun 24 22:54:03 1998
diff -u --recursive --new-file v2.1.111/linux/arch/i386/lib/locks.S linux/arch/i386/lib/locks.S
@@ -1,36 +0,0 @@
-/* locks.S: Wheee... I'm coding Intel assembly...
- *
- * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#include <linux/linkage.h>
-
- /* Caller does atomic increment on current->lock_depth,
- * if it was found to originally be zero then we get here,
- * %eax contains caller's PC and %edx holds this CPU ID.
- */
-ENTRY(__lock_kernel)
-1:
- lock
- btsl $0, SYMBOL_NAME(kernel_flag)
- jnc 3f
- sti
-2:
- btl %edx, SYMBOL_NAME(smp_invalidate_needed)
- jnc 0f
- lock
- btrl %edx, SYMBOL_NAME(smp_invalidate_needed)
- jnc 0f
- pushl %eax
- movl %cr3, %eax
- movl %eax, %cr3
- popl %eax
-0:
- btl $0, SYMBOL_NAME(kernel_flag)
- jc 2b
- cli
- jmp 1b
-
-3:
- movb %dl, SYMBOL_NAME(active_kernel_processor)
- ret
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov