diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-05-03 09:13:36 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-05-03 09:13:36 +0000 |
commit | b2f216e14f2f9cfbaca8d0839b1ac4365bedb312 (patch) | |
tree | e4e1f9fd3eec5b5e2c7eb9fee1bdc2b517257bb1 /cpukit/sapi | |
parent | 2010-05-01 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-b2f216e14f2f9cfbaca8d0839b1ac4365bedb312.tar.bz2 |
2010-05-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
* sapi/include/confdefs.h: New define CONFIGURE_SEMAPHORES for the
overall count of required semaphores. New define
CONFIGURE_LIBBLOCK_SEMAPHORES for the count of required disk and bdbuf
semaphores.
Diffstat (limited to 'cpukit/sapi')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 283b4ce581..50944b0f49 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -784,11 +784,25 @@ rtems_fs_init_functions_t rtems_fs_init_helper = CONFIGURE_BDBUF_BUFFER_MAX_SIZE }; #endif + + /* + * Semaphores: + * o disk lock + * o bdbuf lock + * o bdbuf sync lock + * o bdbuf access condition + * o bdbuf transfer condition + * o bdbuf buffer condition + */ + #define CONFIGURE_LIBBLOCK_SEMAPHORES 6 + #if defined(CONFIGURE_HAS_OWN_BDBUF_TABLE) || \ defined(CONFIGURE_BDBUF_BUFFER_SIZE) || \ defined(CONFIGURE_BDBUF_BUFFER_COUNT) #error BDBUF Cache does not use a buffer configuration table. Please remove. #endif +#else + #define CONFIGURE_LIBBLOCK_SEMAPHORES 0 #endif /* CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */ #if defined(RTEMS_MULTIPROCESSING) @@ -909,16 +923,17 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifndef CONFIGURE_MAXIMUM_SEMAPHORES #define CONFIGURE_MAXIMUM_SEMAPHORES 0 - #else #endif + #define CONFIGURE_SEMAPHORES \ + (CONFIGURE_MAXIMUM_SEMAPHORES + CONFIGURE_LIBIO_SEMAPHORES + \ + CONFIGURE_TERMIOS_SEMAPHORES + CONFIGURE_LIBBLOCK_SEMAPHORES) + /* * If there are no user or support semaphores defined, then we can assume * that no memory need be allocated at all for semaphores. */ - #if ((CONFIGURE_MAXIMUM_SEMAPHORES == 0) && \ - (CONFIGURE_LIBIO_SEMAPHORES == 0) && \ - (CONFIGURE_TERMIOS_SEMAPHORES == 0)) + #if CONFIGURE_SEMAPHORES == 0 #define CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) 0 #else #define CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \ @@ -1686,8 +1701,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = (CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES) + \ CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS + \ CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER ) + \ - CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_MAXIMUM_SEMAPHORES + \ - CONFIGURE_LIBIO_SEMAPHORES + CONFIGURE_TERMIOS_SEMAPHORES) + \ + CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES) + \ CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES) + \ CONFIGURE_MEMORY_FOR_PARTITIONS(CONFIGURE_MAXIMUM_PARTITIONS) + \ CONFIGURE_MEMORY_FOR_REGIONS( CONFIGURE_MAXIMUM_REGIONS ) + \ @@ -1780,8 +1794,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS, 0), CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES), CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS), - CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_MAXIMUM_SEMAPHORES + - CONFIGURE_LIBIO_SEMAPHORES + CONFIGURE_TERMIOS_SEMAPHORES), + CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES), CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES), CONFIGURE_MEMORY_FOR_PARTITIONS(CONFIGURE_MAXIMUM_PARTITIONS), CONFIGURE_MEMORY_FOR_REGIONS( CONFIGURE_MAXIMUM_REGIONS ), @@ -1853,8 +1866,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = CONFIGURE_MAXIMUM_TASKS, CONFIGURE_NOTEPADS_ENABLED, CONFIGURE_MAXIMUM_TIMERS + CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER, - CONFIGURE_MAXIMUM_SEMAPHORES + CONFIGURE_LIBIO_SEMAPHORES + - CONFIGURE_TERMIOS_SEMAPHORES, + CONFIGURE_SEMAPHORES, CONFIGURE_MAXIMUM_MESSAGE_QUEUES, CONFIGURE_MAXIMUM_PARTITIONS, CONFIGURE_MAXIMUM_REGIONS, |