X-Git-Url: http://rtime.felk.cvut.cz/gitweb/rtems-pluggable-edf.git/blobdiff_plain/3670b5643daad3877116868adb7640ac5c4f34c2..b78e60b8f69ae6a4f1fe3e0f71c9eadffb1722e2:/src/test_edf/system.h diff --git a/src/test_edf/system.h b/src/test_edf/system.h index 1816172..ce940f8 100644 --- a/src/test_edf/system.h +++ b/src/test_edf/system.h @@ -3,44 +3,103 @@ * 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 +#include /* 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 /* 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 +#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 + -/* 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 */