forked from Imagelibrary/rtems
Added CONFIGURE_GNAT_KEYS to correct the number of keys configured
for GNAT. It was the number of Ada tasks when in fact the run-time only required a single key. Also added the CONFIGURE_MAXIMUM_FAKE_ADA_TASKS constant to account for resources allocated for each non-Ada task/thread which invokes the Ada run-time implicitly through an Ada call.
This commit is contained in:
@@ -411,11 +411,6 @@ posix_initialization_threads_table POSIX_Initialization_threads[] = {
|
||||
#define CONFIGURE_MEMORY_FOR_MP 0
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef CONFIGURE_MEMORY_USER_OVERHEAD
|
||||
#define CONFIGURE_MEMORY_USER_OVERHEAD (96 * 1024)
|
||||
#endif
|
||||
|
||||
#define CONFIGURE_EXECUTIVE_RAM_SIZE \
|
||||
(( CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS) + \
|
||||
CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS) + \
|
||||
@@ -428,12 +423,13 @@ posix_initialization_threads_table POSIX_Initialization_threads[] = {
|
||||
CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(CONFIGURE_MAXIMUM_USER_EXTENSIONS) + \
|
||||
CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \
|
||||
CONFIGURE_MEMORY_FOR_MP + \
|
||||
CONFIGURE_MEMORY_USER_OVERHEAD \
|
||||
(96*1024) \
|
||||
) & 0xffff8000)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIGURE_GNAT_RTEMS
|
||||
#define CONFIGURE_GNAT_MUTEXES 10
|
||||
#define CONFIGURE_GNAT_KEYS 1
|
||||
|
||||
/* 20 are required to run all tests in the ACVC */
|
||||
#ifndef CONFIGURE_MAXIMUM_ADA_TASKS
|
||||
@@ -441,8 +437,10 @@ posix_initialization_threads_table POSIX_Initialization_threads[] = {
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define CONFIGURE_GNAT_MUTEXES 0
|
||||
#define CONFIGURE_MAXIMUM_ADA_TASKS 0
|
||||
#define CONFIGURE_GNAT_MUTEXES 0
|
||||
#define CONFIGURE_GNAT_KEYS 0
|
||||
#define CONFIGURE_MAXIMUM_ADA_TASKS 0
|
||||
#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0
|
||||
#endif
|
||||
|
||||
|
||||
@@ -464,10 +462,11 @@ rtems_api_configuration_table Configuration_RTEMS_API = {
|
||||
#ifdef RTEMS_POSIX_API
|
||||
posix_api_configuration_table Configuration_POSIX_API = {
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_MAXIMUM_ADA_TASKS +
|
||||
CONFIGURE_GNAT_MUTEXES,
|
||||
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES + CONFIGURE_MAXIMUM_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_KEYS + CONFIGURE_MAXIMUM_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES +
|
||||
CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES +
|
||||
CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS,
|
||||
CONFIGURE_MAXIMUM_POSIX_KEYS + CONFIGURE_GNAT_KEYS,
|
||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS,
|
||||
CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE,
|
||||
CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME
|
||||
|
||||
Reference in New Issue
Block a user