[PATCH] clean up spatomic testcase

WeiY wei.a.yang at gmail.com
Thu Aug 1 13:49:49 UTC 2013


---
 testsuites/sptests/Makefile.am               |    4 +-
 testsuites/sptests/configure.ac              |   11 ---
 testsuites/sptests/spatomic01/Makefile.am    |   24 ------
 testsuites/sptests/spatomic01/init.c         |   63 --------------
 testsuites/sptests/spatomic01/spatomic01.doc |   23 -----
 testsuites/sptests/spatomic01/spatomic01.scn |   70 ---------------
 testsuites/sptests/spatomic01/system.h       |   51 -----------
 testsuites/sptests/spatomic01/tasks.c        |   93 --------------------
 testsuites/sptests/spatomic02/Makefile.am    |   24 ------
 testsuites/sptests/spatomic02/init.c         |   68 ---------------
 testsuites/sptests/spatomic02/spatomic02.doc |   23 -----
 testsuites/sptests/spatomic02/spatomic02.scn |   70 ---------------
 testsuites/sptests/spatomic02/system.h       |   51 -----------
 testsuites/sptests/spatomic02/tasks.c        |   94 ---------------------
 testsuites/sptests/spatomic03/Makefile.am    |   24 ------
 testsuites/sptests/spatomic03/init.c         |   68 ---------------
 testsuites/sptests/spatomic03/spatomic03.doc |   23 -----
 testsuites/sptests/spatomic03/spatomic03.scn |  102 ----------------------
 testsuites/sptests/spatomic03/system.h       |   51 -----------
 testsuites/sptests/spatomic03/tasks.c        |  102 ----------------------
 testsuites/sptests/spatomic04/Makefile.am    |   24 ------
 testsuites/sptests/spatomic04/init.c         |   68 ---------------
 testsuites/sptests/spatomic04/spatomic04.doc |   23 -----
 testsuites/sptests/spatomic04/spatomic04.scn |  102 ----------------------
 testsuites/sptests/spatomic04/system.h       |   51 -----------
 testsuites/sptests/spatomic04/tasks.c        |  102 ----------------------
 testsuites/sptests/spatomic05/Makefile.am    |   24 ------
 testsuites/sptests/spatomic05/init.c         |   68 ---------------
 testsuites/sptests/spatomic05/spatomic05.doc |   23 -----
 testsuites/sptests/spatomic05/spatomic05.scn |  102 ----------------------
 testsuites/sptests/spatomic05/system.h       |   51 -----------
 testsuites/sptests/spatomic05/tasks.c        |  101 ----------------------
 testsuites/sptests/spatomic06/Makefile.am    |   24 ------
 testsuites/sptests/spatomic06/init.c         |   68 ---------------
 testsuites/sptests/spatomic06/spatomic06.doc |   23 -----
 testsuites/sptests/spatomic06/spatomic06.scn |  102 ----------------------
 testsuites/sptests/spatomic06/system.h       |   51 -----------
 testsuites/sptests/spatomic06/tasks.c        |  101 ----------------------
 testsuites/sptests/spatomic07/Makefile.am    |   24 ------
 testsuites/sptests/spatomic07/init.c         |   68 ---------------
 testsuites/sptests/spatomic07/spatomic07.doc |   24 ------
 testsuites/sptests/spatomic07/spatomic07.scn |  102 ----------------------
 testsuites/sptests/spatomic07/system.h       |   51 -----------
 testsuites/sptests/spatomic07/tasks.c        |  117 --------------------------
 44 files changed, 1 insertion(+), 2532 deletions(-)
 delete mode 100644 testsuites/sptests/spatomic01/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic01/init.c
 delete mode 100644 testsuites/sptests/spatomic01/spatomic01.doc
 delete mode 100644 testsuites/sptests/spatomic01/spatomic01.scn
 delete mode 100644 testsuites/sptests/spatomic01/system.h
 delete mode 100644 testsuites/sptests/spatomic01/tasks.c
 delete mode 100644 testsuites/sptests/spatomic02/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic02/init.c
 delete mode 100644 testsuites/sptests/spatomic02/spatomic02.doc
 delete mode 100644 testsuites/sptests/spatomic02/spatomic02.scn
 delete mode 100644 testsuites/sptests/spatomic02/system.h
 delete mode 100644 testsuites/sptests/spatomic02/tasks.c
 delete mode 100644 testsuites/sptests/spatomic03/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic03/init.c
 delete mode 100644 testsuites/sptests/spatomic03/spatomic03.doc
 delete mode 100644 testsuites/sptests/spatomic03/spatomic03.scn
 delete mode 100644 testsuites/sptests/spatomic03/system.h
 delete mode 100644 testsuites/sptests/spatomic03/tasks.c
 delete mode 100644 testsuites/sptests/spatomic04/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic04/init.c
 delete mode 100644 testsuites/sptests/spatomic04/spatomic04.doc
 delete mode 100644 testsuites/sptests/spatomic04/spatomic04.scn
 delete mode 100644 testsuites/sptests/spatomic04/system.h
 delete mode 100644 testsuites/sptests/spatomic04/tasks.c
 delete mode 100644 testsuites/sptests/spatomic05/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic05/init.c
 delete mode 100644 testsuites/sptests/spatomic05/spatomic05.doc
 delete mode 100644 testsuites/sptests/spatomic05/spatomic05.scn
 delete mode 100644 testsuites/sptests/spatomic05/system.h
 delete mode 100644 testsuites/sptests/spatomic05/tasks.c
 delete mode 100644 testsuites/sptests/spatomic06/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic06/init.c
 delete mode 100644 testsuites/sptests/spatomic06/spatomic06.doc
 delete mode 100644 testsuites/sptests/spatomic06/spatomic06.scn
 delete mode 100644 testsuites/sptests/spatomic06/system.h
 delete mode 100644 testsuites/sptests/spatomic06/tasks.c
 delete mode 100644 testsuites/sptests/spatomic07/Makefile.am
 delete mode 100644 testsuites/sptests/spatomic07/init.c
 delete mode 100644 testsuites/sptests/spatomic07/spatomic07.doc
 delete mode 100644 testsuites/sptests/spatomic07/spatomic07.scn
 delete mode 100644 testsuites/sptests/spatomic07/system.h
 delete mode 100644 testsuites/sptests/spatomic07/tasks.c

diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am
index e40dbab..cd3114a 100644
--- a/testsuites/sptests/Makefile.am
+++ b/testsuites/sptests/Makefile.am
@@ -28,9 +28,7 @@ SUBDIRS = \
     spintrcritical17 spintrcritical18 spmkdir spmountmgr01 spheapprot \
     spsem01 spsem02 spsimplesched01 spsimplesched02 spsimplesched03 spnsext01 \
     spedfsched01 spedfsched02 spedfsched03 \
