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:
Joel Sherrill
1997-12-23 16:03:43 +00:00
parent ede9a6914b
commit 4f7fd59a87
3 changed files with 33 additions and 36 deletions

View File

@@ -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