summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sp47/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/sptests/sp47/init.c')
-rw-r--r--testsuites/sptests/sp47/init.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/testsuites/sptests/sp47/init.c b/testsuites/sptests/sp47/init.c
new file mode 100644
index 0000000000..d0115fab0f
--- /dev/null
+++ b/testsuites/sptests/sp47/init.c
@@ -0,0 +1,68 @@
+/*
+ * Submitted as part of PR1357
+ *
+ * $Id$
+ */
+
+#include <tmacros.h>
+
+rtems_task test_asr(rtems_task_argument unused)
+{
+ rtems_mode mode;
+
+ rtems_task_mode(0, RTEMS_CURRENT_MODE, &mode);
+
+ if ( (mode & RTEMS_NO_ASR) == 0 ) {
+ puts( "ERROR - disable ASR not honored" );
+ printf(
+ "mode = 0x%08X asr = %s\n", mode,
+ (mode & RTEMS_NO_ASR) ? "OFF" : "ON"
+ );
+ } else
+ puts( "Creating task with ASR disable mode honored" );
+
+ puts( "*** END OF TEST 47 ***" );
+ rtems_test_exit( 0 );
+}
+
+rtems_task Init(rtems_task_argument ignored)
+{
+ rtems_status_code sc;
+ rtems_id ti;
+
+ puts( "\n\n*** TEST 47 ***" );
+ sc = rtems_task_create(
+ rtems_build_name('t', 's', 't', '0'),
+ 100,
+ RTEMS_MINIMUM_STACK_SIZE,
+ RTEMS_NO_ASR,
+ RTEMS_DEFAULT_ATTRIBUTES,
+ &ti
+ );
+
+ if (sc != RTEMS_SUCCESSFUL) {
+ printf("rtems_task_create failed: %i\n", sc);
+ exit(0);
+ }
+
+ rtems_task_start(ti, test_asr, 0);
+
+ rtems_task_delete(RTEMS_SELF);
+}
+
+/* configuration stuff */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+
+#define CONFIGURE_MICROSECONDS_PER_TICK 10000
+
+#define CONFIGURE_MAXIMUM_TASKS 64
+#define CONFIGURE_MAXIMUM_PERIODS 10
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>