-    spcbssched01 spcbssched02 spcbssched03 spqreslib sptimespec01 \
-    spatomic01 spatomic02 spatomic03 spatomic04 spatomic05 \
-    spatomic06 spatomic07
+    spcbssched01 spcbssched02 spcbssched03 spqreslib sptimespec01
 SUBDIRS += spcontext01
 SUBDIRS += spfatal26
 SUBDIRS += speventtransient01
diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac
index d39ddf1..b8fb57c 100644
--- a/testsuites/sptests/configure.ac
+++ b/testsuites/sptests/configure.ac
@@ -20,15 +20,11 @@ RTEMS_PROG_CC_FOR_TARGET
 
 RTEMS_CANONICALIZE_TOOLS
 
-RTEMS_CHECK_CPUOPTS([RTEMS_ATOMIC])
-
 RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
 
 # FIXME: We should get rid of this. It's a cludge.
 AC_CHECK_SIZEOF([time_t])
 
-AM_CONDITIONAL([ATOMIC],[test x"$rtems_cv_RTEMS_ATOMIC" = xyes])
-
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile
 spcontext01/Makefile
@@ -117,13 +113,6 @@ sp76/Makefile
 sp77/Makefile
 sp2038/Makefile
 spassoc01/Makefile
-spatomic01/Makefile
-spatomic02/Makefile
-spatomic03/Makefile
-spatomic04/Makefile
-spatomic05/Makefile
-spatomic06/Makefile
-spatomic07/Makefile
 spcbssched01/Makefile
 spcbssched02/Makefile
 spcbssched03/Makefile
