forked from Imagelibrary/rtems
2010-07-30 Vinu Rajashekhar <vinutheraj@gmail.com>
* sapi/include/confdefs.h: Add configuration macros for Go requirements.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2010-07-30 Vinu Rajashekhar <vinutheraj@gmail.com>
|
||||
|
||||
* sapi/include/confdefs.h: Add configuration macros for Go
|
||||
requirements.
|
||||
|
||||
2010-07-29 Bharath Suri <bharath.s.jois@gmail.com>
|
||||
|
||||
PR 1620/cpukit
|
||||
|
||||
@@ -1463,9 +1463,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
#endif
|
||||
|
||||
#define CONFIGURE_MEMORY_FOR_POSIX \
|
||||
( CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES ) + \
|
||||
( 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_POSIX_CONDITION_VARIABLES + \
|
||||
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_CONDITION_VARIABLES) + \
|
||||
CONFIGURE_MEMORY_FOR_POSIX_KEYS( CONFIGURE_MAXIMUM_POSIX_KEYS ) + \
|
||||
CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \
|
||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ) + \
|
||||
@@ -1537,6 +1539,39 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
#define CONFIGURE_ADA_TASKS_STACK 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIGURE_ENABLE_GO
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 1
|
||||
#endif
|
||||
#ifndef CONFIGURE_MAXIMUM_POSIX_MUTEXES
|
||||
#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 1
|
||||
#endif
|
||||
#ifndef CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
|
||||
#define CONFIGURE_MAXIMUM_CONDITION_VARIABLES 1
|
||||
#endif
|
||||
|
||||
#define CONFIGURE_GO_INIT_MUTEXES 77
|
||||
#define CONFIGURE_GO_INIT_CONDITION_VARIABLES 4
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_GOROUTINES
|
||||
#define CONFIGURE_MAXIMUM_GOROUTINES 400
|
||||
#endif
|
||||
|
||||
#define CONFIGURE_GOROUTINES_TASK_VARIABLES \
|
||||
(2 * CONFIGURE_MAXIMUM_GOROUTINES)
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_GO_CHANNELS
|
||||
#define CONFIGURE_MAXIMUM_GO_CHANNELS 500
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define CONFIGURE_GO_INIT_MUTEXES 0
|
||||
#define CONFIGURE_GO_INIT_CONDITION_VARIABLES 0
|
||||
#define CONFIGURE_MAXIMUM_GOROUTINES 0
|
||||
#define CONFIGURE_GOROUTINES_TASK_VARIABLES 0
|
||||
#define CONFIGURE_MAXIMUM_GO_CHANNELS 0
|
||||
#endif
|
||||
/**
|
||||
* This macro specifies the amount of memory to be reserved for the
|
||||
* Newlib C Library reentrancy structure -- if we are using newlib.
|
||||
@@ -1736,7 +1771,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
*/
|
||||
#define CONFIGURE_TOTAL_TASKS_AND_THREADS \
|
||||
(CONFIGURE_MAXIMUM_TASKS + \
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS)
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS + \
|
||||
CONFIGURE_MAXIMUM_GOROUTINES)
|
||||
|
||||
/**
|
||||
* This macro reserves the memory required by the statically configured
|
||||
@@ -1754,7 +1790,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
* Classic API as configured.
|
||||
*/
|
||||
#define CONFIGURE_MEMORY_FOR_CLASSIC \
|
||||
(CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES) + \
|
||||
(CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES + \
|
||||
CONFIGURE_GOROUTINES_TASK_VARIABLES) + \
|
||||
CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS + \
|
||||
CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER ) + \
|
||||
CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES) + \
|
||||
@@ -1836,7 +1873,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
|
||||
/* Classic API Pieces */
|
||||
CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS, 0),
|
||||
CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES),
|
||||
CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES +
|
||||
CONFIGURE_GOROUTINES_TASK_VARIABLES),
|
||||
CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS),
|
||||
CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_SEMAPHORES),
|
||||
CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES),
|
||||
@@ -1849,9 +1887,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
|
||||
#ifdef RTEMS_POSIX_API
|
||||
/* POSIX API Pieces */
|
||||
CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES ),
|
||||
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_POSIX_CONDITION_VARIABLES +
|
||||
CONFIGURE_MAXIMUM_GO_CHANNELS + CONFIGURE_GO_INIT_CONDITION_VARIABLES),
|
||||
CONFIGURE_MEMORY_FOR_POSIX_KEYS( CONFIGURE_MAXIMUM_POSIX_KEYS ),
|
||||
CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(
|
||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ),
|
||||
@@ -1878,6 +1918,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
CONFIGURE_MEMORY_FOR_CLASSIC + \
|
||||
CONFIGURE_MEMORY_FOR_POSIX + \
|
||||
(CONFIGURE_MAXIMUM_POSIX_THREADS * CONFIGURE_MINIMUM_TASK_STACK_SIZE ) + \
|
||||
(CONFIGURE_MAXIMUM_GOROUTINES * CONFIGURE_MINIMUM_TASK_STACK_SIZE ) + \
|
||||
CONFIGURE_INITIALIZATION_THREADS_STACKS + \
|
||||
CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS + \
|
||||
CONFIGURE_MEMORY_FOR_MP + \
|
||||
@@ -1911,11 +1952,14 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
* This is the POSIX API Configuration Table.
|
||||
*/
|
||||
posix_api_configuration_table Configuration_POSIX_API = {
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS +
|
||||
CONFIGURE_MAXIMUM_GOROUTINES,
|
||||
CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES +
|
||||
CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS,
|
||||
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_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS +
|
||||
CONFIGURE_GO_INIT_CONDITION_VARIABLES + CONFIGURE_MAXIMUM_GO_CHANNELS,
|
||||
CONFIGURE_MAXIMUM_POSIX_KEYS,
|
||||
CONFIGURE_MAXIMUM_POSIX_TIMERS,
|
||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS,
|
||||
@@ -2035,7 +2079,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
||||
#if !defined(CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION)
|
||||
#if (CONFIGURE_MAXIMUM_TASKS == 0) && \
|
||||
(CONFIGURE_MAXIMUM_POSIX_THREADS == 0) && \
|
||||
(CONFIGURE_MAXIMUM_ADA_TASKS == 0)
|
||||
(CONFIGURE_MAXIMUM_ADA_TASKS == 0) && \
|
||||
(CONFIGURE_MAXIMUM_GOROUTINES == 0)
|
||||
#error "CONFIGURATION ERROR: No tasks or threads configured!!"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user