summaryrefslogtreecommitdiffstats
path: root/cpukit/score/macros
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-09-25 13:36:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-09-25 13:36:58 +0000
commit9c191eea63fd6c5511c01186297722e594220032 (patch)
treed5ad903d3005a0c24511851d829e0a00b2c1c53c /cpukit/score/macros
parent2006-09-14 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-9c191eea63fd6c5511c01186297722e594220032.tar.bz2
* score/Makefile.am, score/preinstall.am,
score/include/rtems/score/coresem.h, score/include/rtems/score/object.h, score/include/rtems/score/states.h, score/inline/rtems/score/coresem.inl: Add SuperCore Barriers, SpinLocks and a partial implementation of RWLocks. * score/include/rtems/score/corebarrier.h, score/include/rtems/score/corerwlock.h, score/include/rtems/score/corespinlock.h, score/inline/rtems/score/corebarrier.inl, score/inline/rtems/score/corerwlock.inl, score/inline/rtems/score/corespinlock.inl, score/macros/rtems/score/corebarrier.inl, score/macros/rtems/score/corerwlock.inl, score/macros/rtems/score/corespinlock.inl, score/src/corebarrier.c, score/src/corebarrierrelease.c, score/src/corebarrierwait.c, score/src/corerwlock.c, score/src/corerwlockobtainread.c, score/src/corerwlockobtainwrite.c, score/src/corerwlockrelease.c, score/src/corespinlock.c, score/src/corespinlockrelease.c, score/src/corespinlockwait.c: New files.
Diffstat (limited to 'cpukit/score/macros')
-rw-r--r--cpukit/score/macros/rtems/score/corebarrier.inl34
-rw-r--r--cpukit/score/macros/rtems/score/corerwlock.inl21
-rw-r--r--cpukit/score/macros/rtems/score/corespinlock.inl23
3 files changed, 78 insertions, 0 deletions
diff --git a/cpukit/score/macros/rtems/score/corebarrier.inl b/cpukit/score/macros/rtems/score/corebarrier.inl
new file mode 100644
index 0000000000..84b02bbd9b
--- /dev/null
+++ b/cpukit/score/macros/rtems/score/corebarrier.inl
@@ -0,0 +1,34 @@
+/* macros/corebarrier.inl
+ *
+ * This include file contains all of the inlined routines associated
+ * with core barriers.
+ *
+ * COPYRIGHT (c) 1989-2006.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef _RTEMS_SCORE_COREBARRIER_INL
+#define _RTEMS_SCORE_COREBARRIER_INL
+
+/*
+ * _CORE_barrier_Is_automatic
+ */
+
+#define _CORE_barrier_Is_automatic( _the_attribute ) \
+ ( (_the_attribute)->discipline == CORE_BARRIER_AUTOMATIC_RELEASE)
+
+/*
+ * _CORE_barrier_Get_number_of_waiting_threads
+ */
+
+#define _CORE_barrier_Get_number_of_waiting_threads( _the_barrier ) \
+ ( (_the_barrier)->number_of_waiting_threads )
+
+#endif
+/* end of include file */
diff --git a/cpukit/score/macros/rtems/score/corerwlock.inl b/cpukit/score/macros/rtems/score/corerwlock.inl
new file mode 100644
index 0000000000..9ed371d23d
--- /dev/null
+++ b/cpukit/score/macros/rtems/score/corerwlock.inl
@@ -0,0 +1,21 @@
+/* macros/corerwlock.inl
+ *
+ * This include file contains all of the inlined routines associated
+ * with core RWLocks.
+ *
+ * COPYRIGHT (c) 1989-2006.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef _RTEMS_SCORE_CORERWLOCK_INL
+#define _RTEMS_SCORE_CORERWLOCK_INL
+
+
+#endif
+/* end of include file */
diff --git a/cpukit/score/macros/rtems/score/corespinlock.inl b/cpukit/score/macros/rtems/score/corespinlock.inl
new file mode 100644
index 0000000000..65eba1c1d0
--- /dev/null
+++ b/cpukit/score/macros/rtems/score/corespinlock.inl
@@ -0,0 +1,23 @@
+/* macros/rtems/score/corespinlock.inl
+ *
+ * This include file contains all of the inlined routines associated
+ * with core spinlocks.
+ *
+ * COPYRIGHT (c) 1989-2006.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef _RTEMS_SCORE_CORESPINLOCK_INL
+#define _RTEMS_SCORE_CORESPINLOCK_INL
+
+#define _CORE_spinlock_Is_busy(_the_spinlock) \
+ ((_the_spinlock)->users != 0)
+
+#endif
+/* end of include file */