File: pthread_spin_lock.S

package info (click to toggle)
uclibc 1.0.35-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, trixie
  • size: 28,432 kB
  • sloc: ansic: 216,423; asm: 33,201; cpp: 4,706; makefile: 2,866; sh: 716; yacc: 610; perl: 535; lex: 364; awk: 40
file content (21 lines) | stat: -rw-r--r-- 371 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com)
 *
 * Licensed under LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
 */

#include <sysdep.h>

; int pthread_spin_lock(pthread_spinlock_t *lock)
; 1 - locked, 0 - unlocked

ENTRY(pthread_spin_lock)
	mov_s	r1, 1
	nop_s
1:
	ex	r1, [r0]
	breq	r1, 1, 1b

	j.d	[blink]
	mov	r0, 0
END(pthread_spin_lock)