rtems: Avoid copy and paste in confdefs.h

Add and use CONFIGURE_POSIX_MUTEXES.
Add and use CONFIGURE_POSIX_CONDITION_VARIABLES.
This commit is contained in:
Ralf Kirchner
2014-06-02 15:47:09 +02:00
committed by Sebastian Huber
parent 7c90670c81
commit d8ac087a8c
+48 -32
View File
@@ -2109,31 +2109,9 @@ const rtems_libio_helper rtems_fs_init_helper =
#endif
#define CONFIGURE_MEMORY_FOR_POSIX \
( CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES + \
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_MUTEXES) + \
CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES( \
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES + \
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_CONDITION_VARIABLES) + \
CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ) + \
CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ) + \
CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUE_DESCRIPTORS( \
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS ) + \
CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ) + \
CONFIGURE_MEMORY_FOR_POSIX_BARRIERS(CONFIGURE_MAXIMUM_POSIX_BARRIERS) + \
CONFIGURE_MEMORY_FOR_POSIX_SPINLOCKS( \
CONFIGURE_MAXIMUM_POSIX_SPINLOCKS ) + \
CONFIGURE_MEMORY_FOR_POSIX_RWLOCKS( \
CONFIGURE_MAXIMUM_POSIX_RWLOCKS ) + \
CONFIGURE_MEMORY_FOR_POSIX_TIMERS( CONFIGURE_MAXIMUM_POSIX_TIMERS ) \
)
#else
#define CONFIGURE_MAXIMUM_POSIX_THREADS 0
#define CONFIGURE_MEMORY_FOR_POSIX 0
#endif /* RTEMS_POSIX_API */
@@ -2225,6 +2203,50 @@ const rtems_libio_helper rtems_fs_init_helper =
CONFIGURE_MAXIMUM_ADA_TASKS + \
CONFIGURE_MAXIMUM_GOROUTINES)
#ifdef RTEMS_POSIX_API
/**
* This macro provides summation of the POSIX Mutexes.
*/
#define CONFIGURE_POSIX_MUTEXES \
(CONFIGURE_MAXIMUM_POSIX_MUTEXES + \
CONFIGURE_GNAT_MUTEXES + \
CONFIGURE_MAXIMUM_ADA_TASKS + \
CONFIGURE_MAXIMUM_FAKE_ADA_TASKS + \
CONFIGURE_GO_INIT_MUTEXES + \
CONFIGURE_MAXIMUM_GO_CHANNELS)
/**
* This macro provides summation of the POSIX Condition Variables.
*/
#define CONFIGURE_POSIX_CONDITION_VARIABLES \
(CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES + \
CONFIGURE_MAXIMUM_ADA_TASKS + \
CONFIGURE_MAXIMUM_FAKE_ADA_TASKS + \
CONFIGURE_GO_INIT_CONDITION_VARIABLES + \
CONFIGURE_MAXIMUM_GO_CHANNELS)
#define CONFIGURE_MEMORY_FOR_POSIX \
(CONFIGURE_MEMORY_FOR_POSIX_MUTEXES(CONFIGURE_POSIX_MUTEXES) + \
CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES( \
CONFIGURE_POSIX_CONDITION_VARIABLES) + \
CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS) + \
CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \
CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUE_DESCRIPTORS( \
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS) + \
CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \
CONFIGURE_MEMORY_FOR_POSIX_BARRIERS(CONFIGURE_MAXIMUM_POSIX_BARRIERS) + \
CONFIGURE_MEMORY_FOR_POSIX_SPINLOCKS( \
CONFIGURE_MAXIMUM_POSIX_SPINLOCKS) + \
CONFIGURE_MEMORY_FOR_POSIX_RWLOCKS( \
CONFIGURE_MAXIMUM_POSIX_RWLOCKS) + \
CONFIGURE_MEMORY_FOR_POSIX_TIMERS(CONFIGURE_MAXIMUM_POSIX_TIMERS))
#else
#define CONFIGURE_MEMORY_FOR_POSIX 0
#endif
/*
* Calculate the RAM size based on the maximum number of objects configured.
*/
@@ -2582,12 +2604,8 @@ const rtems_libio_helper rtems_fs_init_helper =
*/
posix_api_configuration_table Configuration_POSIX_API = {
CONFIGURE_POSIX_THREADS,
CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES +
CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS +
CONFIGURE_GO_INIT_MUTEXES + CONFIGURE_MAXIMUM_GO_CHANNELS,
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES +
CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS +
CONFIGURE_GO_INIT_CONDITION_VARIABLES + CONFIGURE_MAXIMUM_GO_CHANNELS,
CONFIGURE_POSIX_MUTEXES,
CONFIGURE_POSIX_CONDITION_VARIABLES,
CONFIGURE_MAXIMUM_POSIX_TIMERS,
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS,
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES,
@@ -2822,11 +2840,9 @@ const rtems_libio_helper rtems_fs_init_helper =
#ifdef RTEMS_POSIX_API
/* POSIX API Pieces */
CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES +
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_MUTEXES),
CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_POSIX_MUTEXES ),
CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES(
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES +
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_CONDITION_VARIABLES),
CONFIGURE_POSIX_CONDITION_VARIABLES ),
CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ),
CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(