diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-03 22:23:13 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-03 22:23:13 +0000 |
commit | 976162a69f6fdfbd2ab507074be7d99a48b4f7f7 (patch) | |
tree | 375dac0660e6845642167a2cba304a6812a33d26 /cpukit/sapi/include/confdefs.h | |
parent | 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-976162a69f6fdfbd2ab507074be7d99a48b4f7f7.tar.bz2 |
2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/src/malloc.c, libmisc/monitor/mon-command.c,
posix/preinstall.am, posix/include/rtems/posix/cond.h,
posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/semaphore.h, posix/src/conddestroy.c,
posix/src/mutexdestroy.c, posix/src/mutexinit.c,
posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c,
sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/init.h, sapi/include/rtems/sptables.h,
sapi/src/exinit.c, score/include/rtems/system.h,
score/include/rtems/score/mpci.h, score/src/mpci.c,
score/src/thread.c, score/src/threadcreateidle.c,
score/src/threadstackallocate.c, score/src/threadstackfree.c,
score/src/wkspace.c: Moved most of the remaining CPU Table fields to
the Configuration Table. This included pretasking_hook,
predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
extra_mpci_receive_server_stack, stack_allocate_hook, and
stack_free_hook. As a side-effect of this effort some multiprocessing
code was made conditional and some style clean up occurred.
Diffstat (limited to 'cpukit/sapi/include/confdefs.h')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 82 |
1 files changed, 75 insertions, 7 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 2ae661a5ad..4f7cb1887a 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -52,7 +52,9 @@ extern "C" { extern rtems_initialization_tasks_table Initialization_tasks[]; extern rtems_driver_address_table Device_drivers[]; extern rtems_configuration_table Configuration; -extern rtems_multiprocessing_table Multiprocessing_configuration; +#if defined(RTEMS_MULTIPROCESSING) + extern rtems_multiprocessing_table Multiprocessing_configuration; +#endif #ifdef RTEMS_POSIX_API extern posix_api_configuration_table Configuration_POSIX_API; #endif @@ -177,6 +179,62 @@ extern int rtems_telnetd_maximum_ptys; #endif /* + * Idle task body configuration + * + * There is a default IDLE thread body provided by RTEMS which + * has the possibility of being CPU specific. There may be a + * BSP specific override of the RTEMS default body and in turn, + * the application may override and provide its own. + */ +#ifndef CONFIGURE_IDLE_TASK_BODY + #ifdef BSP_IDLE_TASK_BODY + #define CONFIGURE_IDLE_TASK_BODY BSP_IDLE_TASK_BODY + #else + #define CONFIGURE_IDLE_TASK_BODY NULL + #endif +#endif + +/* + * Idle task stack size configuration + * + * By default, the IDLE task will have a stack of minimum size. + * The BSP or application may override this value. + */ +#ifndef CONFIGURE_IDLE_TASK_STACK_SIZE + #ifdef BSP_IDLE_TASK_STACK_SIZE + #define CONFIGURE_IDLE_TASK_STACK_SIZE BSP_IDLE_TASK_STACK_SIZE + #else + #define CONFIGURE_IDLE_TASK_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE + #endif +#endif + +/* + * Task stack allocator configuration + */ + +#ifndef CONFIGURE_TASK_STACK_ALLOCATOR + #define CONFIGURE_TASK_STACK_ALLOCATOR NULL +#endif + +#ifndef CONFIGURE_TASK_STACK_DEALLOCATOR + #define CONFIGURE_TASK_STACK_DEALLOCATOR NULL +#endif + +/* + * Should the RTEMS Workspace and C Program Heap be cleared automatically + * at system start up? + */ + +#ifndef CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY + #ifdef BSP_ZERO_WORKSPACE_AUTOMATICALLY + #define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY \ + BSP_ZERO_WORKSPACE_AUTOMATICALLY + #else + #define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY FALSE + #endif +#endif + +/* * Default User Initialization Task Table. This table guarantees that * one user initialization table is defined. */ @@ -399,6 +457,8 @@ int rtems_bdbuf_configuration_size =( sizeof(rtems_bdbuf_configuration) #endif /* CONFIGURE_INIT */ #endif /* CONFIGURE_HAS_OWN_BDBUF_TABLE */ #endif /* CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */ + +#if defined(RTEMS_MULTIPROCESSING) /* * Default Multiprocessing Configuration Table. The defaults are * appropriate for most of the RTEMS Multiprocessor Test Suite. Each @@ -448,6 +508,7 @@ rtems_multiprocessing_table Multiprocessing_configuration = { #define CONFIGURE_MULTIPROCESSING_TABLE NULL #endif /* CONFIGURE_MP_APPLICATION */ +#endif /* RTEMS_MULTIPROCESSING */ /* * Default Configuration Table. @@ -1178,17 +1239,24 @@ itron_api_configuration_table Configuration_ITRON_API = { rtems_configuration_table Configuration = { CONFIGURE_EXECUTIVE_RAM_WORK_AREA, - CONFIGURE_EXECUTIVE_RAM_SIZE, + CONFIGURE_EXECUTIVE_RAM_SIZE, /* required RTEMS workspace */ CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + - CONFIGURE_STACK_CHECKER_EXTENSION, - CONFIGURE_MICROSECONDS_PER_TICK, - CONFIGURE_TICKS_PER_TIMESLICE, - CONFIGURE_MAXIMUM_DRIVERS, - CONFIGURE_NUMBER_OF_DRIVERS, /* number of device drivers */ + CONFIGURE_STACK_CHECKER_EXTENSION, /* maximum user extensions */ + CONFIGURE_MICROSECONDS_PER_TICK, /* microseconds per clock tick */ + CONFIGURE_TICKS_PER_TIMESLICE, /* ticks per timeslice quantum */ + CONFIGURE_IDLE_TASK_BODY, /* user's IDLE task */ + CONFIGURE_IDLE_TASK_STACK_SIZE, /* IDLE task stack size */ + CONFIGURE_TASK_STACK_ALLOCATOR, /* stack allocator */ + CONFIGURE_TASK_STACK_DEALLOCATOR, /* stack deallocator */ + CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY, /* true to clear memory */ + CONFIGURE_MAXIMUM_DRIVERS, /* maximum device drivers */ + CONFIGURE_NUMBER_OF_DRIVERS, /* static device drivers */ Device_drivers, /* pointer to driver table */ CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS, /* number of initial extensions */ CONFIGURE_INITIAL_EXTENSION_TABLE, /* pointer to initial extensions */ +#if defined(RTEMS_MULTIPROCESSING) CONFIGURE_MULTIPROCESSING_TABLE, /* pointer to MP config table */ +#endif &Configuration_RTEMS_API, /* pointer to RTEMS API config */ #ifdef RTEMS_POSIX_API &Configuration_POSIX_API, /* pointer to POSIX API config */ |