summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/confdefs.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-05-03 09:13:36 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-05-03 09:13:36 +0000
commitb2f216e14f2f9cfbaca8d0839b1ac4365bedb312 (patch)
treee4e1f9fd3eec5b5e2c7eb9fee1bdc2b517257bb1 /cpukit/sapi/include/confdefs.h
parent2010-05-01 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-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/include/confdefs.h')
-rw-r--r--cpukit/sapi/include/confdefs.h32
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,