patch-2.4.7 linux/arch/sparc/lib/bitops.S
Next file: linux/arch/sparc/mm/generic.c
Previous file: linux/arch/sparc/kernel/sun4d_irq.c
Back to the patch index
Back to the overall index
- Lines: 63
- Date:
Thu Jul 19 18:11:13 2001
- Orig file:
v2.4.6/linux/arch/sparc/lib/bitops.S
- Orig date:
Mon May 8 22:00:01 2000
diff -u --recursive --new-file v2.4.6/linux/arch/sparc/lib/bitops.S linux/arch/sparc/lib/bitops.S
@@ -107,62 +107,5 @@
jmpl %o7, %g0
mov %g4, %o7
- /* Now the little endian versions. */
- .globl ___set_le_bit
-___set_le_bit:
- rd %psr, %g3
- nop; nop; nop
- or %g3, PSR_PIL, %g5
- wr %g5, 0x0, %psr
- nop; nop; nop
-#ifdef CONFIG_SMP
- set C_LABEL(bitops_spinlock), %g5
-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.
- orcc %g7, 0x0, %g0 ! Did we get it?
- bne 2b ! Nope...
-#endif
- ldub [%g1], %g7
- or %g7, %g2, %g5
- and %g7, %g2, %g2
-#ifdef CONFIG_SMP
- stb %g5, [%g1]
- set C_LABEL(bitops_spinlock), %g5
- stb %g0, [%g5]
-#else
- stb %g5, [%g1]
-#endif
- wr %g3, 0x0, %psr
- nop; nop; nop
- jmpl %o7, %g0
- mov %g4, %o7
-
- .globl ___clear_le_bit
-___clear_le_bit:
- rd %psr, %g3
- nop; nop; nop
- or %g3, PSR_PIL, %g5
- wr %g5, 0x0, %psr
- nop; nop; nop
-#ifdef CONFIG_SMP
- set C_LABEL(bitops_spinlock), %g5
-2: ldstub [%g5], %g7 ! Spin on the byte lock for SMP.
- orcc %g7, 0x0, %g0 ! Did we get it?
- bne 2b ! Nope...
-#endif
- ldub [%g1], %g7
- andn %g7, %g2, %g5
- and %g7, %g2, %g2
-#ifdef CONFIG_SMP
- stb %g5, [%g1]
- set C_LABEL(bitops_spinlock), %g5
- stb %g0, [%g5]
-#else
- stb %g5, [%g1]
-#endif
- wr %g3, 0x0, %psr
- nop; nop; nop
- jmpl %o7, %g0
- mov %g4, %o7
-
.globl __bitops_end
__bitops_end:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)