diff options
Diffstat (limited to 'ANDROID_3.4.5/arch/sparc/lib/locks.S')
-rw-r--r-- | ANDROID_3.4.5/arch/sparc/lib/locks.S | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/ANDROID_3.4.5/arch/sparc/lib/locks.S b/ANDROID_3.4.5/arch/sparc/lib/locks.S deleted file mode 100644 index 64f53f2b..00000000 --- a/ANDROID_3.4.5/arch/sparc/lib/locks.S +++ /dev/null @@ -1,92 +0,0 @@ -/* - * locks.S: SMP low-level lock primitives on Sparc. - * - * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) - * Copyright (C) 1998 Anton Blanchard (anton@progsoc.uts.edu.au) - * Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) - */ - -#include <asm/ptrace.h> -#include <asm/psr.h> -#include <asm/smp.h> -#include <asm/spinlock.h> - - .text - .align 4 - - /* Read/writer locks, as usual this is overly clever to make it - * as fast as possible. - */ - - /* caches... */ -___rw_read_enter_spin_on_wlock: - orcc %g2, 0x0, %g0 - be,a ___rw_read_enter - ldstub [%g1 + 3], %g2 - b ___rw_read_enter_spin_on_wlock - ldub [%g1 + 3], %g2 -___rw_read_try_spin_on_wlock: - andcc %g2, 0xff, %g0 - be,a ___rw_read_try - ldstub [%g1 + 3], %g2 - xnorcc %g2, 0x0, %o0 /* if g2 is ~0, set o0 to 0 and bugger off */ - bne,a ___rw_read_enter_spin_on_wlock - ld [%g1], %g2 - retl - mov %g4, %o7 -___rw_read_exit_spin_on_wlock: - orcc %g2, 0x0, %g0 - be,a ___rw_read_exit - ldstub [%g1 + 3], %g2 - b ___rw_read_exit_spin_on_wlock - ldub [%g1 + 3], %g2 -___rw_write_enter_spin_on_wlock: - orcc %g2, 0x0, %g0 - be,a ___rw_write_enter - ldstub [%g1 + 3], %g2 - b ___rw_write_enter_spin_on_wlock - ld [%g1], %g2 - - .globl ___rw_read_enter -___rw_read_enter: - orcc %g2, 0x0, %g0 - bne,a ___rw_read_enter_spin_on_wlock - ldub [%g1 + 3], %g2 - ld [%g1], %g2 - add %g2, 1, %g2 - st %g2, [%g1] - retl - mov %g4, %o7 - - .globl ___rw_read_exit -___rw_read_exit: - orcc %g2, 0x0, %g0 - bne,a ___rw_read_exit_spin_on_wlock - ldub [%g1 + 3], %g2 - ld [%g1], %g2 - sub %g2, 0x1ff, %g2 - st %g2, [%g1] - retl - mov %g4, %o7 - - .globl ___rw_read_try -___rw_read_try: - orcc %g2, 0x0, %g0 - bne ___rw_read_try_spin_on_wlock - ld [%g1], %g2 - add %g2, 1, %g2 - st %g2, [%g1] - set 1, %o1 - retl - mov %g4, %o7 - - .globl ___rw_write_enter -___rw_write_enter: - orcc %g2, 0x0, %g0 - bne ___rw_write_enter_spin_on_wlock - ld [%g1], %g2 - andncc %g2, 0xff, %g0 - bne,a ___rw_write_enter_spin_on_wlock - stb %g0, [%g1 + 3] - retl - mov %g4, %o7 |