summaryrefslogtreecommitdiffstats
path: root/doc/user/conf.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-05 12:58:39 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-05 12:58:39 +0000
commit6e583671ace46cfcce235ed65a416c317045b935 (patch)
tree26c9e6c4f32d596d26b935005e70224d1461a7f5 /doc/user/conf.t
parentModifed to avoid using @uref directive since that does not seem (diff)
downloadrtems-6e583671ace46cfcce235ed65a416c317045b935.tar.bz2
Added much information on confdefs.h parameters.
Diffstat (limited to 'doc/user/conf.t')
-rw-r--r--doc/user/conf.t515
1 files changed, 437 insertions, 78 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t
index 17692781c8..4803723412 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -8,11 +8,9 @@
@c The following macros from confdefs.h have not been discussed in this
@c chapter:
@c
-@c CONFIGURE_NEWLIB_EXTENSION
-@c CONFIGURE_MALLOC_REGION
-@c CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
-@c CONFIGURE_LIBIO_SEMAPHORES
-@c CONFIGURE_INIT
+@c CONFIGURE_NEWLIB_EXTENSION - probably not needed
+@c CONFIGURE_MALLOC_REGION - probably not needed
+@c CONFIGURE_LIBIO_SEMAPHORES - implicitly discussed.
@c CONFIGURE_INTERRUPT_STACK_MEMORY
@c CONFIGURE_GNAT_RTEMS
@c CONFIGURE_GNAT_MUTEXES
@@ -45,8 +43,8 @@ a message queue and a time slice of 50 milliseconds is configured:
@example
@group
-#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_MICROSECONDS_PER_TICK 1000 /* 1 millisecond */
#define CONFIGURE_TICKS_PER_TIMESLICE 50 /* 50 milliseconds */
@@ -63,28 +61,93 @@ For each configuration parameter in the configuration tables, the
macro corresponding to that field is discussed. Most systems
can be easily configured using the @code{confdefs.h} mechanism.
+The @code{CONFIGURE_INIT} constant must be defined in order to
+make @code{confdefs.h} instantiate the configuration data
+structures. This can only be defined in one source file per
+application that includes @code{confdefs.h} or the symbol
+table will be instantiated multiple times and linking errors
+produced.
+
The following subsection list all of the constants which can be
set by the user.
@subsection Library Support Definitions
+This section defines the file system and IO library
+related configuration parameters supported by
+@code{confdefs.h}.
+
@itemize @bullet
-@item CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
-@item CONFIGURE_HAS_OWN_MOUNT_TABLE
-@item CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-@item STACK_CHECKER_ON
-@item CONFIGURE_MEMORY_OVERHEAD
-@item CONFIGURE_EXTRA_TASK_STACKS
+@item @code{CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS} is set to the
+maximum number of files that can be concurrently open. Libio requires
+a Classic RTEMS semaphore for each file descriptor as well as one
+global one. The default value is 20 file descriptors.
+
+@item @code{CONFIGURE_HAS_OWN_MOUNT_TABLE} is defined when the
+application provides their own filesystem mount table. The
+mount table is an array of @code{rtems_filesystem_mount_table_t}
+entries pointed to by the global variable
+@code{rtems_filesystem_mount_table}. The number of
+entries in this table is in an integer variable named
+@code{rtems_filesystem_mount_table_t}.
+
+@item @code{CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM} is defined
+if the application wishes to use a minimal functionality subset
+of the In-Memory FileSystem (IMFS). The miniIMFS is comparable
+in functionality to the pseudo-filesystem name space provided
+before RTEMS release 4.5.0. The miniIMFS supports
+only directories and device nodes and is smaller in executable
+code size than the full IMFS. By default, this is not
+defined and the full functionality IMFS is used.
+
+@item @code{STACK_CHECKER_ON} is defined when the application
+wishes to enable run-time stack bounds checking. This increases
+the time required to create tasks as well as adding overhead
+to each context switch. By default, this is not defined and
+thus stack checking is disabled.
+
@end itemize
@subsection Basic System Information
+This section defines the general system configuration parameters supported by
+@code{confdefs.h}.
+
@itemize @bullet
-@item CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
-@item CONFIGURE_INTERRUPT_STACK_MEMORY
-@item CONFIGURE_EXECUTIVE_RAM_WORK_AREA
-@item CONFIGURE_MICROSECONDS_PER_TICK
-@item CONFIGURE_TICKS_PER_TIMESLICE
+@item @code{CONFIGURE_HAS_OWN_CONFIGURATION_TABLE} should only be defined
+if the application is providing their own complete set of configuration
+tables.
+
+@item @code{CONFIGURE_INTERRUPT_STACK_MEMORY} is set to the
+size of the interrupt stack. The interrupt stack size is
+usually set by the BSP but since this memory is allocated
+from the RTEMS Ram Workspace, it must be accounted for. The
+default for this field is RTEMS_MINIMUM_STACK_SIZE.
+
+@item @code{CONFIGURE_EXECUTIVE_RAM_WORK_AREA} is the base
+address of the RTEMS RAM Workspace. By default, this value
+is NULL indicating that the BSP is to determine the location
+of the RTEMS RAM Workspace.
+
+@item @code{CONFIGURE_MICROSECONDS_PER_TICK} is the length
+of time between clock ticks. By default, this is set to
+10000 microseconds.
+
+@item @code{CONFIGURE_TICKS_PER_TIMESLICE} is the number
+of ticks per each task's timeslice. By default, this is
+50.
+
+@item @code{CONFIGURE_MEMORY_OVERHEAD} is set to the number of
+bytes the applications wishes to add to the requirements calculated
+by @code{confdefs.h}. The default value is 0.
+
+@item @code{CONFIGURE_EXTRA_TASK_STACKS} is set to the number of
+bytes the applications wishes to add to the task stack requirements
+calculated by @code{confdefs.h}. This parameter is very important.
+If the application creates tasks with stacks larger then the
+minimum, then that memory is NOT accounted for by @code{confdefs.h}.
+The default value is 0.
+
@end itemize
NOTE: The required size of the Executive RAM Work Area is calculated
@@ -92,101 +155,397 @@ automatically when using the @code{confdefs.h} mechanism.
@subsection Device Driver Table
+This section defines the configuration parameters related
+to the automatic generation of a Device Driver Table. As
+@code{confdefs.h} only is aware of a small set of
+standard device drivers, the generated Device Driver
+Table is suitable for simple applications with no
+custom device drivers.
+
@itemize @bullet
-@item CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
-@item CONFIGURE_HAS_OWN_NUMBER_OF_DEVICES
-@item CONFIGURE_MAXIMUM_DEVICES
-@item CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
-@item CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
-@item CONFIGURE_TEST_NEEDS_STUB_DRIVER
+@item @code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE} is defined if
+the application wishes to provide their own Device Driver Table.
+The table generated is an array of @code{rtems_driver_address_table}
+entries named @code{Device_drivers}. By default, this is not
+defined indicating the @code{confdefs.h} is providing the
+device driver table.
+
+@item @code{CONFIGURE_MAXIMUM_DEVICES} is defined
+to the number of individual devices that may be registered
+in the system. By default, this is set to 20.
+
+@item @code{CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER}
+is defined
+if the application wishes to include the Console Device Driver.
+This device driver is responsible for providing standard input
+and output using "/dev/console". By default, this is not
+defined.
+
+@item @code{CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER}
+is defined
+if the application wishes to include the Console Device Driver.
+This device driver is responsible for providing standard input
+and output using "/dev/console". By default, this is not
+defined.
+
+@item @code{CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER}
+is defined if the application wishes to include the Timer Driver.
+This device driver is used to benchmark execution times
+by the RTEMS Timing Test Suites. By default, this is not
+defined.
+
+@c @item @code{CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER}
+@c is defined
+@c if the application wishes to include the Real-Time Clock Driver.
+@c By default, this is not defined.
+
+@item @code{CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER}
+is defined if the application wishes to include the Stub Device Driver.
+This device driver simply provides entry points that return
+successful and is primarily a test fixture.
+By default, this is not defined.
+
@end itemize
@subsection Multiprocessing Configuration
+This section defines the multiprocessing related
+system configuration parameters supported by @code{confdefs.h}.
+This class of Configuration Constants are only applicable if
+@code{CONFIGURE_MP_APPLICATION} is defined.
+
@itemize @bullet
-@item CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE
-@item CONFIGURE_MP_NODE_NUMBER
-@item CONFIGURE_MP_MAXIMUM_NODES
-@item CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
-@item CONFIGURE_MP_MAXIMUM_PROXIES
-@item CONFIGURE_MP_MPCI_TABLE_POINTER
+@item @code{CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE} is defined
+if the application wishes to provide their own Multiprocessing
+Configuration Table. The generated table is named
+@code{Multiprocessing_configuration}. By default, this
+is not defined.
+
+@item @code{CONFIGURE_MP_NODE_NUMBER} is the node number of
+this node in a multiprocessor system. The default node number
+is @code{NODE_NUMBER} which is set directly in RTEMS test Makefiles.
+
+@item @code{CONFIGURE_MP_MAXIMUM_NODES} is the maximum number
+of nodes in a multiprocessor system. The default is 2.
+
+@item @code{CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS}
+is the maximum number
+of concurrently active global objects in a multiprocessor
+system. The default is 32.
+
+@item @code{CONFIGURE_MP_MAXIMUM_PROXIES} is the maximum number
+of concurrently active thread/task proxies in a multiprocessor
+system. The default is 32.
+
+@item @code{CONFIGURE_MP_MPCI_TABLE_POINTER} is the pointer
+to the MPCI Configuration Table. The default value of
+this field is @code{&MPCI_table}.
@end itemize
@subsection Classic API Configuration
+This section defines the Classic API related
+system configuration parameters supported by @code{confdefs.h}.
+
@itemize @bullet
-@item CONFIGURE_MAXIMUM_TASKS
-@item CONFIGURE_MAXIMUM_TIMERS
-@item CONFIGURE_MAXIMUM_SEMAPHORES
-@item CONFIGURE_MAXIMUM_MESSAGE_QUEUES
-@item CONFIGURE_MAXIMUM_PARTITIONS
-@item CONFIGURE_MAXIMUM_REGIONS
-@item CONFIGURE_MAXIMUM_PORTS
-@item CONFIGURE_MAXIMUM_PERIODS
-@item CONFIGURE_MAXIMUM_USER_EXTENSIONS
+@item @code{CONFIGURE_MAXIMUM_TASKS} is the maximum number of
+Classic API tasks that can be concurrently active.
+The default for this field is 10.
+
+@item @code{CONFIGURE_MAXIMUM_TIMERS} is the maximum number of
+Classic API timers that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_SEMAPHORES} is the maximum number of
+Classic API semaphores that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_MESSAGE_QUEUES} is the maximum number of
+Classic API message queues that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_PARTITIONS} is the maximum number of
+Classic API partitions that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_REGIONS} is the maximum number of
+Classic API regions that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_PORTS} is the maximum number of
+Classic API ports that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_PERIODS} is the maximum number of
+Classic API rate monotonic periods that can be concurrently active.
+The default for this field is 0.
+
+@item @code{CONFIGURE_MAXIMUM_USER_EXTENSIONS} is the maximum number of
+Classic API user extensions that can be concurrently active.
+The default for this field is 0.
+
@end itemize
-@subsection Initialization Tasks Table Configuration
+@subsection Classic API Initialization Tasks Table Configuration
+
+The @code{confdefs.h} configuration system can automatically
+generate an Initialization Tasks Table named
+@code{Initialization_tasks} with a single entry. The following
+parameters control the generation of that table.
@itemize @bullet
-@item CONFIGURE_INIT_TASK_NAME
-@item CONFIGURE_INIT_TASK_STACK_SIZE
-@item CONFIGURE_INIT_TASK_PRIORITY
-@item CONFIGURE_INIT_TASK_ATTRIBUTES
-@item CONFIGURE_INIT_TASK_ENTRY_POINT
-@item CONFIGURE_INIT_TASK_INITIAL_MODES
-@item CONFIGURE_INIT_TASK_ARGUMENTS
+@item @code{CONFIGURE_RTEMS_INIT_TASKS_TABLE} is defined
+if the user wishes to use a Classic RTEMS API Initialization
+Task Table. The application may choose to use the initialization
+tasks or threads table from another API. By default, this
+field is not defined as the user MUST select their own
+API for initialization tasks.
+
+@item @code{CONFIGURE_HAS_OWN_INIT_TASK_TABLE} is defined
+if the user wishes to define their own Classic API Initialization
+Tasks Table. This table should be named @code{Initialization_tasks}.
+By default, this is not defined.
+
+@item @code{CONFIGURE_INIT_TASK_NAME} is the name
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is @code{rtems_build_name( 'U', 'I', '1', ' ' )}.
+
+@item @code{CONFIGURE_INIT_TASK_STACK_SIZE}
+is the stack size
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is @code{RTEMS_MINIMUM_STACK_SIZE}.
+
+@item @code{CONFIGURE_INIT_TASK_PRIORITY}
+is the initial priority
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is 1 which is the highest priority
+in the Classic API.
+
+@item @code{CONFIGURE_INIT_TASK_ATTRIBUTES}
+is the task attributes
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is @code{RTEMS_DEFAULT_ATTRIBUTES}.
+
+@item @code{CONFIGURE_INIT_TASK_ENTRY_POINT}
+is the entry point (a.k.a. function name)
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is @code{Init}.
+
+@item @code{CONFIGURE_INIT_TASK_INITIAL_MODES}
+is the initial execution mode
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is @code{RTEMS_NO_PREEMPT}.
+
+@item @code{CONFIGURE_INIT_TASK_ARGUMENTS}
+is the task argument
+of the single initialization task defined by the
+Classic API Initialization Tasks Table. By default
+the value is 0.
+
@end itemize
@subsection POSIX API Configuration
+The parameters in this section are used to configure resources
+for the RTEMS POSIX API. They are only relevant if the POSIX API
+is enabled at configure time using the @code{--enable-posix} option.
+
@itemize @bullet
-@item CONFIGURE_MAXIMUM_POSIX_THREADS
-@item CONFIGURE_MAXIMUM_POSIX_MUTEXES
-@item CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
-@item CONFIGURE_MAXIMUM_POSIX_KEYS
-@item CONFIGURE_MAXIMUM_POSIX_TIMERS
-@item CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
-@item CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
-@item CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
+@item @code{CONFIGURE_MAXIMUM_POSIX_THREADS} is the maximum number of
+POSIX API threads that can be concurrently active.
+The default is 10.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_MUTEXES} is the maximum number of
+POSIX API mutexes that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES} is the maximum number of
+POSIX API condition variables that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_KEYS} is the maximum number of
+POSIX API keys that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_TIMERS} is the maximum number of
+POSIX API timers that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS} is the maximum number of
+POSIX API queued signals that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES} is the maximum number of
+POSIX API message queues that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_POSIX_SEMAPHORES} is the maximum number of
+POSIX API semaphores that can be concurrently active.
+The default is 0.
+
@end itemize
-@subsection POSIX Initialization Thread Table Configuration
+@subsection POSIX Initialization Threads Table Configuration
+
+The @code{confdefs.h} configuration system can automatically
+generate a POSIX Initialization Threads Table named
+@code{POSIX_Initialization_threads} with a single entry. The following
+parameters control the generation of that table.
@itemize @bullet
-@item CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
-@item CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
+@item @code{CONFIGURE_POSIX_INIT_THREAD_TABLE}
+is defined
+if the user wishes to use a POSIX API Initialization
+Threads Table. The application may choose to use the initialization
+tasks or threads table from another API. By default, this
+field is not defined as the user MUST select their own
+API for initialization tasks.
+
+@item @code{CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE}
+is defined if the user wishes to define their own POSIX API Initialization
+Threads Table. This table should be named @code{POSIX_Initialization_threads}.
+By default, this is not defined.
+
+@item @code{CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT}
+is the entry point (a.k.a. function name)
+of the single initialization thread defined by the
+POSIX API Initialization Threads Table. By default
+the value is @code{POSIX_Init}.
+
+@item @code{CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE}
+is the stack size of the single initialization thread defined by the
+POSIX API Initialization Threads Table. By default
+the value is @code{RTEMS_MINIMUM_STACK_SIZE * 2}.
+
@end itemize
@subsection ITRON API Configuration
+The parameters in this section are used to configure resources
+for the RTEMS ITRON API. They are only relevant if the POSIX API
+is enabled at configure time using the @code{--enable-itron} option.
+
@itemize @bullet
-@item CONFIGURE_MAXIMUM_ITRON_TASKS
-@item CONFIGURE_MAXIMUM_ITRON_SEMAPHORES
-@item CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS
-@item CONFIGURE_MAXIMUM_ITRON_MAILBOXES
-@item CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS
-@item CONFIGURE_MAXIMUM_ITRON_PORTS
-@item CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS
-@item CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS
+@item @code{CONFIGURE_MAXIMUM_ITRON_TASKS}
+is the maximum number of
+ITRON API tasks that can be concurrently active.
+The default is 10.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_SEMAPHORES}
+is the maximum number of
+ITRON API semaphores that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS}
+is the maximum number of
+ITRON API eventflags that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_MAILBOXES}
+is the maximum number of
+ITRON API mailboxes that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS}
+is the maximum number of
+ITRON API message buffers that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_PORTS}
+is the maximum number of
+ITRON API ports that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS}
+is the maximum number of
+ITRON API memory pools that can be concurrently active.
+The default is 0.
+
+@item @code{CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS}
+is the maximum number of
+ITRON API fixed memory pools that can be concurrently active.
+The default is 0.
+
@end itemize
@subsection ITRON Initialization Task Table Configuration
+The @code{confdefs.h} configuration system can automatically
+generate an ITRON Initialization Tasks Table named
+@code{ITRON_Initialization_tasks} with a single entry. The following
+parameters control the generation of that table.
+
@itemize @bullet
-@item CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT
-@item CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES
-@item CONFIGURE_ITRON_INIT_TASK_PRIORITY
-@item CONFIGURE_ITRON_INIT_TASK_STACK_SIZE
-@item CONFIGURE_ITRON_INIT_TASK_STACK_SIZES
+@item @code{CONFIGURE_ITRON_INIT_TASK_TABLE} is defined
+if the user wishes to use a ITRON API Initialization
+Tasks Table. The application may choose to use the initialization
+tasks or threads table from another API. By default, this
+field is not defined as the user MUST select their own
+API for initialization tasks.
+
+@item @code{CONFIGURE_ITRON_HAS_OWN_INIT_TASK_TABLE}
+is defined if the user wishes to define their own ITRON API Initialization
+Tasks Table. This table should be named @code{ITRON_Initialization_tasks}.
+By default, this is not defined.
+
+@item @code{CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT}
+is the entry point (a.k.a. function name)
+of the single initialization task defined by the
+ITRON API Initialization Tasks Table. By default
+the value is @code{ITRON_Init}.
+
+@item @code{CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES}
+is the attribute set
+of the single initialization task defined by the
+ITRON API Initialization Tasks Table. By default
+the value is @code{TA_HLNG}.
+
+@item @code{CONFIGURE_ITRON_INIT_TASK_PRIORITY}
+is the initial priority
+of the single initialization task defined by the
+ITRON API Initialization Tasks Table. By default
+the value is @code{1} which is the highest priority
+in the ITRON API.
+
+@item @code{CONFIGURE_ITRON_INIT_TASK_STACK_SIZE}
+is the stack size of the single initialization task defined by the
+ITRON API Initialization Tasks Table. By default
+the value is @code{RTEMS_MINIMUM_STACK_SIZE}.
+
@end itemize
@subsection Ada Tasks
+This section defines the system configuration parameters supported
+by @code{confdefs.h} related to configuring RTEMS to support
+a task using Ada tasking with GNAT.
+
@itemize @bullet
-@item CONFIGURE_MAXIMUM_ADA_TASKS
-@item CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
+@item @code{CONFIGURE_GNAT_RTEMS} is defined to inform
+RTEMS that the GNAT Ada run-time is to be used by the
+application. This configuration parameter is critical
+as it makes @code{confdefs.h} configure the resources
+(mutexes and keys) used implicitly by the GNAT run-time.
+By default, this parameter is not defined.
+
+@item @code{CONFIGURE_MAXIMUM_ADA_TASKS} is the
+number of Ada tasks that can be concurrently active
+in the system. By default, when @code{CONFIGURE_GNAT_RTEMS}
+is defined, this is set to 20.
+
+@item @code{CONFIGURE_MAXIMUM_FAKE_ADA_TASKS} is
+the number of "fake" Ada tasks that can be concurrently
+active in the system. A "fake" Ada task is a non-Ada
+task that makes calls back into Ada code and thus
+implicitly uses the Ada run-time.
+
@end itemize
@section Configuration Table
@@ -313,11 +672,11 @@ to the following macros:
@itemize @bullet
-@item @code{CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER}
-@item @code{CONFIGURE_TEST_NEEDS_CLOCK_DRIVER}
-@item @code{CONFIGURE_TEST_NEEDS_TIMER_DRIVER}
-@item @code{CONFIGURE_TEST_NEEDS_RTC_DRIVER}
-@item @code{CONFIGURE_TEST_NEEDS_STUB_DRIVER}
+@item @code{CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER}
+@item @code{CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER}
+@item @code{CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER}
+@item @code{CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER}
+@item @code{CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER}
@end itemize