diff --git a/testsuites/sptests/spatomic01/Makefile.am b/testsuites/sptests/spatomic01/Makefile.am
deleted file mode 100644
index 3bf1e11..0000000
--- a/testsuites/sptests/spatomic01/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic01
-spatomic01_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic01.scn
-dist_rtems_tests_DATA += spatomic01.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic01_OBJECTS)
-LINK_LIBS = $(spatomic01_LDLIBS)
-
-spatomic01$(EXEEXT): $(spatomic01_OBJECTS) $(spatomic01_DEPENDENCIES)
-	@rm -f spatomic01$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic01/init.c b/testsuites/sptests/spatomic01/init.c
deleted file mode 100644
index 7326bf7..0000000
--- a/testsuites/sptests/spatomic01/init.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic load operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic01 TEST ***\n" );
-
-  /* Create and start tasks to test */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
- 
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
- 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic01/spatomic01.doc b/testsuites/sptests/spatomic01/spatomic01.doc
deleted file mode 100644
index dc322a3..0000000
--- a/testsuites/sptests/spatomic01/spatomic01.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic01
-
-directives:
-
-  _Atomic_Load_int
-  _Atomic_Load_long
-  _Atomic_Load_ptr
-  _Atomic_Load_32
-  _Atomic_Load_64
-
-concepts:
-
-+ Ensure that the atomic load operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic01/spatomic01.scn b/testsuites/sptests/spatomic01/spatomic01.scn
deleted file mode 100644
index 9979d80..0000000
--- a/testsuites/sptests/spatomic01/spatomic01.scn
+++ /dev/null
@@ -1,70 +0,0 @@
-***  spatomic01 TEST ***
-
-
-task0: _Atomic_Load_int: SUCCESS
-
-task0: _Atomic_Load_long: SUCCESS
-
-task0: _Atomic_Load_ptr: SUCCESS
-
-task0: _Atomic_Load_32: SUCCESS
-
-task0: _Atomic_Load_int: SUCCESS
-
-task0: _Atomic_Load_long: SUCCESS
-
-task0: _Atomic_Load_ptr: SUCCESS
-
-task0: _Atomic_Load_32: SUCCESS
-
-task1: _Atomic_Load_int: SUCCESS
-
-task1: _Atomic_Load_long: SUCCESS
-
-task1: _Atomic_Load_ptr: SUCCESS
-
-task1: _Atomic_Load_32: SUCCESS
-
-task1: _Atomic_Load_int: SUCCESS
-
-task1: _Atomic_Load_long: SUCCESS
-
-task1: _Atomic_Load_ptr: SUCCESS
-
-task1: _Atomic_Load_32: SUCCESS
-
-task2: _Atomic_Load_int: SUCCESS
-
-task2: _Atomic_Load_long: SUCCESS
-
-task2: _Atomic_Load_ptr: SUCCESS
-
-task2: _Atomic_Load_32: SUCCESS
-
-task2: _Atomic_Load_int: SUCCESS
-
-task2: _Atomic_Load_long: SUCCESS
-
-task2: _Atomic_Load_ptr: SUCCESS
-
-task2: _Atomic_Load_32: SUCCESS
-
-task3: _Atomic_Load_int: SUCCESS
-
-task3: _Atomic_Load_long: SUCCESS
-
-task3: _Atomic_Load_ptr: SUCCESS
-
-task3: _Atomic_Load_32: SUCCESS
-
-task3: _Atomic_Load_int: SUCCESS
-
-task3: _Atomic_Load_long: SUCCESS
-
-task3: _Atomic_Load_ptr: SUCCESS
-
-task3: _Atomic_Load_32: SUCCESS
-
-
-*** END OF TEST spatomic01 ***
-
diff --git a/testsuites/sptests/spatomic01/system.h b/testsuites/sptests/spatomic01/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic01/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic01/tasks.c b/testsuites/sptests/spatomic01/tasks.c
deleted file mode 100644
index 9392a5b..0000000
--- a/testsuites/sptests/spatomic01/tasks.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic load operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_LOAD_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)     \
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    b = (R_TYPE)rand();                                  \
-    atomic_init(&t, b);                                  \
-    a = _Atomic_Load_##NAME(&t, mem_bar);                \
-    rtems_test_assert(a == b);                           \
-  }                                                      \
-  printf("\ntask%d: Atomic_Load_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_LOAD_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_LOAD_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_LOAD_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_LOAD_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic01 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
diff --git a/testsuites/sptests/spatomic02/Makefile.am b/testsuites/sptests/spatomic02/Makefile.am
deleted file mode 100644
index cf3e655..0000000
--- a/testsuites/sptests/spatomic02/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic02
-spatomic02_SOURCES = init.c tasks.c system.h
-
-dist_rtems_tests_DATA = spatomic02.scn
-dist_rtems_tests_DATA += spatomic02.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic02_OBJECTS)
-LINK_LIBS = $(spatomic02_LDLIBS)
-
-spatomic02$(EXEEXT): $(spatomic02_OBJECTS) $(spatomic02_DEPENDENCIES)
-	@rm -f spatomic01$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic02/init.c b/testsuites/sptests/spatomic02/init.c
deleted file mode 100644
index 7eec1ea..0000000
--- a/testsuites/sptests/spatomic02/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic store operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic02 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic02/spatomic02.doc b/testsuites/sptests/spatomic02/spatomic02.doc
deleted file mode 100644
index 70e6744..0000000
--- a/testsuites/sptests/spatomic02/spatomic02.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic02
-
-directives:
-
-  _Atomic_Store_int
-  _Atomic_Store_long
-  _Atomic_Store_ptr
-  _Atomic_Store_32
-  _Atomic_Store_64
-
-concepts:
-
-+ Ensure that the atomic store operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic02/spatomic02.scn b/testsuites/sptests/spatomic02/spatomic02.scn
deleted file mode 100644
index 31ba7e9..0000000
--- a/testsuites/sptests/spatomic02/spatomic02.scn
+++ /dev/null
@@ -1,70 +0,0 @@
-***  spatomic02 TEST ***
-
-
-task0: _Atomic_Store_int: SUCCESS
-
-task0: _Atomic_Store_long: SUCCESS
-
-task0: _Atomic_Store_ptr: SUCCESS
-
-task0: _Atomic_Store_32: SUCCESS
-
-task0: _Atomic_Store_int: SUCCESS
-
-task0: _Atomic_Store_long: SUCCESS
-
-task0: _Atomic_Store_ptr: SUCCESS
-
-task0: _Atomic_Store_32: SUCCESS
-
-task1: _Atomic_Store_int: SUCCESS
-
-task1: _Atomic_Store_long: SUCCESS
-
-task1: _Atomic_Store_ptr: SUCCESS
-
-task1: _Atomic_Store_32: SUCCESS
-
-task1: _Atomic_Store_int: SUCCESS
-
-task1: _Atomic_Store_long: SUCCESS
-
-task1: _Atomic_Store_ptr: SUCCESS
-
-task1: _Atomic_Store_32: SUCCESS
-
-task2: _Atomic_Store_int: SUCCESS
-
-task2: _Atomic_Store_long: SUCCESS
-
-task2: _Atomic_Store_ptr: SUCCESS
-
-task2: _Atomic_Store_32: SUCCESS
-
-task2: _Atomic_Store_int: SUCCESS
-
-task2: _Atomic_Store_long: SUCCESS
-
-task2: _Atomic_Store_ptr: SUCCESS
-
-task2: _Atomic_Store_32: SUCCESS
-
-task3: _Atomic_Store_int: SUCCESS
-
-task3: _Atomic_Store_long: SUCCESS
-
-task3: _Atomic_Store_ptr: SUCCESS
-
-task3: _Atomic_Store_32: SUCCESS
-
-task3: _Atomic_Store_int: SUCCESS
-
-task3: _Atomic_Store_long: SUCCESS
-
-task3: _Atomic_Store_ptr: SUCCESS
-
-task3: _Atomic_Store_32: SUCCESS
-
-
-*** END OF TEST spatomic02 ***
-
diff --git a/testsuites/sptests/spatomic02/system.h b/testsuites/sptests/spatomic02/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic02/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic02/tasks.c b/testsuites/sptests/spatomic02/tasks.c
deleted file mode 100644
index 558b718..0000000
--- a/testsuites/sptests/spatomic02/tasks.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic store operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_STORE_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)    \
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    b = (R_TYPE)rand();                                  \
-    _Atomic_Store_##NAME(&t, b, mem_bar);                \
-    a = _Atomic_Load_##NAME(&t, memory_order_relaxed);   \
-    rtems_test_assert(a == b);                           \
-  }                                                      \
-  printf("\ntask%d: Atomic_Store_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_STORE_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_STORE_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test release barrier */
-  ATOMIC_STORE_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_STORE_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-  
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic02 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
-
diff --git a/testsuites/sptests/spatomic03/Makefile.am b/testsuites/sptests/spatomic03/Makefile.am
deleted file mode 100644
index 15b3b47..0000000
--- a/testsuites/sptests/spatomic03/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic03
-spatomic03_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic03.scn
-dist_rtems_tests_DATA += spatomic03.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic03_OBJECTS)
-LINK_LIBS = $(spatomic03_LDLIBS)
-
-spatomic03$(EXEEXT): $(spatomic03_OBJECTS) $(spatomic03_DEPENDENCIES)
-	@rm -f spatomic03$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic03/init.c b/testsuites/sptests/spatomic03/init.c
deleted file mode 100644
index 946797e..0000000
--- a/testsuites/sptests/spatomic03/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic add operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic03 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic03/spatomic03.doc b/testsuites/sptests/spatomic03/spatomic03.doc
deleted file mode 100644
index 130dca9..0000000
--- a/testsuites/sptests/spatomic03/spatomic03.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic03
-
-directives:
-
-  _Atomic_Fetch_add_int
-  _Atomic_Fetch_add_long
-  _Atomic_Fetch_add_ptr
-  _Atomic_Fetch_add_32
-  _Atomic_Fetch_add_64
-
-concepts:
-
-+ Ensure that the atomic add operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic03/spatomic03.scn b/testsuites/sptests/spatomic03/spatomic03.scn
deleted file mode 100644
index 69216e5..0000000
--- a/testsuites/sptests/spatomic03/spatomic03.scn
+++ /dev/null
@@ -1,102 +0,0 @@
-***  spatomic03 TEST ***
-
-
-task0: _Atomic_Fetch_add_int: SUCCESS
-
-task0: _Atomic_Fetch_add_long: SUCCESS
-
-task0: _Atomic_Fetch_add_ptr: SUCCESS
-
-task0: _Atomic_Fetch_add_32: SUCCESS
-
-task0: _Atomic_Fetch_add_int: SUCCESS
-
-task0: _Atomic_Fetch_add_long: SUCCESS
-
-task0: _Atomic_Fetch_add_ptr: SUCCESS
-
-task0: _Atomic_Fetch_add_32: SUCCESS
-
-task0: _Atomic_Fetch_add_int: SUCCESS
-
-task0: _Atomic_Fetch_add_long: SUCCESS
-
-task0: _Atomic_Fetch_add_ptr: SUCCESS
-
-task0: _Atomic_Fetch_add_32: SUCCESS
-
-task1: _Atomic_Fetch_add_int: SUCCESS
-
-task1: _Atomic_Fetch_add_long: SUCCESS
-
-task1: _Atomic_Fetch_add_ptr: SUCCESS
-
-task1: _Atomic_Fetch_add_32: SUCCESS
-
-task1: _Atomic_Fetch_add_int: SUCCESS
-
-task1: _Atomic_Fetch_add_long: SUCCESS
-
-task1: _Atomic_Fetch_add_ptr: SUCCESS
-
-task1: _Atomic_Fetch_add_32: SUCCESS
-
-task1: _Atomic_Fetch_add_int: SUCCESS
-
-task1: _Atomic_Fetch_add_long: SUCCESS
-
-task1: _Atomic_Fetch_add_ptr: SUCCESS
-
-task1: _Atomic_Fetch_add_32: SUCCESS
-
-task2: _Atomic_Fetch_add_int: SUCCESS
-
-task2: _Atomic_Fetch_add_long: SUCCESS
-
-task2: _Atomic_Fetch_add_ptr: SUCCESS
-
-task2: _Atomic_Fetch_add_32: SUCCESS
-
-task2: _Atomic_Fetch_add_int: SUCCESS
-
-task2: _Atomic_Fetch_add_long: SUCCESS
-
-task2: _Atomic_Fetch_add_ptr: SUCCESS
-
-task2: _Atomic_Fetch_add_32: SUCCESS
-
-task2: _Atomic_Fetch_add_int: SUCCESS
-
-task2: _Atomic_Fetch_add_long: SUCCESS
-
-task2: _Atomic_Fetch_add_ptr: SUCCESS
-
-task2: _Atomic_Fetch_add_32: SUCCESS
-
-task3: _Atomic_Fetch_add_int: SUCCESS
-
-task3: _Atomic_Fetch_add_long: SUCCESS
-
-task3: _Atomic_Fetch_add_ptr: SUCCESS
-
-task3: _Atomic_Fetch_add_32: SUCCESS
-
-task3: _Atomic_Fetch_add_int: SUCCESS
-
-task3: _Atomic_Fetch_add_long: SUCCESS
-
-task3: _Atomic_Fetch_add_ptr: SUCCESS
-
-task3: _Atomic_Fetch_add_32: SUCCESS
-
-task3: _Atomic_Fetch_add_int: SUCCESS
-
-task3: _Atomic_Fetch_add_long: SUCCESS
-
-task3: _Atomic_Fetch_add_ptr: SUCCESS
-
-task3: _Atomic_Fetch_add_32: SUCCESS
-
-
-*** END OF TEST spatomic03 ***
-
diff --git a/testsuites/sptests/spatomic03/system.h b/testsuites/sptests/spatomic03/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic03/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic03/tasks.c b/testsuites/sptests/spatomic03/tasks.c
deleted file mode 100644
index d03cf54..0000000
--- a/testsuites/sptests/spatomic03/tasks.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic add operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_FETCH_ADD_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)\
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  R_TYPE c;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    a = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    b = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);   \
-    _Atomic_Fetch_add_##NAME(&t, b, mem_bar);            \
-    c = _Atomic_Load_##NAME(&t, ATOMIC_ORDER_RELAXED);   \
-    rtems_test_assert(c == (R_TYPE)(a + b));             \
-  }                                                      \
-  printf("\ntask%d: Atomic_Fetch_add_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_FETCH_ADD_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_FETCH_ADD_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_FETCH_ADD_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_FETCH_ADD_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* test release barrier */
-  ATOMIC_FETCH_ADD_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_FETCH_ADD_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic03 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
-
diff --git a/testsuites/sptests/spatomic04/Makefile.am b/testsuites/sptests/spatomic04/Makefile.am
deleted file mode 100644
index d03e8b5..0000000
--- a/testsuites/sptests/spatomic04/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic04
-spatomic04_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic04.scn
-dist_rtems_tests_DATA += spatomic04.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic04_OBJECTS)
-LINK_LIBS = $(spatomic04_LDLIBS)
-
-spatomic04$(EXEEXT): $(spatomic04_OBJECTS) $(spatomic04_DEPENDENCIES)
-	@rm -f spatomic04$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic04/init.c b/testsuites/sptests/spatomic04/init.c
deleted file mode 100644
index f0b0751..0000000
--- a/testsuites/sptests/spatomic04/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic sub operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic04 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic04/spatomic04.doc b/testsuites/sptests/spatomic04/spatomic04.doc
deleted file mode 100644
index 6fc8f09..0000000
--- a/testsuites/sptests/spatomic04/spatomic04.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic04
-
-directives:
-
-  _Atomic_Fetch_sub_int
-  _Atomic_Fetch_sub_long
-  _Atomic_Fetch_sub_ptr
-  _Atomic_Fetch_sub_32
-  _Atomic_Fetch_sub_64
-
-concepts:
-
-+ Ensure that the atomic sub operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic04/spatomic04.scn b/testsuites/sptests/spatomic04/spatomic04.scn
deleted file mode 100644
index 550e87e..0000000
--- a/testsuites/sptests/spatomic04/spatomic04.scn
+++ /dev/null
@@ -1,102 +0,0 @@
-patomic04 TEST ***
-
-
-task0: _Atomic_Fetch_sub_int: SUCCESS
-
-task0: _Atomic_Fetch_sub_long: SUCCESS
-
-task0: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task0: _Atomic_Fetch_sub_32: SUCCESS
-
-task0: _Atomic_Fetch_sub_int: SUCCESS
-
-task0: _Atomic_Fetch_sub_long: SUCCESS
-
-task0: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task0: _Atomic_Fetch_sub_32: SUCCESS
-
-task0: _Atomic_Fetch_sub_int: SUCCESS
-
-task0: _Atomic_Fetch_sub_long: SUCCESS
-
-task0: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task0: _Atomic_Fetch_sub_32: SUCCESS
-
-task1: _Atomic_Fetch_sub_int: SUCCESS
-
-task1: _Atomic_Fetch_sub_long: SUCCESS
-
-task1: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task1: _Atomic_Fetch_sub_32: SUCCESS
-
-task1: _Atomic_Fetch_sub_int: SUCCESS
-
-task1: _Atomic_Fetch_sub_long: SUCCESS
-
-task1: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task1: _Atomic_Fetch_sub_32: SUCCESS
-
-task1: _Atomic_Fetch_sub_int: SUCCESS
-
-task1: _Atomic_Fetch_sub_long: SUCCESS
-
-task1: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task1: _Atomic_Fetch_sub_32: SUCCESS
-
-task2: _Atomic_Fetch_sub_int: SUCCESS
-
-task2: _Atomic_Fetch_sub_long: SUCCESS
-
-task2: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task2: _Atomic_Fetch_sub_32: SUCCESS
-
-task2: _Atomic_Fetch_sub_int: SUCCESS
-
-task2: _Atomic_Fetch_sub_long: SUCCESS
-
-task2: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task2: _Atomic_Fetch_sub_32: SUCCESS
-
-task2: _Atomic_Fetch_sub_int: SUCCESS
-
-task2: _Atomic_Fetch_sub_long: SUCCESS
-
-task2: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task2: _Atomic_Fetch_sub_32: SUCCESS
-
-task3: _Atomic_Fetch_sub_int: SUCCESS
-
-task3: _Atomic_Fetch_sub_long: SUCCESS
-
-task3: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task3: _Atomic_Fetch_sub_32: SUCCESS
-
-task3: _Atomic_Fetch_sub_int: SUCCESS
-
-task3: _Atomic_Fetch_sub_long: SUCCESS
-
-task3: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task3: _Atomic_Fetch_sub_32: SUCCESS
-
-task3: _Atomic_Fetch_sub_int: SUCCESS
-
-task3: _Atomic_Fetch_sub_long: SUCCESS
-
-task3: _Atomic_Fetch_sub_ptr: SUCCESS
-
-task3: _Atomic_Fetch_sub_32: SUCCESS
-
-
-*** END OF TEST spatomic04 ***
-
diff --git a/testsuites/sptests/spatomic04/system.h b/testsuites/sptests/spatomic04/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic04/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic04/tasks.c b/testsuites/sptests/spatomic04/tasks.c
deleted file mode 100644
index 9f587be..0000000
--- a/testsuites/sptests/spatomic04/tasks.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic sub operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_FETCH_SUB_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)\
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  R_TYPE c;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    a = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    b = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);   \
-    _Atomic_Fetch_sub_##NAME(&t, b, mem_bar);            \
-    c = _Atomic_Load_##NAME(&t, ATOMIC_ORDER_RELAXED);   \
-    rtems_test_assert(c == (R_TYPE)(a - b));             \
-  }                                                            \
-  printf("\ntask%d: Atomic_Fetch_sub_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_FETCH_SUB_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_FETCH_SUB_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_FETCH_SUB_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_FETCH_SUB_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* test release barrier */
-  ATOMIC_FETCH_SUB_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_FETCH_SUB_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic04 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
-
diff --git a/testsuites/sptests/spatomic05/Makefile.am b/testsuites/sptests/spatomic05/Makefile.am
deleted file mode 100644
index cf72b8e..0000000
--- a/testsuites/sptests/spatomic05/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic05
-spatomic05_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic05.scn
-dist_rtems_tests_DATA += spatomic05.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic05_OBJECTS)
-LINK_LIBS = $(spatomic05_LDLIBS)
-
-spatomic05$(EXEEXT): $(spatomic05_OBJECTS) $(spatomic05_DEPENDENCIES)
-	@rm -f spatomic05$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic05/init.c b/testsuites/sptests/spatomic05/init.c
deleted file mode 100644
index 328d417..0000000
--- a/testsuites/sptests/spatomic05/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic and operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic05 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic05/spatomic05.doc b/testsuites/sptests/spatomic05/spatomic05.doc
deleted file mode 100644
index 018dd64..0000000
--- a/testsuites/sptests/spatomic05/spatomic05.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic05
-
-directives:
-
-  _Atomic_Fetch_and_int
-  _Atomic_Fetch_and_long
-  _Atomic_Fetch_and_ptr
-  _Atomic_Fetch_and_32
-  _Atomic_Fetch_and_64
-
-concepts:
-
-+ Ensure that the atomic and operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic05/spatomic05.scn b/testsuites/sptests/spatomic05/spatomic05.scn
deleted file mode 100644
index 84020b9..0000000
--- a/testsuites/sptests/spatomic05/spatomic05.scn
+++ /dev/null
@@ -1,102 +0,0 @@
-patomic05 TEST ***
-
-
-task0: _Atomic_Fetch_and_int: SUCCESS
-
-task0: _Atomic_Fetch_and_long: SUCCESS
-
-task0: _Atomic_Fetch_and_ptr: SUCCESS
-
-task0: _Atomic_Fetch_and_32: SUCCESS
-
-task0: _Atomic_Fetch_and_int: SUCCESS
-
-task0: _Atomic_Fetch_and_long: SUCCESS
-
-task0: _Atomic_Fetch_and_ptr: SUCCESS
-
-task0: _Atomic_Fetch_and_32: SUCCESS
-
-task0: _Atomic_Fetch_and_int: SUCCESS
-
-task0: _Atomic_Fetch_and_long: SUCCESS
-
-task0: _Atomic_Fetch_and_ptr: SUCCESS
-
-task0: _Atomic_Fetch_and_32: SUCCESS
-
-task1: _Atomic_Fetch_and_int: SUCCESS
-
-task1: _Atomic_Fetch_and_long: SUCCESS
-
-task1: _Atomic_Fetch_and_ptr: SUCCESS
-
-task1: _Atomic_Fetch_and_32: SUCCESS
-
-task1: _Atomic_Fetch_and_int: SUCCESS
-
-task1: _Atomic_Fetch_and_long: SUCCESS
-
-task1: _Atomic_Fetch_and_ptr: SUCCESS
-
-task1: _Atomic_Fetch_and_32: SUCCESS
-
-task1: _Atomic_Fetch_and_int: SUCCESS
-
-task1: _Atomic_Fetch_and_long: SUCCESS
-
-task1: _Atomic_Fetch_and_ptr: SUCCESS
-
-task1: _Atomic_Fetch_and_32: SUCCESS
-
-task2: _Atomic_Fetch_and_int: SUCCESS
-
-task2: _Atomic_Fetch_and_long: SUCCESS
-
-task2: _Atomic_Fetch_and_ptr: SUCCESS
-
-task2: _Atomic_Fetch_and_32: SUCCESS
-
-task2: _Atomic_Fetch_and_int: SUCCESS
-
-task2: _Atomic_Fetch_and_long: SUCCESS
-
-task2: _Atomic_Fetch_and_ptr: SUCCESS
-
-task2: _Atomic_Fetch_and_32: SUCCESS
-
-task2: _Atomic_Fetch_and_int: SUCCESS
-
-task2: _Atomic_Fetch_and_long: SUCCESS
-
-task2: _Atomic_Fetch_and_ptr: SUCCESS
-
-task2: _Atomic_Fetch_and_32: SUCCESS
-
-task3: _Atomic_Fetch_and_int: SUCCESS
-
-task3: _Atomic_Fetch_and_long: SUCCESS
-
-task3: _Atomic_Fetch_and_ptr: SUCCESS
-
-task3: _Atomic_Fetch_and_32: SUCCESS
-
-task3: _Atomic_Fetch_and_int: SUCCESS
-
-task3: _Atomic_Fetch_and_long: SUCCESS
-
-task3: _Atomic_Fetch_and_ptr: SUCCESS
-
-task3: _Atomic_Fetch_and_32: SUCCESS
-
-task3: _Atomic_Fetch_and_int: SUCCESS
-
-task3: _Atomic_Fetch_and_long: SUCCESS
-
-task3: _Atomic_Fetch_and_ptr: SUCCESS
-
-task3: _Atomic_Fetch_and_32: SUCCESS
-
-
-*** END OF TEST spatomic05 ***
-
diff --git a/testsuites/sptests/spatomic05/system.h b/testsuites/sptests/spatomic05/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic05/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic05/tasks.c b/testsuites/sptests/spatomic05/tasks.c
deleted file mode 100644
index 5f93dae..0000000
--- a/testsuites/sptests/spatomic05/tasks.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic and operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_FETCH_AND_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)\
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  R_TYPE c;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    a = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    b = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);   \
-    _Atomic_Fetch_and_##NAME(&t, b, mem_bar);            \
-    c = _Atomic_Load_##NAME(&t, ATOMIC_ORDER_RELAXED);   \
-    rtems_test_assert(c == (R_TYPE)(a & b));             \
-  }                                                      \
-  printf("\ntask%d: Atomic_Fetch_and_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_FETCH_AND_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_FETCH_AND_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_FETCH_AND_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_FETCH_AND_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* test release barrier */
-  ATOMIC_FETCH_AND_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_FETCH_AND_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;                
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic05 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
diff --git a/testsuites/sptests/spatomic06/Makefile.am b/testsuites/sptests/spatomic06/Makefile.am
deleted file mode 100644
index 82150f9..0000000
--- a/testsuites/sptests/spatomic06/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic06
-spatomic06_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic06.scn
-dist_rtems_tests_DATA += spatomic06.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic06_OBJECTS)
-LINK_LIBS = $(spatomic06_LDLIBS)
-
-spatomic06$(EXEEXT): $(spatomic06_OBJECTS) $(spatomic06_DEPENDENCIES)
-	@rm -f spatomic06$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic06/init.c b/testsuites/sptests/spatomic06/init.c
deleted file mode 100644
index 4a7ecfc..0000000
--- a/testsuites/sptests/spatomic06/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic or operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic06 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic06/spatomic06.doc b/testsuites/sptests/spatomic06/spatomic06.doc
deleted file mode 100644
index 5a4d033..0000000
--- a/testsuites/sptests/spatomic06/spatomic06.doc
+++ /dev/null
@@ -1,23 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic06
-
-directives:
-
-  _Atomic_Fetch_or_int
-  _Atomic_Fetch_or_long
-  _Atomic_Fetch_or_ptr
-  _Atomic_Fetch_or_32
-  _Atomic_Fetch_or_64
-
-concepts:
-
-+ Ensure that the atomic or operations listed above behave as defined.
diff --git a/testsuites/sptests/spatomic06/spatomic06.scn b/testsuites/sptests/spatomic06/spatomic06.scn
deleted file mode 100644
index 1429061..0000000
--- a/testsuites/sptests/spatomic06/spatomic06.scn
+++ /dev/null
@@ -1,102 +0,0 @@
-***  spatomic06 TEST ***
-
-
-task0: _Atomic_Fetch_or_int: SUCCESS
-
-task0: _Atomic_Fetch_or_long: SUCCESS
-
-task0: _Atomic_Fetch_or_ptr: SUCCESS
-
-task0: _Atomic_Fetch_or_32: SUCCESS
-
-task0: _Atomic_Fetch_or_int: SUCCESS
-
-task0: _Atomic_Fetch_or_long: SUCCESS
-
-task0: _Atomic_Fetch_or_ptr: SUCCESS
-
-task0: _Atomic_Fetch_or_32: SUCCESS
-
-task0: _Atomic_Fetch_or_int: SUCCESS
-
-task0: _Atomic_Fetch_or_long: SUCCESS
-
-task0: _Atomic_Fetch_or_ptr: SUCCESS
-
-task0: _Atomic_Fetch_or_32: SUCCESS
-
-task1: _Atomic_Fetch_or_int: SUCCESS
-
-task1: _Atomic_Fetch_or_long: SUCCESS
-
-task1: _Atomic_Fetch_or_ptr: SUCCESS
-
-task1: _Atomic_Fetch_or_32: SUCCESS
-
-task1: _Atomic_Fetch_or_int: SUCCESS
-
-task1: _Atomic_Fetch_or_long: SUCCESS
-
-task1: _Atomic_Fetch_or_ptr: SUCCESS
-
-task1: _Atomic_Fetch_or_32: SUCCESS
-
-task1: _Atomic_Fetch_or_int: SUCCESS
-
-task1: _Atomic_Fetch_or_long: SUCCESS
-
-task1: _Atomic_Fetch_or_ptr: SUCCESS
-
-task1: _Atomic_Fetch_or_32: SUCCESS
-
-task2: _Atomic_Fetch_or_int: SUCCESS
-
-task2: _Atomic_Fetch_or_long: SUCCESS
-
-task2: _Atomic_Fetch_or_ptr: SUCCESS
-
-task2: _Atomic_Fetch_or_32: SUCCESS
-
-task2: _Atomic_Fetch_or_int: SUCCESS
-
-task2: _Atomic_Fetch_or_long: SUCCESS
-
-task2: _Atomic_Fetch_or_ptr: SUCCESS
-
-task2: _Atomic_Fetch_or_32: SUCCESS
-
-task2: _Atomic_Fetch_or_int: SUCCESS
-
-task2: _Atomic_Fetch_or_long: SUCCESS
-
-task2: _Atomic_Fetch_or_ptr: SUCCESS
-
-task2: _Atomic_Fetch_or_32: SUCCESS
-
-task3: _Atomic_Fetch_or_int: SUCCESS
-
-task3: _Atomic_Fetch_or_long: SUCCESS
-
-task3: _Atomic_Fetch_or_ptr: SUCCESS
-
-task3: _Atomic_Fetch_or_32: SUCCESS
-
-task3: _Atomic_Fetch_or_int: SUCCESS
-
-task3: _Atomic_Fetch_or_long: SUCCESS
-
-task3: _Atomic_Fetch_or_ptr: SUCCESS
-
-task3: _Atomic_Fetch_or_32: SUCCESS
-
-task3: _Atomic_Fetch_or_int: SUCCESS
-
-task3: _Atomic_Fetch_or_long: SUCCESS
-
-task3: _Atomic_Fetch_or_ptr: SUCCESS
-
-task3: _Atomic_Fetch_or_32: SUCCESS
-
-
-*** END OF TEST spatomic06 ***
-
diff --git a/testsuites/sptests/spatomic06/system.h b/testsuites/sptests/spatomic06/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic06/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic06/tasks.c b/testsuites/sptests/spatomic06/tasks.c
deleted file mode 100644
index b03d3f0..0000000
--- a/testsuites/sptests/spatomic06/tasks.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic or operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_FETCH_OR_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar) \
-{                                                        \
-  Atomic_##TYPE t;                                       \
-  R_TYPE a;                                              \
-  R_TYPE b;                                              \
-  R_TYPE c;                                              \
-  unsigned int i;                                        \
-  for (i = 0; i < TEST_REPEAT; i++){                     \
-    a = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    b = (R_TYPE)(rand() % ((R_TYPE)-1 / 2));             \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);   \
-    _Atomic_Fetch_or_##NAME(&t, b, mem_bar);             \
-    c = _Atomic_Load_##NAME(&t, ATOMIC_ORDER_RELAXED);   \
-    rtems_test_assert(c == (R_TYPE)(a | b));             \
-  }                                                      \
-  printf("\ntask%d: Atomic_Fetch_or_" #NAME ": SUCCESS\n", (unsigned int)task_id); \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_FETCH_OR_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_FETCH_OR_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_FETCH_OR_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_FETCH_OR_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* test release barrier */
-  ATOMIC_FETCH_OR_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_FETCH_OR_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;                
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic06 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
diff --git a/testsuites/sptests/spatomic07/Makefile.am b/testsuites/sptests/spatomic07/Makefile.am
deleted file mode 100644
index bd63c52..0000000
--- a/testsuites/sptests/spatomic07/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-if ATOMIC
-rtems_tests_PROGRAMS = spatomic07
-spatomic07_SOURCES = init.c tasks.c system.h 
-
-dist_rtems_tests_DATA = spatomic07.scn
-dist_rtems_tests_DATA += spatomic07.doc
-endif
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-
-if ATOMIC
-AM_CPPFLAGS += -I$(top_srcdir)/../support/include
-
-LINK_OBJS = $(spatomic07_OBJECTS)
-LINK_LIBS = $(spatomic07_LDLIBS)
-
-spatomic07$(EXEEXT): $(spatomic07_OBJECTS) $(spatomic07_DEPENDENCIES)
-	@rm -f spatomic07$(EXEEXT)
-	$(make-exe)
-endif
-
-include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic07/init.c b/testsuites/sptests/spatomic07/init.c
deleted file mode 100644
index 3cc1b27..0000000
--- a/testsuites/sptests/spatomic07/init.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic compare and exchange operation.
- *
- *  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.
- *
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define CONFIGURE_INIT
-#include "system.h"
-
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  int                i;
-  char               ch;
-  rtems_id           id;
-  rtems_status_code  status;
-
-  /* Put start of test message */
-  puts( "\n\n***  spatomic07 TEST ***\n" );
-
-  /* Initialize the TaskRan array */
-  for ( i=0; i<TASK_NUMS ; i++ ) {
-    TaskRan[i] = false;
-  }
-
-  /* Create and start tasks for each processor */
-  for ( i=0; i< TASK_NUMS ; i++ ) {
-    ch = '0' + i;
-
-    status = rtems_task_create(
-      rtems_build_name( 'T', 'A', ch, ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-    directive_failed( status, "task create" );
-
-    status = rtems_task_start( id, Test_task, i );
-    directive_failed( status, "task start" );
-  }
-
-  status = rtems_task_create(
-      rtems_build_name( 'A', 'T', '0', ' ' ),
-      1,
-      RTEMS_MINIMUM_STACK_SIZE,
-      RTEMS_DEFAULT_MODES,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &id
-    );
-  directive_failed( status, "task create" );
-
-  status = rtems_task_start( id, Wait_task, 0 );
-  directive_failed( status, "task start" );
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
diff --git a/testsuites/sptests/spatomic07/spatomic07.doc b/testsuites/sptests/spatomic07/spatomic07.doc
deleted file mode 100644
index 4ade88f..0000000
--- a/testsuites/sptests/spatomic07/spatomic07.doc
+++ /dev/null
@@ -1,24 +0,0 @@
-#  COPYRIGHT (c) 1989-2012.
-#  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.
-#
-
-This file describes the directives and concepts tested by this test set.
-
-test set name:  spatomic07
-
-directives:
-
-  _Atomic_Compare_exchange_int
-  _Atomic_Compare_exchange_long
-  _Atomic_Compare_exchange_ptr
-  _Atomic_Compare_exchange_32
-  _Atomic_Compare_exchange_64
-
-concepts:
-
-+ Ensure that the atomic compare and exchange operations listed above behave
-  as defined.
diff --git a/testsuites/sptests/spatomic07/spatomic07.scn b/testsuites/sptests/spatomic07/spatomic07.scn
deleted file mode 100644
index bb37ba6..0000000
--- a/testsuites/sptests/spatomic07/spatomic07.scn
+++ /dev/null
@@ -1,102 +0,0 @@
-patomic07 TEST ***
-
-
-task0: _Atomic_Compare_exchange_int: SUCCESS
-
-task0: _Atomic_Compare_exchange_long: SUCCESS
-
-task0: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task0: _Atomic_Compare_exchange_32: SUCCESS
-
-task0: _Atomic_Compare_exchange_int: SUCCESS
-
-task0: _Atomic_Compare_exchange_long: SUCCESS
-
-task0: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task0: _Atomic_Compare_exchange_32: SUCCESS
-
-task0: _Atomic_Compare_exchange_int: SUCCESS
-
-task0: _Atomic_Compare_exchange_long: SUCCESS
-
-task0: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task0: _Atomic_Compare_exchange_32: SUCCESS
-
-task1: _Atomic_Compare_exchange_int: SUCCESS
-
-task1: _Atomic_Compare_exchange_long: SUCCESS
-
-task1: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task1: _Atomic_Compare_exchange_32: SUCCESS
-
-task1: _Atomic_Compare_exchange_int: SUCCESS
-
-task1: _Atomic_Compare_exchange_long: SUCCESS
-
-task1: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task1: _Atomic_Compare_exchange_32: SUCCESS
-
-task1: _Atomic_Compare_exchange_int: SUCCESS
-
-task1: _Atomic_Compare_exchange_long: SUCCESS
-
-task1: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task1: _Atomic_Compare_exchange_32: SUCCESS
-
-task2: _Atomic_Compare_exchange_int: SUCCESS
-
-task2: _Atomic_Compare_exchange_long: SUCCESS
-
-task2: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task2: _Atomic_Compare_exchange_32: SUCCESS
-
-task2: _Atomic_Compare_exchange_int: SUCCESS
-
-task2: _Atomic_Compare_exchange_long: SUCCESS
-
-task2: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task2: _Atomic_Compare_exchange_32: SUCCESS
-
-task2: _Atomic_Compare_exchange_int: SUCCESS
-
-task2: _Atomic_Compare_exchange_long: SUCCESS
-
-task2: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task2: _Atomic_Compare_exchange_32: SUCCESS
-
-task3: _Atomic_Compare_exchange_int: SUCCESS
-
-task3: _Atomic_Compare_exchange_long: SUCCESS
-
-task3: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task3: _Atomic_Compare_exchange_32: SUCCESS
-
-task3: _Atomic_Compare_exchange_int: SUCCESS
-
-task3: _Atomic_Compare_exchange_long: SUCCESS
-
-task3: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task3: _Atomic_Compare_exchange_32: SUCCESS
-
-task3: _Atomic_Compare_exchange_int: SUCCESS
-
-task3: _Atomic_Compare_exchange_long: SUCCESS
-
-task3: _Atomic_Compare_exchange_ptr: SUCCESS
-
-task3: _Atomic_Compare_exchange_32: SUCCESS
-
-
-*** END OF TEST spatomic07 ***
-
diff --git a/testsuites/sptests/spatomic07/system.h b/testsuites/sptests/spatomic07/system.h
deleted file mode 100644
index 55931f2..0000000
--- a/testsuites/sptests/spatomic07/system.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  COPYRIGHT (c) 1989-2011.
- *  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.
- */
-
-#include "tmacros.h"
-#include "test_support.h"
-
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_task Test_task(
-  rtems_task_argument argument
-);
-
-rtems_task Wait_task(
-  rtems_task_argument argument
-);
-/* configuration information */
-#define TASK_NUMS 4
-
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_MAXIMUM_TASKS            \
-    (2 + TASK_NUMS)
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <rtems/confdefs.h>
-
-/* global variables */
-
-/*
- *  Keep the names and IDs in global variables so another task can use them.
- */
-
-TEST_EXTERN volatile bool TaskRan[ TASK_NUMS ];
-
-/*
- *  Handy macros and static inline functions
- */
-
-/* end of include file */
diff --git a/testsuites/sptests/spatomic07/tasks.c b/testsuites/sptests/spatomic07/tasks.c
deleted file mode 100644
index 286a994..0000000
--- a/testsuites/sptests/spatomic07/tasks.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2012 Deng Hengyi.
- *
- *  This test case is to test atomic compare and exchange operation.
- *
- *  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.
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-#include <stdlib.h>
-#include <rtems/rtems/atomic.h>
-
-#define TEST_REPEAT 1000
-
-#define ATOMIC_CAS_NO_BARRIER(NAME, TYPE, R_TYPE, task_id, mem_bar)     \
-{                                                       \
-  Atomic_##TYPE t;                                      \
-  R_TYPE a;                                             \
-  R_TYPE b;                                             \
-  unsigned int i;                                       \
-  int r;                                                \
-  for (i = 0; i < TEST_REPEAT; i++){                    \
-    a = rand() % (R_TYPE)-1;                            \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);  \
-    b = a + 1;                                                           \
-    r = _Atomic_Compare_exchange_##NAME(&t, &b, a - 1, mem_bar, memory_order_relaxed); \
-    if(r != 0){                                                          \
-      printf("\ntask%d: Atomic_Compare_exchange_" #NAME ": FAILED\n", (unsigned int)task_id); \
-      rtems_test_exit( 0 );                                              \
-    }                                                                    \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);                   \
-    r = _Atomic_Compare_exchange_##NAME(&t, &a, a - 1, mem_bar, memory_order_relaxed); \
-    b = _Atomic_Load_##NAME(&t, ATOMIC_ORDER_RELAXED);                   \
-    if((r == 0) ||((r != 0) && ((a - 1) != b))){                         \
-      printf("\ntask%d: Atomic_Compare_exchange_" #NAME ": FAILED\n", (unsigned int)task_id); \
-      rtems_test_exit( 0 );                                              \
-    }                                                                    \
-    _Atomic_Store_##NAME(&t, a, ATOMIC_ORDER_RELAXED);                   \
-    b = a + 1;                                                           \
-    r = _Atomic_Compare_exchange_##NAME(&t, &b, a, mem_bar, memory_order_relaxed); \
-    if(r != 0){                                                          \
-      printf("\ntask%d: Atomic_Compare_exchange_" #NAME ": FAILED\n", (unsigned int)task_id); \
-      rtems_test_exit( 0 );                                              \
-    }                                                                    \
-  }                                                                      \
-  printf("\ntask%d: Atomic_Compare_exchange_" #NAME ": SUCCESS\n", (unsigned int)task_id);    \
-}
-
-rtems_task Test_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  rtems_status_code  status;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Print that the task is up and running. */
-  /* test relaxed barrier */
-  ATOMIC_CAS_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELAXED);
-
-  ATOMIC_CAS_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELAXED);
-
-  /* test acquire barrier */
-  ATOMIC_CAS_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  ATOMIC_CAS_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_ACQUIRE);
-
-  /* test release barrier */
-  ATOMIC_CAS_NO_BARRIER(uint, Uint, uint_fast32_t, argument, ATOMIC_ORDER_RELEASE);
-
-  ATOMIC_CAS_NO_BARRIER(ptr, Pointer, uintptr_t, argument, ATOMIC_ORDER_RELEASE);
-
-  /* Set the flag that the task is up and running */
-  TaskRan[argument] = true;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
-}
-
-rtems_task Wait_task(
-    rtems_task_argument argument
-    )
-{
-  char              name[5];
-  char             *p;
-  bool               allDone;
-  int                i;
-
-  /* Get the task name */
-  p = rtems_object_get_name( RTEMS_SELF, 5, name );
-  rtems_test_assert( p != NULL );
-
-  /* Wait on the all tasks to run */
-  while (1) {
-    allDone = true;
-    for ( i=0; i<TASK_NUMS ; i++ ) {
-      if (TaskRan[i] == false)
-        allDone = false;
-    }
-    if (allDone) {
-      puts( "\n\n*** END OF TEST spatomic07 ***\n" );
-      rtems_test_exit( 0 );
-    }
-  }
-}
-- 
1.7.9.5




More information about the devel mailing list