]> rtime.felk.cvut.cz Git - rtems-pluggable-edf.git/blobdiff - src/test_edf/system.h
test_edf updated, running, but not properly in the emulator
[rtems-pluggable-edf.git] / src / test_edf / system.h
index 18161721494ce33bc7ec6d5bfbeced972232e750..ce940f80cd5c74ffd3315c526ff708bbd5b85032 100644 (file)
  *  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 <tmacros.h>
+#include <rtems.h>
 
 /* functions */
 
 rtems_task Init(
   rtems_task_argument argument
 );
-
-rtems_task Task_1(
-  rtems_task_argument argument
-);
 
-rtems_task Task_2(
-  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_TASKS               7
-#define CONFIGURE_MAXIMUM_PERIODS             10
+#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_INIT_TASK_PRIORITY          10
-#define CONFIGURE_INIT_TASK_INITIAL_MODES     RTEMS_DEFAULT_MODES
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_EXTRA_TASK_STACKS         (6 * 3 * RTEMS_MINIMUM_STACK_SIZE)
 
-#include <confdefs.h>
+#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>
+
 
-/* global variables */
 
-TEST_EXTERN rtems_id   Task_id[ 7 ];     /* array of task ids */
-TEST_EXTERN rtems_name Task_name[ 7 ];   /* array of task names */
 
 /* end of include file */