From 4c3023bc803012656cf45749960282351efc8020 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 20 Sep 2014 22:36:23 +0200 Subject: xtensa: add support for NPTL Changes from: https://github.com/foss-xtensa/uClibc/commits/xtensa_nptl Author: Chris Zankel Author: Baruch Siach --- .../nptl/sysdeps/xtensa/pthread_spin_trylock.S | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 libpthread/nptl/sysdeps/xtensa/pthread_spin_trylock.S (limited to 'libpthread/nptl/sysdeps/xtensa/pthread_spin_trylock.S') diff --git a/libpthread/nptl/sysdeps/xtensa/pthread_spin_trylock.S b/libpthread/nptl/sysdeps/xtensa/pthread_spin_trylock.S new file mode 100644 index 000000000..a736b010f --- /dev/null +++ b/libpthread/nptl/sysdeps/xtensa/pthread_spin_trylock.S @@ -0,0 +1,40 @@ +/* Copyright (C) 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#define _ERRNO_H 1 +#include + + .text + .align 4 + + .globl pthread_spin_trylock +pthread_spin_trylock: + + entry a1, 16 + + movi a3, 0 + wsr a3, scompare1 + movi a3, 1 + s32c1i a3, a2, 0 + movi a2, EBUSY + moveqz a2, a3, a3 + + retw + + .type pthread_spin_trylock, @function + .size pthread_spin_trylock, .-pthread_spin_trylock -- cgit v1.2.3