]> rtime.felk.cvut.cz Git - frescor/frsh-forb.git/blobdiff - src/rtems_tests/system.h
RTEMS: first test for RTEMS added
[frescor/frsh-forb.git] / src / rtems_tests / system.h
diff --git a/src/rtems_tests/system.h b/src/rtems_tests/system.h
new file mode 100644 (file)
index 0000000..ce940f8
--- /dev/null
@@ -0,0 +1,105 @@
+/*  system.h
+ *
+ *  This include file contains information that is included in every
+ *  function in the test set.
+ *
+ *  COPYRIGHT (c) 1989-1999.
+ *  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: system.h,v 1.13.6.1 2003/09/04 18:46:30 joel Exp $
+ */
+
+#include <rtems.h>
+
+/* functions */
+
+rtems_task Init(
+  rtems_task_argument argument
+);
+
+/* configuration information */
+
+#include <bsp.h> /* for device driver prototypes */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
+
+#define TICKS_PER_SECOND 100
+
+#define CONFIGURE_MAXIMUM_TIMERS                 32
+#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES         32
+#define CONFIGURE_MAXIMUM_SEMAPHORES             32
+#define CONFIGURE_MAXIMUM_TASKS                  32
+#define CONFIGURE_MAXIMUM_PERIODS                4
+#define CONFIGURE_MAXIMUM_USER_EXTENSIONS        2
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32
+#define CONFIGURE_MAXIMUM_DRIVERS (CONFIGURE_NUMBER_OF_DRIVERS+10)
+
+#ifdef RTEMS_POSIX_API
+#define CONFIGURE_MAXIMUM_POSIX_THREADS          32
+#define CONFIGURE_MAXIMUM_POSIX_MUTEXES          20
+#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES       10
+#endif /*RTEMS_POSIX_API*/
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+
+#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
+/*#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM*/
+
+#define CONFIGURE_MICROSECONDS_PER_TICK 10000
+
+#define CONFIGURE_INIT_TASK_STACK_SIZE  (10*1024)
+#define CONFIGURE_INIT_TASK_PRIORITY    120
+#define CONFIGURE_INIT_TASK_INITIAL_MODES (RTEMS_PREEMPT | \
+                                           RTEMS_NO_TIMESLICE | \
+                                           RTEMS_NO_ASR | \
+                                           RTEMS_INTERRUPT_LEVEL(0))
+
+
+
+/*
+ * Scheduler configuration.
+ *
+ * The scheduler configuration allows an application to select the 
+ * scheduling policy to use.  The supported configurations are:
+ *  CONFIGURE_SCHEDULER_USER     - user provided scheduler
+ *  CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler
+ * 
+ * If no configuration is specified by the application, then 
+ * CONFIGURE_SCHEDULER_PRIORITY is assumed to be the default.
+ *
+ * An application can define its own scheduling policy by defining
+ * CONFIGURE_SCHEDULER_USER and the following:
+ *    - CONFIGURE_SCHEDULER_ENTRY_POINTS 
+ *    - CONFIGURE_MEMORY_FOR_SCHEDULER - base memory  
+ *    - CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory
+ */
+                
+/// Enable yur own scheduler
+#define CONFIGURE_SCHEDULER_USER
+
+/**
+ *  EDF scheduler configuration.
+ */
+#ifdef CONFIGURE_SCHEDULER_USER
+       #define CONFIGURE_SCHEDULER_USER_ENTRY_POINTS 
+       #include "scheduler_edf.h"
+       #define SCHEDULER_ENTRY_POINTS SCHEDULER_EDF_ENTRY_POINTS
+       #define CONFIGURE_MEMORY_FOR_SCHEDULER (_Configure_From_workspace(sizeof(EDF_Chain_Control)))
+       #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER (_Configure_From_workspace(sizeof(RBT_Node)))
+#endif
+
+
+
+#include <rtems/confdefs.h>
+
+
+
+
+/* end of include file */