summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c-user/ada_support.rst9
-rw-r--r--c-user/barrier_manager.rst29
-rw-r--r--c-user/board_support_packages.rst2
-rw-r--r--c-user/chains.rst118
-rw-r--r--c-user/clock_manager.rst72
-rw-r--r--c-user/configuring_a_system.rst338
-rw-r--r--c-user/constant_bandwidth_server.rst59
-rw-r--r--c-user/cpu_usage_statistics.rst4
-rw-r--r--c-user/directive_status_codes.rst6
-rw-r--r--c-user/dual_ports_memory_manager.rst33
-rw-r--r--c-user/event_manager.rst22
-rw-r--r--c-user/fatal_error.rst39
-rw-r--r--c-user/initialization.rst9
-rw-r--r--c-user/interrupt_manager.rst51
-rw-r--r--c-user/io_manager.rst65
-rw-r--r--c-user/key_concepts.rst45
-rw-r--r--c-user/linker_sets.rst43
-rw-r--r--c-user/message_manager.rst45
-rw-r--r--c-user/multiprocessing.rst30
-rw-r--r--c-user/object_services.rst80
-rw-r--r--c-user/overview.rst8
-rw-r--r--c-user/partition_manager.rst34
-rw-r--r--c-user/pci_library.rst8
-rw-r--r--c-user/rate_monotonic_manager.rst72
-rw-r--r--c-user/red_black_trees.rst8
-rw-r--r--c-user/region_manager.rst47
-rw-r--r--c-user/rtems_data_types.rst3
-rw-r--r--c-user/scheduling_concepts.rst43
-rw-r--r--c-user/semaphore_manager.rst43
-rw-r--r--c-user/signal_manager.rst34
-rw-r--r--c-user/stack_bounds_checker.rst5
-rw-r--r--c-user/symmetric_multiprocessing_services.rst13
-rw-r--r--c-user/task_manager.rst147
-rw-r--r--c-user/timer_manager.rst48
-rw-r--r--c-user/timespec_helpers.rst32
-rw-r--r--c-user/user_extensions.rst61
36 files changed, 920 insertions, 785 deletions
diff --git a/c-user/ada_support.rst b/c-user/ada_support.rst
index b3a61f9..ba7b5b5 100644
--- a/c-user/ada_support.rst
+++ b/c-user/ada_support.rst
@@ -6,11 +6,11 @@
.. _ada_support
+.. index:: Ada
+
Ada Support
************
-.. index:: Ada
-
Introduction
============
RTEMS has long had support for the Ada programming language
@@ -24,7 +24,7 @@ components to this support:
Ada Programming Language Support
================================
-The Ada programming natively supports multi-threaded programming
+The Ada programming natively supports multi-threaded programming
with its own tasking and concurrency model. Native Ada multi-threaded
applications should work using GNAT/RTEMS with no changes.
@@ -90,10 +90,9 @@ to violating assumptions in the GNAT run-time. Specifically a priority
ceiling mutex should never be used from an ISR and it is difficult to
predict when the Ada compiler or run-time will use a mutex.
-RTEMS has two capabilities which can assist in avoiding this problem. The
+RTEMS has two capabilities which can assist in avoiding this problem. The
Classic API Timer Manager allows the creation of Timer Service Routines
which execute in the context of a task rather than the clock tick
Interrupt Service Routine. Similarly, there is support for Interrupt Tasks
which is a mechanism to defer the processing of the event from the
hardware interrupt level to a thread.
-
diff --git a/c-user/barrier_manager.rst b/c-user/barrier_manager.rst
index be40985..8e49ef4 100644
--- a/c-user/barrier_manager.rst
+++ b/c-user/barrier_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: barrier
+
Barrier Manager
***************
-.. index:: barrier
-
Introduction
============
@@ -162,11 +162,12 @@ sequence, related constants, usage, and status codes.
.. _rtems_barrier_create:
-BARRIER_CREATE - Create a barrier
----------------------------------
.. index:: create a barrier
.. index:: rtems_barrier_create
+BARRIER_CREATE - Create a barrier
+---------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -237,12 +238,13 @@ NOTES:
.. _rtems_barrier_ident:
-BARRIER_IDENT - Get ID of a barrier
------------------------------------
.. index:: get ID of a barrier
.. index:: obtain ID of a barrier
.. index:: rtems_barrier_ident
+BARRIER_IDENT - Get ID of a barrier
+-----------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -278,11 +280,12 @@ NOTES:
.. _rtems_barrier_delete:
-BARRIER_DELETE - Delete a barrier
----------------------------------
.. index:: delete a barrier
.. index:: rtems_barrier_delete
+BARRIER_DELETE - Delete a barrier
+---------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -320,12 +323,13 @@ NOTES:
.. _rtems_barrier_wait:
-BARRIER_OBTAIN - Acquire a barrier
-----------------------------------
.. index:: obtain a barrier
.. index:: lock a barrier
.. index:: rtems_barrier_wait
+BARRIER_OBTAIN - Acquire a barrier
+----------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -394,12 +398,13 @@ NOTES:
.. _rtems_barrier_release:
-BARRIER_RELEASE - Release a barrier
------------------------------------
.. index:: wait at a barrier
.. index:: release a barrier
.. index:: rtems_barrier_release
+BARRIER_RELEASE - Release a barrier
+-----------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/board_support_packages.rst b/c-user/board_support_packages.rst
index 9e58632..5d3153f 100644
--- a/c-user/board_support_packages.rst
+++ b/c-user/board_support_packages.rst
@@ -9,10 +9,10 @@ Board Support Packages
.. index:: Board Support Packages
.. index:: BSPs
+.. index:: BSP, definition
Introduction
============
-.. index:: BSP, definition
A board support package (BSP) is a collection of user-provided facilities which
interface RTEMS and an application with a specific hardware platform. These
diff --git a/c-user/chains.rst b/c-user/chains.rst
index 382bc46..73e7980 100644
--- a/c-user/chains.rst
+++ b/c-user/chains.rst
@@ -172,9 +172,10 @@ Add nodes with the following code:
The chain is initialized and the nodes allocated and appended to the
chain. This is an example of a pool of buffers.
+.. index:: chain iterate
+
Iterating a Chain
-----------------
-.. index:: chain iterate
Iterating a chain is a common function. The example shows how to iterate the
buffer pool chain created in the last section to find buffers starting with a
@@ -219,11 +220,12 @@ The section details the Chains directives.
.. _rtems_chain_initialize:
-Initialize Chain With Nodes
----------------------------
.. index:: chain initialize
.. index:: rtems_chain_initialize
+Initialize Chain With Nodes
+---------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -256,11 +258,12 @@ NOTES:
.. _rtems_chain_initialize_empty:
-Initialize Empty
-----------------
.. index:: chain initialize empty
.. index:: rtems_chain_initialize_empty
+Initialize Empty
+----------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -284,11 +287,12 @@ NOTES:
.. _rtems_chain_is_null_node:
-Is Null Node ?
---------------
.. index:: chain is node null
.. index:: rtems_chain_is_null_node
+Is Null Node ?
+--------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -309,11 +313,12 @@ DESCRIPTION:
.. _rtems_chain_head:
-Head
-----
.. index:: chain get head
.. index:: rtems_chain_head
+Head
+----
+
CALLING SEQUENCE:
.. code-block:: c
@@ -333,11 +338,12 @@ DESCRIPTION:
.. _rtems_chain_tail:
-Tail
-----
.. index:: chain get tail
.. index:: rtems_chain_tail
+Tail
+----
+
CALLING SEQUENCE:
.. code-block:: c
@@ -357,11 +363,12 @@ DESCRIPTION:
.. _rtems_chain_are_nodes_equal:
-Are Two Nodes Equal ?
----------------------
.. index:: chare are nodes equal
.. index:: rtems_chain_are_nodes_equal
+Are Two Nodes Equal ?
+---------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -384,11 +391,12 @@ DESCRIPTION:
.. _rtems_chain_is_empty:
-Is the Chain Empty
-------------------
.. index:: chain is chain empty
.. index:: rtems_chain_is_empty
+Is the Chain Empty
+------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -410,11 +418,12 @@ DESCRIPTION:
.. _rtems_chain_is_first:
-Is this the First Node on the Chain ?
--------------------------------------
.. index:: chain is node the first
.. index:: rtems_chain_is_first
+Is this the First Node on the Chain ?
+-------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -436,11 +445,12 @@ DESCRIPTION:
.. _rtems_chain_is_last:
-Is this the Last Node on the Chain ?
-------------------------------------
.. index:: chain is node the last
.. index:: rtems_chain_is_last
+Is this the Last Node on the Chain ?
+------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -462,11 +472,12 @@ DESCRIPTION:
.. _rtems_chain_has_only_one_node:
-Does this Chain have only One Node ?
-------------------------------------
.. index:: chain only one node
.. index:: rtems_chain_has_only_one_node
+Does this Chain have only One Node ?
+------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -488,11 +499,12 @@ DESCRIPTION:
.. _rtems_chain_node_count_unprotected:
-Returns the node count of the chain (unprotected)
--------------------------------------------------
.. index:: chain only one node
.. index:: rtems_chain_node_count_unprotected
+Returns the node count of the chain (unprotected)
+-------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -512,11 +524,12 @@ DESCRIPTION:
.. _rtems_chain_is_head:
-Is this Node the Chain Head ?
------------------------------
.. index:: chain is node the head
.. index:: rtems_chain_is_head
+Is this Node the Chain Head ?
+-----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -539,11 +552,12 @@ DESCRIPTION:
.. _rtems_chain_is_tail:
-Is this Node the Chain Tail ?
------------------------------
.. index:: chain is node the tail
.. index:: rtems_chain_is_tail
+Is this Node the Chain Tail ?
+-----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -566,11 +580,12 @@ DESCRIPTION:
.. _rtems_chain_extract:
-Extract a Node
---------------
.. index:: chain extract a node
.. index:: rtems_chain_extract
+Extract a Node
+--------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -596,11 +611,12 @@ NOTES:
.. _rtems_chain_extract_unprotected:
-Extract a Node (unprotected)
-----------------------------
.. index:: chain extract a node unprotected
.. index:: rtems_chain_extract_unprotected
+Extract a Node (unprotected)
+----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -623,11 +639,12 @@ NOTES:
.. _rtems_chain_get:
-Get the First Node
-------------------
.. index:: chain get first node
.. index:: rtems_chain_get
+Get the First Node
+------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -655,11 +672,12 @@ NOTES:
.. _rtems_chain_get_unprotected:
-Get the First Node (unprotected)
---------------------------------
.. index:: chain get first node
.. index:: rtems_chain_get_unprotected
+Get the First Node (unprotected)
+--------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -683,11 +701,12 @@ NOTES:
.. _rtems_chain_insert:
-Insert a Node
--------------
.. index:: chain insert a node
.. index:: rtems_chain_insert
+Insert a Node
+-------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -715,11 +734,12 @@ NOTES:
.. _rtems_chain_insert_unprotected:
-Insert a Node (unprotected)
----------------------------
.. index:: chain insert a node unprotected
.. index:: rtems_chain_insert_unprotected
+Insert a Node (unprotected)
+---------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -744,11 +764,12 @@ NOTES:
.. _rtems_chain_append:
-Append a Node
--------------
.. index:: chain append a node
.. index:: rtems_chain_append
+Append a Node
+-------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -775,11 +796,12 @@ NOTES:
.. _rtems_chain_append_unprotected:
-Append a Node (unprotected)
----------------------------
.. index:: chain append a node unprotected
.. index:: rtems_chain_append_unprotected
+Append a Node (unprotected)
+---------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -803,11 +825,12 @@ NOTES:
.. _rtems_chain_prepend:
-Prepend a Node
---------------
.. index:: prepend node
.. index:: rtems_chain_prepend
+Prepend a Node
+--------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -834,11 +857,12 @@ NOTES:
.. _rtems_chain_prepend_unprotected:
-Prepend a Node (unprotected)
-----------------------------
.. index:: prepend node unprotected
.. index:: rtems_chain_prepend_unprotected
+Prepend a Node (unprotected)
+----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/clock_manager.rst b/c-user/clock_manager.rst
index 03ab4e0..4a7ee84 100644
--- a/c-user/clock_manager.rst
+++ b/c-user/clock_manager.rst
@@ -92,9 +92,10 @@ field in this data structure is the number of seconds since the POSIX epoch of
*January 1, 1970* but will never be prior to the RTEMS epoch of *January 1,
1988*.
+.. index:: timeslicing
+
Clock Tick and Timeslicing
--------------------------
-.. index:: timeslicing
Timeslicing is a task scheduling discipline in which tasks of equal priority
are executed for a specific period of time before control of the CPU is passed
@@ -111,9 +112,10 @@ running task's time-remaining counter when both timeslicing and preemption are
enabled. If the task's timeslice has expired, then that task will be preempted
if there exists a ready task of equal priority.
+.. index:: delays
+
Delays
------
-.. index:: delays
A sleep timer allows a task to delay for a given interval or up until a given
time, and then wake and continue execution. This type of timer is created
@@ -122,9 +124,10 @@ directives and, as a result, does not have an RTEMS ID. Once activated, a
sleep timer cannot be explicitly deleted. Each task may activate one and only
one sleep timer at a time.
+.. index:: timeouts
+
Timeouts
--------
-.. index:: timeouts
Timeouts are a special type of timer automatically created when the timeout
option is used on the ``rtems_message_queue_receive``, ``rtems_event_receive``,
@@ -183,11 +186,11 @@ RTEMS provides multiple directives which can be used by an application to obtain
Calendar time operations will return an error code if invoked before the date
and time have been set.
+.. index:: rtems_clock_get
+
Transition Advice for the Obsolete rtems_clock_get
--------------------------------------------------
-.. index:: rtems_clock_get
-
The method ``rtems_clock_get`` took an untyped pointer with an
options argument to indicate the time information desired. This has
been replaced with a set of typed directives whose name is of the form
@@ -211,11 +214,12 @@ related constants, usage, and status codes.
.. _rtems_clock_set:
-CLOCK_SET - Set date and time
------------------------------
.. index:: set the time of day
.. index:: rtems_clock_set
+CLOCK_SET - Set date and time
+-----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -260,11 +264,12 @@ NOTES:
.. _rtems_clock_get_tod:
-CLOCK_GET_TOD - Get date and time in TOD format
------------------------------------------------
.. index:: obtain the time of day
.. index:: rtems_clock_get_tod
+CLOCK_GET_TOD - Get date and time in TOD format
+-----------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -303,11 +308,12 @@ NOTES:
.. _rtems_clock_get_tod_timeval:
-CLOCK_GET_TOD_TIMEVAL - Get date and time in timeval format
------------------------------------------------------------
.. index:: obtain the time of day
.. index:: rtems_clock_get_tod_timeval
+CLOCK_GET_TOD_TIMEVAL - Get date and time in timeval format
+-----------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -346,11 +352,12 @@ NOTES:
.. _rtems_clock_get_seconds_since_epoch:
-CLOCK_GET_SECONDS_SINCE_EPOCH - Get seconds since epoch
--------------------------------------------------------
.. index:: obtain seconds since epoch
.. index:: rtems_clock_get_seconds_since_epoch
+CLOCK_GET_SECONDS_SINCE_EPOCH - Get seconds since epoch
+-------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -389,11 +396,12 @@ NOTES:
.. _rtems_clock_get_ticks_per_second:
-CLOCK_GET_TICKS_PER_SECOND - Get ticks per second
--------------------------------------------------
.. index:: obtain seconds since epoch
.. index:: rtems_clock_get_ticks_per_second
+CLOCK_GET_TICKS_PER_SECOND - Get ticks per second
+-------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -418,12 +426,13 @@ NOTES:
.. _rtems_clock_get_ticks_since_boot:
-CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
-------------------------------------------------------------
.. index:: obtain ticks since boot
.. index:: get current ticks counter value
.. index:: rtems_clock_get_ticks_since_boot
+CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
+------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -452,9 +461,10 @@ NOTES:
.. _rtems_clock_tick_later:
+.. index:: rtems_clock_tick_later
+
CLOCK_TICK_LATER - Get tick value in the future
-----------------------------------------------
-.. index:: rtems_clock_tick_later
CALLING SEQUENCE:
.. code-block:: c
@@ -477,9 +487,10 @@ NOTES:
.. _rtems_clock_tick_later_usec:
+.. index:: rtems_clock_tick_later_usec
+
CLOCK_TICK_LATER_USEC - Get tick value in the future in microseconds
--------------------------------------------------------------------
-.. index:: rtems_clock_tick_later_usec
CALLING SEQUENCE:
.. code-block:: c
@@ -502,9 +513,10 @@ NOTES:
.. _rtems_clock_tick_before:
+.. index:: rtems_clock_tick_before
+
CLOCK_TICK_BEFORE - Is tick value is before a point in time
-----------------------------------------------------------
-.. index:: rtems_clock_tick_before
CALLING SEQUENCE:
.. code-block:: c
@@ -542,12 +554,13 @@ EXAMPLE:
.. _rtems_clock_get_uptime:
-CLOCK_GET_UPTIME - Get the time since boot
-------------------------------------------
.. index:: clock get uptime
.. index:: uptime
.. index:: rtems_clock_get_uptime
+CLOCK_GET_UPTIME - Get the time since boot
+------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -577,12 +590,13 @@ NOTES:
.. _rtems_clock_get_uptime_timeval:
-CLOCK_GET_UPTIME_TIMEVAL - Get the time since boot in timeval format
---------------------------------------------------------------------
.. index:: clock get uptime interval
.. index:: uptime
.. index:: rtems_clock_get_uptime_timeval
+CLOCK_GET_UPTIME_TIMEVAL - Get the time since boot in timeval format
+--------------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -607,12 +621,13 @@ NOTES:
.. _rtems_clock_get_uptime_seconds:
-CLOCK_GET_UPTIME_SECONDS - Get the seconds since boot
------------------------------------------------------
.. index:: clock get uptime seconds
.. index:: uptime
.. index:: rtems_clock_get_uptime_seconds
+CLOCK_GET_UPTIME_SECONDS - Get the seconds since boot
+-----------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -633,12 +648,13 @@ NOTES:
.. _rtems_clock_get_uptime_nanoseconds:
-CLOCK_GET_UPTIME_NANOSECONDS - Get the nanoseconds since boot
--------------------------------------------------------------
.. index:: clock get nanoseconds uptime
.. index:: uptime
.. index:: rtems_clock_get_uptime_nanoseconds
+CLOCK_GET_UPTIME_NANOSECONDS - Get the nanoseconds since boot
+-------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/configuring_a_system.rst b/c-user/configuring_a_system.rst
index d507088..dd1ddd8 100644
--- a/c-user/configuring_a_system.rst
+++ b/c-user/configuring_a_system.rst
@@ -6,11 +6,11 @@
.. _Configuring a System:
+.. index:: configuring a system
+
Configuring a System
********************
-.. index:: configuring a system
-
Introduction
============
@@ -400,9 +400,10 @@ largely unpredictable time in the field.
.. _Per Object Class Unlimited Object Instances:
+.. index:: rtems_resource_unlimited
+
Per Object Class Unlimited Object Instances
-------------------------------------------
-.. index:: rtems_resource_unlimited
When the number of objects is not known ahead of time, RTEMS provides an
auto-extending mode that can be enabled individually for each object type by
@@ -442,10 +443,10 @@ responsible for enabling unlimited objects and specifying the allocation size.
.. COMMENT: === CONFIGURE_UNLIMITED_OBJECTS ===
.. _Enable Unlimited Object Instances:
+.. index:: CONFIGURE_UNLIMITED_OBJECTS
Enable Unlimited Object Instances
---------------------------------
-.. index:: CONFIGURE_UNLIMITED_OBJECTS
CONSTANT:
``CONFIGURE_UNLIMITED_OBJECTS``
@@ -517,10 +518,10 @@ supported by ``<rtems/confdefs.h>``.
.. COMMENT: === CONFIGURE_MAXIMUM_TASKS ===
.. _Specify Maximum Classic API Tasks:
+.. index:: CONFIGURE_MAXIMUM_TASKS
Specify Maximum Classic API Tasks
---------------------------------
-.. index:: CONFIGURE_MAXIMUM_TASKS
CONSTANT:
``CONFIGURE_MAXIMUM_TASKS``
@@ -562,10 +563,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_TIMERS ===
.. _Specify Maximum Classic API Timers:
+.. index:: CONFIGURE_MAXIMUM_TIMERS
Specify Maximum Classic API Timers
----------------------------------
-.. index:: CONFIGURE_MAXIMUM_TIMERS
CONSTANT:
``CONFIGURE_MAXIMUM_TIMERS``
@@ -589,10 +590,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_SEMAPHORES ===
.. _Specify Maximum Classic API Semaphores:
+.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
Specify Maximum Classic API Semaphores
--------------------------------------
-.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
CONSTANT:
``CONFIGURE_MAXIMUM_SEMAPHORES``
@@ -616,10 +617,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_MRSP_SEMAPHORES ===
.. _Specify Maximum Classic API Semaphores usable with MrsP:
+.. index:: CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
Specify Maximum Classic API Semaphores usable with MrsP
-------------------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
CONSTANT:
``CONFIGURE_MAXIMUM_MRSP_SEMAPHORES``
@@ -645,10 +646,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_MESSAGE_QUEUES ===
.. _Specify Maximum Classic API Message Queues:
+.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
Specify Maximum Classic API Message Queues
------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
CONSTANT:
``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
@@ -672,10 +673,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_BARRIERS ===
.. _Specify Maximum Classic API Barriers:
+.. index:: CONFIGURE_MAXIMUM_BARRIERS
Specify Maximum Classic API Barriers
------------------------------------
-.. index:: CONFIGURE_MAXIMUM_BARRIERS
CONSTANT:
``CONFIGURE_MAXIMUM_BARRIERS``
@@ -699,10 +700,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_PERIODS ===
.. _Specify Maximum Classic API Periods:
+.. index:: CONFIGURE_MAXIMUM_PERIODS
Specify Maximum Classic API Periods
-----------------------------------
-.. index:: CONFIGURE_MAXIMUM_PERIODS
CONSTANT:
``CONFIGURE_MAXIMUM_PERIODS``
@@ -726,10 +727,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_PARTITIONS ===
.. _Specify Maximum Classic API Partitions:
+.. index:: CONFIGURE_MAXIMUM_PARTITIONS
Specify Maximum Classic API Partitions
--------------------------------------
-.. index:: CONFIGURE_MAXIMUM_PARTITIONS
CONSTANT:
``CONFIGURE_MAXIMUM_PARTITIONS``
@@ -753,10 +754,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_REGIONS ===
.. _Specify Maximum Classic API Regions:
+.. index:: CONFIGURE_MAXIMUM_REGIONS
Specify Maximum Classic API Regions
-----------------------------------
-.. index:: CONFIGURE_MAXIMUM_REGIONS
CONSTANT:
``CONFIGURE_MAXIMUM_REGIONS``
@@ -780,10 +781,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_PORTS ===
.. _Specify Maximum Classic API Ports:
+.. index:: CONFIGURE_MAXIMUM_PORTS
Specify Maximum Classic API Ports
---------------------------------
-.. index:: CONFIGURE_MAXIMUM_PORTS
CONSTANT:
``CONFIGURE_MAXIMUM_PORTS``
@@ -807,10 +808,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_USER_EXTENSIONS ===
.. _Specify Maximum Classic API User Extensions:
+.. index:: CONFIGURE_MAXIMUM_USER_EXTENSIONS
Specify Maximum Classic API User Extensions
-------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_USER_EXTENSIONS
CONSTANT:
``CONFIGURE_MAXIMUM_USER_EXTENSIONS``
@@ -843,10 +844,10 @@ The following parameters control the generation of that table.
.. COMMENT: === CONFIGURE_RTEMS_INIT_TASKS_TABLE ===
.. _Instantiate Classic API Initialization Task Table:
+.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
Instantiate Classic API Initialization Task Table
-------------------------------------------------
-.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
CONSTANT:
``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
@@ -880,10 +881,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_ENTRY_POINT ===
.. _Specifying Classic API Initialization Task Entry Point:
+.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
Specifying Classic API Initialization Task Entry Point
------------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
CONSTANT:
``CONFIGURE_INIT_TASK_ENTRY_POINT``
@@ -909,10 +910,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_NAME ===
.. _Specifying Classic API Initialization Task Name:
+.. index:: CONFIGURE_INIT_TASK_NAME
Specifying Classic API Initialization Task Name
-----------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_NAME
CONSTANT:
``CONFIGURE_INIT_TASK_NAME``
@@ -936,10 +937,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_STACK_SIZE ===
.. _Specifying Classic API Initialization Task Stack Size:
+.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
Specifying Classic API Initialization Task Stack Size
-----------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
CONSTANT:
``CONFIGURE_INIT_TASK_STACK_SIZE``
@@ -966,10 +967,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_PRIORITY ===
.. _Specifying Classic API Initialization Task Priority:
+.. index:: CONFIGURE_INIT_TASK_PRIORITY
Specifying Classic API Initialization Task Priority
---------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_PRIORITY
CONSTANT:
``CONFIGURE_INIT_TASK_PRIORITY``
@@ -993,10 +994,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_ATTRIBUTES ===
.. _Specifying Classic API Initialization Task Attributes:
+.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
Specifying Classic API Initialization Task Attributes
-----------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
CONSTANT:
``CONFIGURE_INIT_TASK_ATTRIBUTES``
@@ -1020,10 +1021,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_INITIAL_MODES ===
.. _Specifying Classic API Initialization Task Modes:
+.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
Specifying Classic API Initialization Task Modes
------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
CONSTANT:
``CONFIGURE_INIT_TASK_INITIAL_MODES``
@@ -1048,10 +1049,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INIT_TASK_ARGUMENTS ===
.. _Specifying Classic API Initialization Task Arguments:
+.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
Specifying Classic API Initialization Task Arguments
----------------------------------------------------
-.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
CONSTANT:
``CONFIGURE_INIT_TASK_ARGUMENTS``
@@ -1075,10 +1076,10 @@ NOTES:
.. COMMENT: === CONFIGURE_HAS_OWN_INIT_TASK_TABLE ===
.. _Not Using Generated Initialization Tasks Table:
+.. index:: CONFIGURE_HAS_OWN_INIT_TASK_TABLE
Not Using Generated Initialization Tasks Table
----------------------------------------------
-.. index:: CONFIGURE_HAS_OWN_INIT_TASK_TABLE
CONSTANT:
``CONFIGURE_HAS_OWN_INIT_TASK_TABLE``
@@ -1113,10 +1114,10 @@ time using the ``--enable-posix`` option.
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_THREADS ===
.. _Specify Maximum POSIX API Threads:
+.. index:: CONFIGURE_MAXIMUM_POSIX_THREADS
Specify Maximum POSIX API Threads
---------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_THREADS
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_THREADS``
@@ -1153,10 +1154,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_KEYS ===
.. _Specify Maximum POSIX API Keys:
+.. index:: CONFIGURE_MAXIMUM_POSIX_KEYS
Specify Maximum POSIX API Keys
------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_KEYS
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_KEYS``
@@ -1182,10 +1183,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_TIMERS ===
.. _Specify Maximum POSIX API Timers:
+.. index:: CONFIGURE_MAXIMUM_POSIX_TIMERS
Specify Maximum POSIX API Timers
--------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_TIMERS
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_TIMERS``
@@ -1209,10 +1210,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ===
.. _Specify Maximum POSIX API Queued Signals:
+.. index:: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
Specify Maximum POSIX API Queued Signals
----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
@@ -1236,10 +1237,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ===
.. _Specify Maximum POSIX API Message Queues:
+.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
Specify Maximum POSIX API Message Queues
----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
@@ -1263,10 +1264,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ===
.. _Specify Maximum POSIX API Semaphores:
+.. index:: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
Specify Maximum POSIX API Named Semaphores
------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
@@ -1302,10 +1303,10 @@ a single entry. The following parameters control the generation of that table.
.. COMMENT: === CONFIGURE_POSIX_INIT_THREAD_TABLE ===
.. _Instantiate POSIX API Initialization Thread Table:
+.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
Instantiate POSIX API Initialization Thread Table
-------------------------------------------------
-.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
CONSTANT:
@@ -1341,10 +1342,10 @@ NOTES:
.. COMMENT: === CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT ===
.. _Specifying POSIX API Initialization Thread Entry Point:
+.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
Specifying POSIX API Initialization Thread Entry Point
------------------------------------------------------
-.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
CONSTANT:
``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``
@@ -1370,10 +1371,10 @@ NOTES:
.. COMMENT: === CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE ===
.. _Specifying POSIX API Initialization Thread Stack Size:
+.. index:: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
Specifying POSIX API Initialization Thread Stack Size
-----------------------------------------------------
-.. index:: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
CONSTANT:
``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``
@@ -1401,10 +1402,10 @@ NOTES:
.. COMMENT: === CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE ===
.. _Not Using Generated POSIX Initialization Threads Table:
+.. index:: CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
Not Using Generated POSIX Initialization Threads Table
------------------------------------------------------
-.. index:: CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
CONSTANT:
``CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE``
@@ -1438,15 +1439,15 @@ This section defines the general system configuration parameters supported by
.. COMMENT: === CONFIGURE_UNIFIED_WORK_AREAS ===
.. _Separate or Unified Work Areas:
-
-Separate or Unified Work Areas
-------------------------------
.. index:: CONFIGURE_UNIFIED_WORK_AREAS
.. index:: unified work areas
.. index:: separate work areas
.. index:: RTEMS Workspace
.. index:: C Program Heap
+Separate or Unified Work Areas
+------------------------------
+
CONSTANT:
``CONFIGURE_UNIFIED_WORK_AREAS``
@@ -1481,10 +1482,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_PROCESSORS ===
.. _CONFIGURE_MAXIMUM_PROCESSORS:
+.. index:: CONFIGURE_MAXIMUM_PROCESSORS
Specify Maximum Processors
----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_PROCESSORS
CONSTANT:
``CONFIGURE_MAXIMUM_PROCESSORS``
@@ -1514,11 +1515,11 @@ NOTES:
.. COMMENT: === CONFIGURE_MICROSECONDS_PER_TICK ===
.. _CONFIGURE_MICROSECONDS_PER_TICK:
+.. index:: CONFIGURE_MICROSECONDS_PER_TICK
+.. index:: tick quantum
Length of Each Clock Tick
-------------------------
-.. index:: CONFIGURE_MICROSECONDS_PER_TICK
-.. index:: tick quantum
CONSTANT:
``CONFIGURE_MICROSECONDS_PER_TICK``
@@ -1561,11 +1562,11 @@ NOTES:
.. COMMENT: === CONFIGURE_TICKS_PER_TIMESLICE ===
.. _Specifying Timeslicing Quantum:
+.. index:: CONFIGURE_TICKS_PER_TIMESLICE
+.. index:: ticks per timeslice
Specifying Timeslicing Quantum
------------------------------
-.. index:: CONFIGURE_TICKS_PER_TIMESLICE
-.. index:: ticks per timeslice
CONSTANT:
``CONFIGURE_TICKS_PER_TIMESLICE``
@@ -1590,13 +1591,13 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_PRIORITY ===
.. _Specifying the Number of Thread Priority Levels:
-
-Specifying the Number of Thread Priority Levels
------------------------------------------------
.. index:: CONFIGURE_MAXIMUM_PRIORITY
.. index:: maximum priority
.. index:: number of priority levels
+Specifying the Number of Thread Priority Levels
+-----------------------------------------------
+
CONSTANT:
``CONFIGURE_MAXIMUM_PRIORITY``
@@ -1637,11 +1638,11 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_THREAD_NAME_SIZE ===
.. _CONFIGURE_MAXIMUM_THREAD_NAME_SIZE:
+.. index:: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
+.. index:: maximum thread name size
Specifying the Maximum Thread Name Size
---------------------------------------
-.. index:: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
-.. index:: maximum thread name size
CONSTANT:
``CONFIGURE_MAXIMUM_THREAD_NAME_SIZE``
@@ -1668,11 +1669,11 @@ NOTE:
.. COMMENT: === CONFIGURE_MINIMUM_TASK_STACK_SIZE ===
.. _Specifying the Minimum Task Size:
+.. index:: CONFIGURE_MINIMUM_TASK_STACK_SIZE
+.. index:: minimum task stack size
Specifying the Minimum Task Size
--------------------------------
-.. index:: CONFIGURE_MINIMUM_TASK_STACK_SIZE
-.. index:: minimum task stack size
CONSTANT:
``CONFIGURE_MINIMUM_TASK_STACK_SIZE``
@@ -1707,11 +1708,11 @@ NOTES:
.. COMMENT: === CONFIGURE_INTERRUPT_STACK_SIZE ===
.. _Configuring the Size of the Interrupt Stack:
+.. index:: CONFIGURE_INTERRUPT_STACK_SIZE
+.. index:: interrupt stack size
Configuring the Size of the Interrupt Stack
-------------------------------------------
-.. index:: CONFIGURE_INTERRUPT_STACK_SIZE
-.. index:: interrupt stack size
CONSTANT:
``CONFIGURE_INTERRUPT_STACK_SIZE``
@@ -1742,11 +1743,11 @@ NOTES:
.. COMMENT: === CONFIGURE_EXTRA_TASK_STACKS ===
.. _Reserve Task/Thread Stack Memory Above Minimum:
+.. index:: CONFIGURE_EXTRA_TASK_STACKS
+.. index:: memory for task tasks
Reserve Task/Thread Stack Memory Above Minimum
----------------------------------------------
-.. index:: CONFIGURE_EXTRA_TASK_STACKS
-.. index:: memory for task tasks
CONSTANT:
``CONFIGURE_EXTRA_TASK_STACKS``
@@ -1773,15 +1774,15 @@ NOTES:
.. COMMENT: === CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY ===
.. _Automatically Zeroing the RTEMS Workspace and C Program Heap:
-
-Automatically Zeroing the RTEMS Workspace and C Program Heap
-------------------------------------------------------------
.. index:: CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
.. index:: clear C Program Heap
.. index:: clear RTEMS Workspace
.. index:: zero C Program Heap
.. index:: zero RTEMS Workspace
+Automatically Zeroing the RTEMS Workspace and C Program Heap
+------------------------------------------------------------
+
CONSTANT:
``CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY``
@@ -1807,10 +1808,10 @@ NOTES:
.. COMMENT: === CONFIGURE_STACK_CHECKER_ENABLED ===
.. _Enable The Task Stack Usage Checker:
+.. index:: CONFIGURE_STACK_CHECKER_ENABLED
Enable The Task Stack Usage Checker
-----------------------------------
-.. index:: CONFIGURE_STACK_CHECKER_ENABLED
CONSTANT:
``CONFIGURE_STACK_CHECKER_ENABLED``
@@ -1837,10 +1838,10 @@ NOTES:
.. COMMENT: === CONFIGURE_INITIAL_EXTENSIONS ===
.. _CONFIGURE_INITIAL_EXTENSIONS:
+.. index:: CONFIGURE_INITIAL_EXTENSIONS
Specify Application Specific User Extensions
--------------------------------------------
-.. index:: CONFIGURE_INITIAL_EXTENSIONS
CONSTANT:
``CONFIGURE_INITIAL_EXTENSIONS``
@@ -1875,10 +1876,10 @@ overflows are detected in hardware.
.. COMMENT: === CONFIGURE_TASK_STACK_ALLOCATOR_INIT ===
.. _Custom Task Stack Allocator Initialization:
+.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
Custom Task Stack Allocator Initialization
------------------------------------------
-.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
@@ -1910,12 +1911,11 @@ NOTES:
.. COMMENT: === CONFIGURE_TASK_STACK_ALLOCATOR ===
.. _Custom Task Stack Allocator:
+.. index:: CONFIGURE_TASK_STACK_ALLOCATOR
+.. index:: task stack allocator
Custom Task Stack Allocator
---------------------------
-.. index:: CONFIGURE_TASK_STACK_ALLOCATOR
-
-.. index:: task stack allocator
CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR``
@@ -1946,11 +1946,11 @@ NOTES:
.. COMMENT: === CONFIGURE_TASK_STACK_DEALLOCATOR ===
.. _Custom Task Stack Deallocator:
+.. index:: CONFIGURE_TASK_STACK_DEALLOCATOR
+.. index:: task stack deallocator
Custom Task Stack Deallocator
-----------------------------
-.. index:: CONFIGURE_TASK_STACK_DEALLOCATOR
-.. index:: task stack deallocator
CONSTANT:
``CONFIGURE_TASK_STACK_DEALLOCATOR``
@@ -1989,11 +1989,11 @@ amount of memory reserved for Classic API Message Buffers.
.. COMMENT: === CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE ===
.. _Calculate Memory for a Single Classic Message API Message Queue:
+.. index:: CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
+.. index:: memory for a single message queue's buffers
Calculate Memory for a Single Classic Message API Message Queue
---------------------------------------------------------------
-.. index:: CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
-.. index:: memory for a single message queue's buffers
CONSTANT:
``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(max_messages, size_per)``
@@ -2029,11 +2029,11 @@ NOTES:
.. COMMENT: === CONFIGURE_MESSAGE_BUFFER_MEMORY ===
.. _Reserve Memory for All Classic Message API Message Queues:
+.. index:: CONFIGURE_MESSAGE_BUFFER_MEMORY
+.. index:: configure message queue buffer memory
Reserve Memory for All Classic Message API Message Queues
---------------------------------------------------------
-.. index:: CONFIGURE_MESSAGE_BUFFER_MEMORY
-.. index:: configure message queue buffer memory
CONSTANT:
``CONFIGURE_MESSAGE_BUFFER_MEMORY``
@@ -2084,10 +2084,10 @@ work-arounds when the memory estimated by ``<rtems/confdefs.h>`` is incorrect.
.. COMMENT: === CONFIGURE_MEMORY_OVERHEAD ===
.. _Specify Memory Overhead:
+.. index:: CONFIGURE_MEMORY_OVERHEAD
Specify Memory Overhead
-----------------------
-.. index:: CONFIGURE_MEMORY_OVERHEAD
CONSTANT:
``CONFIGURE_MEMORY_OVERHEAD``
@@ -2114,10 +2114,10 @@ NOTES:
.. COMMENT: === CONFIGURE_HAS_OWN_CONFIGURATION_TABLE ===
.. _Do Not Generate Configuration Information:
+.. index:: CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
Do Not Generate Configuration Information
-----------------------------------------
-.. index:: CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
CONSTANT:
``CONFIGURE_HAS_OWN_CONFIGURATION_TABLE``
@@ -2149,11 +2149,11 @@ parameters supported by ``<rtems/confdefs.h>``.
.. COMMENT: === CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS ===
.. _Specify Maximum Number of File Descriptors:
+.. index:: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
+.. index:: maximum file descriptors
Specify Maximum Number of File Descriptors
------------------------------------------
-.. index:: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
-.. index:: maximum file descriptors
CONSTANT:
``CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS``
@@ -2180,10 +2180,10 @@ NOTES:
.. COMMENT: === CONFIGURE_TERMIOS_DISABLED ===
.. _Disable POSIX Termios Support:
+.. index:: CONFIGURE_TERMIOS_DISABLED
Disable POSIX Termios Support
-----------------------------
-.. index:: CONFIGURE_TERMIOS_DISABLED
CONSTANT:
``CONFIGURE_TERMIOS_DISABLED``
@@ -2210,10 +2210,10 @@ NOTES:
.. COMMENT: === CONFIGURE_NUMBER_OF_TERMIOS_PORTS ===
.. _Specify Maximum Termios Ports:
+.. index:: CONFIGURE_NUMBER_OF_TERMIOS_PORTS
Specify Maximum Termios Ports
-----------------------------
-.. index:: CONFIGURE_NUMBER_OF_TERMIOS_PORTS
CONSTANT:
``CONFIGURE_NUMBER_OF_TERMIOS_PORTS``
@@ -2248,10 +2248,10 @@ This section defines File System related configuration parameters.
.. COMMENT: === CONFIGURE_HAS_OWN_MOUNT_TABLE ===
.. _Providing Application Specific Mount Table:
+.. index:: CONFIGURE_HAS_OWN_MOUNT_TABLE
Providing Application Specific Mount Table
------------------------------------------
-.. index:: CONFIGURE_HAS_OWN_MOUNT_TABLE
CONSTANT:
``CONFIGURE_HAS_OWN_MOUNT_TABLE``
@@ -2282,10 +2282,10 @@ NOTES:
.. COMMENT: === CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM ===
.. _Configure devFS as Root File System:
+.. index:: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
Configure devFS as Root File System
-----------------------------------
-.. index:: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
CONSTANT:
``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM``
@@ -2314,10 +2314,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_DEVICES ===
.. _Specifying Maximum Devices for devFS:
+.. index:: CONFIGURE_MAXIMUM_DEVICES
Specifying Maximum Devices for devFS
------------------------------------
-.. index:: CONFIGURE_MAXIMUM_DEVICES
CONSTANT:
``CONFIGURE_MAXIMUM_DEVICES``
@@ -2345,10 +2345,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_DISABLE_FILESYSTEM ===
.. _Disable File System Support:
+.. index:: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
Disable File System Support
---------------------------
-.. index:: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
CONSTANT:
``CONFIGURE_APPLICATION_DISABLE_FILESYSTEM``
@@ -2374,10 +2374,10 @@ NOTES:
.. COMMENT: === CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM ===
.. _Use a Root IMFS with a Minimalistic Feature Set:
+.. index:: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
Use a Root IMFS with a Minimalistic Feature Set
-----------------------------------------------
-.. index:: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
CONSTANT:
``CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM``
@@ -2414,10 +2414,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK ===
.. _Specify Block Size for IMFS:
+.. index:: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
Specify Block Size for IMFS
---------------------------
-.. index:: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
CONSTANT:
``CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK``
@@ -2464,10 +2464,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_CHOWN ===
.. _Disable Change Owner Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_CHOWN
Disable Change Owner Support of Root IMFS
-----------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_CHOWN
CONSTANT:
``CONFIGURE_IMFS_DISABLE_CHOWN``
@@ -2488,10 +2488,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_CHMOD ===
.. _Disable Change Mode Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_CHMOD
Disable Change Mode Support of Root IMFS
----------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_CHMOD
CONSTANT:
``CONFIGURE_IMFS_DISABLE_CHMOD``
@@ -2512,10 +2512,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_UTIME ===
.. _Disable Change Times Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_UTIME
Disable Change Times Support of Root IMFS
-----------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_UTIME
CONSTANT:
``CONFIGURE_IMFS_DISABLE_UTIME``
@@ -2536,10 +2536,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_LINK ===
.. _Disable Create Hard Link Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_LINK
Disable Create Hard Link Support of Root IMFS
---------------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_LINK
CONSTANT:
``CONFIGURE_IMFS_DISABLE_LINK``
@@ -2560,10 +2560,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_SYMLINK ===
.. _Disable Create Symbolic Link Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_SYMLINK
Disable Create Symbolic Link Support of Root IMFS
-------------------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_SYMLINK
CONSTANT:
``CONFIGURE_IMFS_DISABLE_SYMLINK``
@@ -2584,10 +2584,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_READLINK ===
.. _Disable Read Symbolic Link Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_READLINK
Disable Read Symbolic Link Support of Root IMFS
-----------------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_READLINK
CONSTANT:
``CONFIGURE_IMFS_DISABLE_READLINK``
@@ -2608,10 +2608,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_RENAME ===
.. _Disable Rename Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_RENAME
Disable Rename Support of Root IMFS
-----------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_RENAME
CONSTANT:
``CONFIGURE_IMFS_DISABLE_RENAME``
@@ -2632,10 +2632,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_READDIR ===
.. _Disable Directory Read Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_READDIR
Disable Directory Read Support of Root IMFS
-------------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_READDIR
CONSTANT:
``CONFIGURE_IMFS_DISABLE_READDIR``
@@ -2657,10 +2657,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_MOUNT ===
.. _Disable Mount Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_MOUNT
Disable Mount Support of Root IMFS
----------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_MOUNT
CONSTANT:
``CONFIGURE_IMFS_DISABLE_MOUNT``
@@ -2681,10 +2681,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_UNMOUNT ===
.. _Disable Unmount Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_UNMOUNT
Disable Unmount Support of Root IMFS
------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_UNMOUNT
CONSTANT:
``CONFIGURE_IMFS_DISABLE_UNMOUNT``
@@ -2705,10 +2705,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_MKNOD ===
.. _Disable Make Nodes Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_MKNOD
Disable Make Nodes Support of Root IMFS
---------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_MKNOD
CONSTANT:
``CONFIGURE_IMFS_DISABLE_MKNOD``
@@ -2729,10 +2729,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_MKNOD_FILE ===
.. _Disable Make Files Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
Disable Make Files Support of Root IMFS
---------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
CONSTANT:
``CONFIGURE_IMFS_DISABLE_MKNOD_FILE``
@@ -2753,10 +2753,10 @@ DESCRIPTION:
.. COMMENT: === CONFIGURE_IMFS_DISABLE_RMNOD ===
.. _Disable Remove Nodes Support of Root IMFS:
+.. index:: CONFIGURE_IMFS_DISABLE_RMNOD
Disable Remove Nodes Support of Root IMFS
-----------------------------------------
-.. index:: CONFIGURE_IMFS_DISABLE_RMNOD
CONSTANT:
``CONFIGURE_IMFS_DISABLE_RMNOD``
@@ -2785,10 +2785,10 @@ parameters.
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_LIBBLOCK ===
.. _Enable Block Device Cache:
+.. index:: CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
Enable Block Device Cache
-------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_LIBBLOCK``
@@ -2813,10 +2813,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_CACHE_MEMORY_SIZE ===
.. _Size of the Cache Memory:
+.. index:: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
Size of the Cache Memory
------------------------
-.. index:: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
CONSTANT:
``CONFIGURE_BDBUF_CACHE_MEMORY_SIZE``
@@ -2839,10 +2839,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_BUFFER_MIN_SIZE ===
.. _Minimum Size of a Buffer:
+.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
Minimum Size of a Buffer
------------------------
-.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
CONSTANT:
``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
@@ -2865,10 +2865,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_BUFFER_MAX_SIZE ===
.. _Maximum Size of a Buffer:
+.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
Maximum Size of a Buffer
------------------------
-.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
CONSTANT:
``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
@@ -2891,10 +2891,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SWAPOUT_SWAP_PERIOD ===
.. _Swapout Task Swap Period:
+.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD
Swapout Task Swap Period
------------------------
-.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD
CONSTANT:
``CONFIGURE_SWAPOUT_SWAP_PERIOD``
@@ -2917,10 +2917,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SWAPOUT_BLOCK_HOLD ===
.. _Swapout Task Maximum Block Hold Time:
+.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD
Swapout Task Maximum Block Hold Time
------------------------------------
-.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD
CONSTANT:
``CONFIGURE_SWAPOUT_BLOCK_HOLD``
@@ -2943,10 +2943,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SWAPOUT_TASK_PRIORITY ===
.. _Swapout Task Priority:
+.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY
Swapout Task Priority
---------------------
-.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY
CONSTANT:
``CONFIGURE_SWAPOUT_TASK_PRIORITY``
@@ -2969,10 +2969,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS ===
.. _Maximum Blocks per Read-Ahead Request:
+.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
Maximum Blocks per Read-Ahead Request
-------------------------------------
-.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
CONSTANT:
``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
@@ -2997,10 +2997,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_MAX_WRITE_BLOCKS ===
.. _Maximum Blocks per Write Request:
+.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
Maximum Blocks per Write Request
--------------------------------
-.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
CONSTANT:
``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
@@ -3023,10 +3023,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_TASK_STACK_SIZE ===
.. _Task Stack Size of the Block Device Cache Tasks:
+.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE
Task Stack Size of the Block Device Cache Tasks
-----------------------------------------------
-.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE
CONSTANT:
``CONFIGURE_BDBUF_TASK_STACK_SIZE``
@@ -3049,10 +3049,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY ===
.. _Read-Ahead Task Priority:
+.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
Read-Ahead Task Priority
------------------------
-.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
CONSTANT:
``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
@@ -3075,10 +3075,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SWAPOUT_WORKER_TASKS ===
.. _Swapout Worker Task Count:
+.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS
Swapout Worker Task Count
-------------------------
-.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS
CONSTANT:
``CONFIGURE_SWAPOUT_WORKER_TASKS``
@@ -3101,10 +3101,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY ===
.. _Swapout Worker Task Priority:
+.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
Swapout Worker Task Priority
----------------------------
-.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
CONSTANT:
``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
@@ -3136,10 +3136,10 @@ This section describes BSP specific configuration settings used by
.. COMMENT: === Disable BSP Settings ===
.. _Disable BSP Configuration Settings:
+.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
Disable BSP Configuration Settings
----------------------------------
-.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
CONSTANT:
``CONFIGURE_DISABLE_BSP_SETTINGS``
@@ -3163,10 +3163,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK ===
.. _Specify BSP Supports sbrk():
+.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
Specify BSP Supports sbrk()
---------------------------
-.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
CONSTANT:
``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
@@ -3195,10 +3195,10 @@ NOTES:
.. COMMENT: === BSP_IDLE_TASK_BODY ===
.. _Specify BSP Specific Idle Task:
+.. index:: BSP_IDLE_TASK_BODY
Specify BSP Specific Idle Task
------------------------------
-.. index:: BSP_IDLE_TASK_BODY
CONSTANT:
``BSP_IDLE_TASK_BODY``
@@ -3225,10 +3225,10 @@ NOTES:
.. COMMENT: === BSP_IDLE_TASK_STACK_SIZE ===
.. _Specify BSP Suggested Value for IDLE Task Stack Size:
+.. index:: BSP_IDLE_TASK_STACK_SIZE
Specify BSP Suggested Value for IDLE Task Stack Size
----------------------------------------------------
-.. index:: BSP_IDLE_TASK_STACK_SIZE
CONSTANT:
``BSP_IDLE_TASK_STACK_SIZE``
@@ -3263,10 +3263,10 @@ NOTES:
.. COMMENT: === BSP_INITIAL_EXTENSION ===
.. _Specify BSP Specific User Extensions:
+.. index:: BSP_INITIAL_EXTENSION
Specify BSP Specific User Extensions
------------------------------------
-.. index:: BSP_INITIAL_EXTENSION
CONSTANT:
``BSP_INITIAL_EXTENSION``
@@ -3291,10 +3291,10 @@ NOTES:
.. COMMENT: === BSP_INTERRUPT_STACK_SIZE ===
.. _Specifying BSP Specific Interrupt Stack Size:
+.. index:: BSP_INTERRUPT_STACK_SIZE
Specifying BSP Specific Interrupt Stack Size
--------------------------------------------
-.. index:: BSP_INTERRUPT_STACK_SIZE
CONSTANT:
``BSP_INTERRUPT_STACK_SIZE``
@@ -3319,10 +3319,10 @@ NOTES:
.. COMMENT: === BSP_MAXIMUM_DEVICES ===
.. _Specifying BSP Specific Maximum Devices:
+.. index:: BSP_MAXIMUM_DEVICES
Specifying BSP Specific Maximum Devices
---------------------------------------
-.. index:: BSP_MAXIMUM_DEVICES
CONSTANT:
``BSP_MAXIMUM_DEVICES``
@@ -3350,10 +3350,10 @@ NOTES:
.. COMMENT: === BSP_ZERO_WORKSPACE_AUTOMATICALLY ===
.. _BSP Recommends RTEMS Workspace be Cleared:
+.. index:: BSP_ZERO_WORKSPACE_AUTOMATICALLY
BSP Recommends RTEMS Workspace be Cleared
-----------------------------------------
-.. index:: BSP_ZERO_WORKSPACE_AUTOMATICALLY
CONSTANT:
``BSP_ZERO_WORKSPACE_AUTOMATICALLY``
@@ -3379,10 +3379,10 @@ NOTES:
.. COMMENT: === CONFIGURE_BSP_PREREQUISITE_DRIVERS ===
.. _Specify BSP Prerequisite Drivers:
+.. index:: CONFIGURE_BSP_PREREQUISITE_DRIVERS
Specify BSP Prerequisite Drivers
--------------------------------
-.. index:: CONFIGURE_BSP_PREREQUISITE_DRIVERS
CONSTANT:
``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
@@ -3419,10 +3419,10 @@ by ``<rtems/confdefs.h>``.
.. COMMENT: === CONFIGURE_IDLE_TASK_BODY ===
.. _Specify Application Specific Idle Task Body:
+.. index:: CONFIGURE_IDLE_TASK_BODY
Specify Application Specific Idle Task Body
-------------------------------------------
-.. index:: CONFIGURE_IDLE_TASK_BODY
CONSTANT:
``CONFIGURE_IDLE_TASK_BODY``
@@ -3447,10 +3447,10 @@ NOTES:
.. COMMENT: === CONFIGURE_IDLE_TASK_STACK_SIZE ===
.. _Specify Idle Task Stack Size:
+.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE
Specify Idle Task Stack Size
----------------------------
-.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE
CONSTANT:
``CONFIGURE_IDLE_TASK_STACK_SIZE``
@@ -3474,10 +3474,10 @@ NOTES:
.. COMMENT: === CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION ===
.. _Specify Idle Task Performs Application Initialization:
+.. index:: CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
Specify Idle Task Performs Application Initialization
-----------------------------------------------------
-.. index:: CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
CONSTANT:
``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
@@ -3524,10 +3524,10 @@ configuration macros.
.. COMMENT: === CONFIGURE_SCHEDULER_PRIORITY ===
.. _Use Deterministic Priority Scheduler:
+.. index:: CONFIGURE_SCHEDULER_PRIORITY
Use Deterministic Priority Scheduler
------------------------------------
-.. index:: CONFIGURE_SCHEDULER_PRIORITY
CONSTANT:
``CONFIGURE_SCHEDULER_PRIORITY``
@@ -3557,10 +3557,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_SIMPLE ===
.. _Use Simple Priority Scheduler:
+.. index:: CONFIGURE_SCHEDULER_SIMPLE
Use Simple Priority Scheduler
-----------------------------
-.. index:: CONFIGURE_SCHEDULER_SIMPLE
CONSTANT:
``CONFIGURE_SCHEDULER_SIMPLE``
@@ -3592,10 +3592,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_EDF ===
.. _Use Earliest Deadline First Scheduler:
+.. index:: CONFIGURE_SCHEDULER_EDF
Use Earliest Deadline First Scheduler
-------------------------------------
-.. index:: CONFIGURE_SCHEDULER_EDF
CONSTANT:
``CONFIGURE_SCHEDULER_EDF``
@@ -3629,10 +3629,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_EDF_SMP ===
.. _Use Earliest Deadline First SMP Scheduler:
+.. index:: CONFIGURE_SCHEDULER_EDF_SMP
Use Earliest Deadline First Scheduler
-------------------------------------
-.. index:: CONFIGURE_SCHEDULER_EDF_SMP
CONSTANT:
``CONFIGURE_SCHEDULER_EDF_SMP``
@@ -3656,10 +3656,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_CBS ===
.. _Use Constant Bandwidth Server Scheduler:
+.. index:: CONFIGURE_SCHEDULER_CBS
Use Constant Bandwidth Server Scheduler
---------------------------------------
-.. index:: CONFIGURE_SCHEDULER_CBS
CONSTANT:
``CONFIGURE_SCHEDULER_CBS``
@@ -3691,10 +3691,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_PRIORITY_SMP ===
.. _Use Deterministic Priority SMP Scheduler:
+.. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
Use Deterministic Priority SMP Scheduler
----------------------------------------
-.. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
CONSTANT:
``CONFIGURE_SCHEDULER_PRIORITY_SMP``
@@ -3726,10 +3726,10 @@ NOTES:
.. COMMENT: === CONFIGURE_SCHEDULER_SIMPLE_SMP ===
.. _Use Simple SMP Priority Scheduler:
+.. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
Use Simple SMP Priority Scheduler
---------------------------------
-.. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
CONSTANT:
``CONFIGURE_SCHEDULER_SIMPLE_SMP``
@@ -3767,10 +3767,10 @@ NOTES:
.. COMMENT: === Configuring a Scheduler Name ===
.. _Configuring a Scheduler Name:
+.. index:: CONFIGURE_SCHEDULER_NAME
Configuring a Scheduler Name
----------------------------
-.. index:: CONFIGURE_SCHEDULER_NAME
CONSTANT:
``CONFIGURE_SCHEDULER_NAME``
@@ -3801,10 +3801,10 @@ NOTES:
.. COMMENT: === Configuring a User Scheduler ===
.. _Configuring a User Provided Scheduler:
+.. index:: CONFIGURE_SCHEDULER_USER
Configuring a User Provided Scheduler
-------------------------------------
-.. index:: CONFIGURE_SCHEDULER_USER
CONSTANT:
``CONFIGURE_SCHEDULER_USER``
@@ -4030,10 +4030,10 @@ Note that network device drivers are not configured in the Device Driver Table.
.. COMMENT: === CONFIGURE_MAXIMUM_DRIVERS ===
.. _Specifying the Maximum Number of Device Drivers:
+.. index:: CONFIGURE_MAXIMUM_DRIVERS
Specifying the Maximum Number of Device Drivers
-----------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_DRIVERS
CONSTANT:
@@ -4064,10 +4064,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER ===
.. _Enable Console Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
Enable Console Device Driver
----------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``
@@ -4095,10 +4095,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER ===
.. _Enable Clock Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
Enable Clock Driver
-------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
@@ -4128,10 +4128,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER ===
.. _Enable the Benchmark Timer Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
Enable the Benchmark Timer Driver
---------------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
@@ -4159,10 +4159,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER ===
.. _Specify Clock and Benchmark Timer Drivers Are Not Needed:
+.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
Specify Clock and Benchmark Timer Drivers Are Not Needed
--------------------------------------------------------
-.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
@@ -4190,10 +4190,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER ===
.. _Enable Real-Time Clock Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
Enable Real-Time Clock Driver
-----------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
@@ -4221,10 +4221,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER ===
.. _Enable the Watchdog Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
Enable the Watchdog Device Driver
---------------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
@@ -4252,10 +4252,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER ===
.. _Enable the Graphics Frame Buffer Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
Enable the Graphics Frame Buffer Device Driver
----------------------------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
@@ -4283,10 +4283,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER ===
.. _Enable Stub Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
Enable Stub Device Driver
-------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
@@ -4311,10 +4311,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS ===
.. _Specify Application Prerequisite Device Drivers:
+.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
Specify Application Prerequisite Device Drivers
-----------------------------------------------
-.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
CONSTANT:
``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
@@ -4347,10 +4347,10 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_EXTRA_DRIVERS ===
.. _Specify Extra Application Device Drivers:
+.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
Specify Extra Application Device Drivers
----------------------------------------
-.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
CONSTANT:
``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
@@ -4376,11 +4376,11 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER ===
.. _Enable /dev/null Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
+.. index:: /dev/null
Enable /dev/null Device Driver
------------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
-.. index:: /dev/null
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
@@ -4403,11 +4403,11 @@ NOTES:
.. COMMENT: === CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER ===
.. _Enable /dev/zero Device Driver:
+.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
+.. index:: /dev/zero
Enable /dev/zero Device Driver
------------------------------
-.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
-.. index:: /dev/zero
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
@@ -4430,10 +4430,10 @@ NOTES:
.. COMMENT: === CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE ===
.. _Specifying Application Defined Device Driver Table:
+.. index:: CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
Specifying Application Defined Device Driver Table
--------------------------------------------------
-.. index:: CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
CONSTANT:
``CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE``
@@ -4476,10 +4476,10 @@ Additionally, this class of Configuration Constants are only applicable if
.. COMMENT: === CONFIGURE_MP_APPLICATION ===
.. _Specify Application Will Use Multiprocessing:
+.. index:: CONFIGURE_MP_APPLICATION
Specify Application Will Use Multiprocessing
--------------------------------------------
-.. index:: CONFIGURE_MP_APPLICATION
CONSTANT:
``CONFIGURE_MP_APPLICATION``
@@ -4506,10 +4506,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MP_NODE_NUMBER ===
.. _Configure Node Number in Multiprocessor Configuration:
+.. index:: CONFIGURE_MP_NODE_NUMBER
Configure Node Number in Multiprocessor Configuration
-----------------------------------------------------
-.. index:: CONFIGURE_MP_NODE_NUMBER
CONSTANT:
``CONFIGURE_MP_NODE_NUMBER``
@@ -4537,10 +4537,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MP_MAXIMUM_NODES ===
.. _Configure Maximum Node in Multiprocessor Configuration:
+.. index:: CONFIGURE_MP_MAXIMUM_NODES
Configure Maximum Node in Multiprocessor Configuration
------------------------------------------------------
-.. index:: CONFIGURE_MP_MAXIMUM_NODES
CONSTANT:
``CONFIGURE_MP_MAXIMUM_NODES``
@@ -4564,10 +4564,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS ===
.. _Configure Maximum Global Objects in Multiprocessor Configuration:
+.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
Configure Maximum Global Objects in Multiprocessor Configuration
----------------------------------------------------------------
-.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
CONSTANT:
``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
@@ -4592,10 +4592,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MP_MAXIMUM_PROXIES ===
.. _Configure Maximum Proxies in Multiprocessor Configuration:
+.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
Configure Maximum Proxies in Multiprocessor Configuration
---------------------------------------------------------
-.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
CONSTANT:
``CONFIGURE_MP_MAXIMUM_PROXIES``
@@ -4623,10 +4623,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MP_MPCI_TABLE_POINTER ===
.. _Configure MPCI in Multiprocessor Configuration:
+.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
Configure MPCI in Multiprocessor Configuration
----------------------------------------------
-.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
CONSTANT:
``CONFIGURE_MP_MPCI_TABLE_POINTER``
@@ -4652,10 +4652,10 @@ NOTES:
.. COMMENT: === CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE ===
.. _Do Not Generate Multiprocessor Configuration Table:
+.. index:: CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
Do Not Generate Multiprocessor Configuration Table
--------------------------------------------------
-.. index:: CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
CONSTANT:
``CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE``
@@ -4699,10 +4699,10 @@ has a test suite. This test suite is enabled only when``--enable-tests`` and
.. COMMENT: === CONFIGURE_GNAT_RTEMS ===
.. _Specify Application Includes Ada Code:
+.. index:: CONFIGURE_GNAT_RTEMS
Specify Application Includes Ada Code
-------------------------------------
-.. index:: CONFIGURE_GNAT_RTEMS
CONSTANT:
``CONFIGURE_GNAT_RTEMS``
@@ -4728,10 +4728,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_ADA_TASKS ===
.. _Specify the Maximum Number of Ada Tasks.:
+.. index:: CONFIGURE_MAXIMUM_ADA_TASKS
Specify the Maximum Number of Ada Tasks.
----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_ADA_TASKS
CONSTANT:
``CONFIGURE_MAXIMUM_ADA_TASKS``
@@ -4756,13 +4756,13 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_FAKE_ADA_TASKS ===
.. _Specify the Maximum Fake Ada Tasks:
+.. index:: CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
Specify the Maximum Fake Ada Tasks
----------------------------------
-.. index:: CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
CONSTANT:
- .. index:: ``CONFIGURE_MAXIMUM_FAKE_ADA_TASKS``
+ ``CONFIGURE_MAXIMUM_FAKE_ADA_TASKS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -4844,10 +4844,10 @@ Go Tasks
.. COMMENT: === CONFIGURE_ENABLE_GO ===
.. _Specify Application Includes Go Code:
+.. index:: CONFIGURE_ENABLE_GO
Specify Application Includes Go Code
------------------------------------
-.. index:: CONFIGURE_ENABLE_GO
CONSTANT:
``CONFIGURE_ENABLE_GO``
@@ -4871,10 +4871,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_GOROUTINES ===
.. _Specify the maximum number of Go routines:
+.. index:: CONFIGURE_MAXIMUM_GOROUTINES
Specify the maximum number of Go routines
-----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_GOROUTINES
CONSTANT:
``CONFIGURE_MAXIMUM_GOROUTINES``
@@ -4898,10 +4898,10 @@ NOTES:
.. COMMENT: === CONFIGURE_MAXIMUM_GO_CHANNELS ===
.. _Specify the maximum number of Go Channels:
+.. index:: CONFIGURE_MAXIMUM_GO_CHANNELS
Specify the maximum number of Go Channels
-----------------------------------------
-.. index:: CONFIGURE_MAXIMUM_GO_CHANNELS
CONSTANT:
``CONFIGURE_MAXIMUM_GO_CHANNELS``
@@ -4924,82 +4924,82 @@ NOTES:
Obsolete Configuration Options
==============================
+.. index:: CONFIGURE_BDBUF_BUFFER_COUNT
CONFIGURE_BDBUF_BUFFER_COUNT
----------------------------
-.. index:: CONFIGURE_BDBUF_BUFFER_COUNT
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
RTEMS 4.10.0.
+.. index:: CONFIGURE_BDBUF_BUFFER_SIZE
CONFIGURE_BDBUF_BUFFER_SIZE
---------------------------
-.. index:: CONFIGURE_BDBUF_BUFFER_SIZE
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
RTEMS 4.10.0.
+.. index:: CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
--------------------------------------
-.. index:: CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
This configuration option was introduced in RTEMS 4.9.0 and is obsolete since
RTEMS 5.1.
+.. index:: CONFIGURE_HAS_OWN_BDBUF_TABLE
CONFIGURE_HAS_OWN_BDBUF_TABLE
-----------------------------
-.. index:: CONFIGURE_HAS_OWN_BDBUF_TABLE
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
RTEMS 4.10.0.
+.. index:: CONFIGURE_MAXIMUM_POSIX_BARRIERS
CONFIGURE_MAXIMUM_POSIX_BARRIERS
--------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_BARRIERS
This configuration option is obsolete since RTEMS 5.1.
+.. index:: CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
-------------------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
This configuration option is obsolete since RTEMS 5.1.
+.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
-------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
This configuration option was introduced in RTEMS 4.10.0 and is obsolete since
RTEMS 5.1.
+.. index:: CONFIGURE_MAXIMUM_POSIX_MUTEXES
CONFIGURE_MAXIMUM_POSIX_MUTEXES
-------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_MUTEXES
This configuration option is obsolete since RTEMS 5.1.
+.. index:: CONFIGURE_MAXIMUM_POSIX_RWLOCKS
CONFIGURE_MAXIMUM_POSIX_RWLOCKS
-------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_RWLOCKS
This configuration option is obsolete since RTEMS 5.1.
+.. index:: CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
---------------------------------
-.. index:: CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
This configuration option is obsolete since RTEMS 5.1.
+.. index:: CONFIGURE_SMP_APPLICATION
CONFIGURE_SMP_APPLICATION
-------------------------
-.. index:: CONFIGURE_SMP_APPLICATION
This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
RTEMS 5.1.
+.. index:: CONFIGURE_SMP_MAXIMUM_PROCESSORS
CONFIGURE_SMP_MAXIMUM_PROCESSORS
--------------------------------
-.. index:: CONFIGURE_SMP_MAXIMUM_PROCESSORS
This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
RTEMS 5.1. See also :ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
diff --git a/c-user/constant_bandwidth_server.rst b/c-user/constant_bandwidth_server.rst
index 2db0daa..2a6ed40 100644
--- a/c-user/constant_bandwidth_server.rst
+++ b/c-user/constant_bandwidth_server.rst
@@ -42,12 +42,11 @@ provided by the CBS API are:
Background
==========
+.. index:: CBS parameters
+.. index:: rtems_cbs_parameters
Constant Bandwidth Server Definitions
-------------------------------------
-.. index:: CBS parameters
-
-.. index:: rtems_cbs_parameters
The Constant Bandwidth Server API enables tasks to communicate with the
scheduler and indicate its scheduling parameters. The scheduler has to be set
@@ -71,10 +70,10 @@ ordinary tasks that are not attached to any server.
In order to make the server effective to the executing tasks, tasks have to be
attached to the servers. The ``rtems_cbs_server_id`` is a type denoting an id
of a server and ``rtems_id`` a type for id of tasks.
+.. index:: CBS periodic tasks
Handling Periodic Tasks
-----------------------
-.. index:: CBS periodic tasks
Each task's execution begins with a default background priority (see the
chapter Scheduling Concepts to understand the concept of priorities in
@@ -84,10 +83,10 @@ of periodic behavior, or you declare deadline and budget using the CBS API in
which case these properties are constant for all subsequent periods, unless you
change them using the CBS API again. Task now only has to indicate and end of
each period using ``rtems_rate_monotonic_period``.
+.. index:: CBS overrun handler
Registering a Callback Function
-------------------------------
-.. index:: CBS overrun handler
In case tasks attached to servers are not aware of their execution time and
happen to exceed it, the scheduler does not guarantee execution any more and
@@ -113,10 +112,10 @@ The calling convention of the callback function is:
void overrun_handler(
rtems_cbs_server_id server_id
);
+.. index:: CBS limitations
Limitations
-----------
-.. index:: CBS limitations
When using this scheduler you have to keep in mind several things:
@@ -234,11 +233,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_cbs_initialize:
+.. index:: initialize the CBS library
+.. index:: rtems_cbs_initialize
CBS_INITIALIZE - Initialize the CBS library
-------------------------------------------
-.. index:: initialize the CBS library
-.. index:: rtems_cbs_initialize
CALLING SEQUENCE:
.. code-block:: c
@@ -272,11 +271,11 @@ NOTES:
\clearpage
.. _rtems_cbs_cleanup:
+.. index:: cleanup the CBS library
+.. index:: rtems_cbs_cleanup
CBS_CLEANUP - Cleanup the CBS library
-------------------------------------
-.. index:: cleanup the CBS library
-.. index:: rtems_cbs_cleanup
CALLING SEQUENCE:
.. code-block:: c
@@ -302,11 +301,11 @@ NOTES:
\clearpage
.. _rtems_cbs_create_server:
+.. index:: create a new bandwidth server
+.. index:: rtems_cbs_create_server
CBS_CREATE_SERVER - Create a new bandwidth server
-------------------------------------------------
-.. index:: create a new bandwidth server
-.. index:: rtems_cbs_create_server
CALLING SEQUENCE:
.. code-block:: c
@@ -350,11 +349,11 @@ NOTES:
\clearpage
.. _rtems_cbs_attach_thread:
+.. index:: attach a thread to server
+.. index:: rtems_cbs_attach_thread
CBS_ATTACH_THREAD - Attach a thread to server
---------------------------------------------
-.. index:: attach a thread to server
-.. index:: rtems_cbs_attach_thread
CALLING SEQUENCE:
.. code-block:: c
@@ -392,11 +391,11 @@ NOTES:
\clearpage
.. _rtems_cbs_detach_thread:
+.. index:: detach a thread from server
+.. index:: rtems_cbs_detach_thread
CBS_DETACH_THREAD - Detach a thread from server
-----------------------------------------------
-.. index:: detach a thread from server
-.. index:: rtems_cbs_detach_thread
CALLING SEQUENCE:
.. code-block:: c
@@ -429,11 +428,11 @@ NOTES:
\clearpage
.. _rtems_cbs_destroy_server:
+.. index:: destroy a bandwidth server
+.. index:: rtems_cbs_destroy_server
CBS_DESTROY_SERVER - Destroy a bandwidth server
-----------------------------------------------
-.. index:: destroy a bandwidth server
-.. index:: rtems_cbs_destroy_server
CALLING SEQUENCE:
.. code-block:: c
@@ -466,11 +465,11 @@ NOTES:
\clearpage
.. _rtems_cbs_get_server_id:
+.. index:: get an ID of a server
+.. index:: rtems_cbs_get_server_id
CBS_GET_SERVER_ID - Get an ID of a server
-----------------------------------------
-.. index:: get an ID of a server
-.. index:: rtems_cbs_get_server_id
CALLING SEQUENCE:
.. code-block:: c
@@ -497,11 +496,11 @@ DESCRIPTION:
\clearpage
.. _rtems_cbs_get_parameters:
+.. index:: get scheduling parameters of a server
+.. index:: rtems_cbs_get_parameters
CBS_GET_PARAMETERS - Get scheduling parameters of a server
----------------------------------------------------------
-.. index:: get scheduling parameters of a server
-.. index:: rtems_cbs_get_parameters
CALLING SEQUENCE:
.. code-block:: c
@@ -534,11 +533,11 @@ NOTES:
\clearpage
.. _rtems_cbs_set_parameters:
+.. index:: set scheduling parameters
+.. index:: rtems_cbs_set_parameters
CBS_SET_PARAMETERS - Set scheduling parameters
----------------------------------------------
-.. index:: set scheduling parameters
-.. index:: rtems_cbs_set_parameters
CALLING SEQUENCE:
.. code-block:: c
@@ -573,11 +572,11 @@ NOTES:
\clearpage
.. _rtems_cbs_get_execution_time:
+.. index:: get elapsed execution time
+.. index:: rtems_cbs_get_execution_time
CBS_GET_EXECUTION_TIME - Get elapsed execution time
---------------------------------------------------
-.. index:: get elapsed execution time
-.. index:: rtems_cbs_get_execution_time
CALLING SEQUENCE:
.. code-block:: c
@@ -611,11 +610,11 @@ NOTES:
\clearpage
.. _rtems_cbs_get_remaining_budget:
+.. index:: get remaining execution time
+.. index:: rtems_cbs_get_remaining_budget
CBS_GET_REMAINING_BUDGET - Get remaining execution time
-------------------------------------------------------
-.. index:: get remaining execution time
-.. index:: rtems_cbs_get_remaining_budget
CALLING SEQUENCE:
.. code-block:: c
@@ -649,11 +648,11 @@ NOTES:
\clearpage
.. _rtems_cbs_get_approved_budget:
+.. index:: get scheduler approved execution time
+.. index:: rtems_cbs_get_approved_budget
CBS_GET_APPROVED_BUDGET - Get scheduler approved execution time
---------------------------------------------------------------
-.. index:: get scheduler approved execution time
-.. index:: rtems_cbs_get_approved_budget
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/cpu_usage_statistics.rst b/c-user/cpu_usage_statistics.rst
index 81eb41f..fde008f 100644
--- a/c-user/cpu_usage_statistics.rst
+++ b/c-user/cpu_usage_statistics.rst
@@ -4,6 +4,8 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: CPU Usage
+
CPU Usage Statistics
********************
@@ -109,6 +111,7 @@ calling sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_cpu_usage_report:
+.. index:: rtems_cpu_usage_report
cpu_usage_report - Report CPU Usage Statistics
----------------------------------------------
@@ -133,6 +136,7 @@ NOTES:
\clearpage
.. _rtems_cpu_usage_reset:
+.. index:: rtems_cpu_usage_reset
cpu_usage_reset - Reset CPU Usage Statistics
--------------------------------------------
diff --git a/c-user/directive_status_codes.rst b/c-user/directive_status_codes.rst
index 420a0a0..6acfd4d 100644
--- a/c-user/directive_status_codes.rst
+++ b/c-user/directive_status_codes.rst
@@ -3,6 +3,8 @@
.. COMMENT: Copyright 2015 embedded brains GmbH
.. COMMENT: All rights reserved.
+.. index:: Status Codes
+
Directive Status Codes
**********************
@@ -18,6 +20,8 @@ Directives
The directives are:
+.. index:: rtems_status_code
+
.. list-table::
:class: rtems-table
@@ -81,10 +85,10 @@ The directives are:
\clearpage
.. _rtems_status_text:
+.. index:: rtems_status_text
STATUS_TEXT - Returns the enumeration name for a status code
------------------------------------------------------------
-.. index:: rtems_status_text
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/dual_ports_memory_manager.rst b/c-user/dual_ports_memory_manager.rst
index 18b5808..ed93482 100644
--- a/c-user/dual_ports_memory_manager.rst
+++ b/c-user/dual_ports_memory_manager.rst
@@ -4,12 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
-Dual-Ported Memory Manager
-**************************
-
.. index:: ports
.. index:: dual ported memory
+Dual-Ported Memory Manager
+**************************
+
Introduction
============
@@ -27,12 +27,13 @@ areas (DPMA). The directives provided by the dual-ported memory manager are:
- rtems_port_internal_to_external_ - Convert internal to external address
-Background
-==========
.. index:: dual ported memory, definition
.. index:: external addresses, definition
.. index:: internal addresses, definition
+Background
+==========
+
A dual-ported memory area (DPMA) is an contiguous block of RAM owned by a
particular processor but which can be accessed by other processors in the
system. The owner accesses the memory using internal addresses, while other
@@ -99,11 +100,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_port_create:
+.. index:: create a port
+.. index:: rtems_port_create
PORT_CREATE - Create a port
---------------------------
-.. index:: create a port
-.. index:: rtems_port_create
CALLING SEQUENCE:
.. code-block:: c
@@ -152,13 +153,13 @@ NOTES:
\clearpage
.. _rtems_port_ident:
-
-PORT_IDENT - Get ID of a port
------------------------------
.. index:: get ID of a port
.. index:: obtain ID of a port
.. index:: rtems_port_ident
+PORT_IDENT - Get ID of a port
+-----------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -193,11 +194,11 @@ NOTES:
\clearpage
.. _rtems_port_delete:
+.. index:: delete a port
+.. index:: rtems_port_delete
PORT_DELETE - Delete a port
---------------------------
-.. index:: delete a port
-.. index:: rtems_port_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -230,11 +231,11 @@ NOTES:
\clearpage
.. _rtems_port_external_to_internal:
+.. index:: convert external to internal address
+.. index:: rtems_port_external_to_internal
PORT_EXTERNAL_TO_INTERNAL - Convert external to internal address
----------------------------------------------------------------
-.. index:: convert external to internal address
-.. index:: rtems_port_external_to_internal
CALLING SEQUENCE:
.. code-block:: c
@@ -270,11 +271,11 @@ NOTES:
\clearpage
.. _rtems_port_internal_to_external:
+.. index:: convert internal to external address
+.. index:: rtems_port_internal_to_external
PORT_INTERNAL_TO_EXTERNAL - Convert internal to external address
----------------------------------------------------------------
-.. index:: convert internal to external address
-.. index:: rtems_port_internal_to_external
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/event_manager.rst b/c-user/event_manager.rst
index 784fbd9..d3c1a95 100644
--- a/c-user/event_manager.rst
+++ b/c-user/event_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: events
+
Event Manager
*************
-.. index:: events
-
Introduction
============
@@ -21,12 +21,13 @@ and synchronization. The directives provided by the event manager are:
Background
==========
-Event Sets
-----------
.. index:: event flag, definition
.. index:: event set, definition
.. index:: rtems_event_set
+Event Sets
+----------
+
An event flag is used by a task (or ISR) to inform another task of the
occurrence of a significant situation. Thirty-two event flags are associated
with each task. A collection of one or more event flags is referred to as an
@@ -59,11 +60,12 @@ condition is satisfied when at least a single requested event is posted. The
``RTEMS_EVENT_ALL`` algorithm states that an event condition is satisfied when
every requested event is posted.
-Building an Event Set or Condition
-----------------------------------
.. index:: event condition, building
.. index:: event set, building
+Building an Event Set or Condition
+----------------------------------
+
An event set or condition is built by a bitwise OR of the desired events. The
set of valid events is ``RTEMS_EVENT_0`` through ``RTEMS_EVENT_31``. If an
event is not explicitly specified in the set or condition, then it is not
@@ -181,11 +183,11 @@ related constants, usage, and status codes.
\clearpage
.. _rtems_event_send:
+.. index:: send event set to a task
+.. index:: rtems_event_send
EVENT_SEND - Send event set to a task
-------------------------------------
-.. index:: send event set to a task
-.. index:: rtems_event_send
CALLING SEQUENCE:
.. code-block:: c
@@ -232,11 +234,11 @@ NOTES:
\clearpage
.. _rtems_event_receive:
+.. index:: receive event condition
+.. index:: rtems_event_receive
EVENT_RECEIVE - Receive event condition
---------------------------------------
-.. index:: receive event condition
-.. index:: rtems_event_receive
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/fatal_error.rst b/c-user/fatal_error.rst
index c716c89..6cee174 100644
--- a/c-user/fatal_error.rst
+++ b/c-user/fatal_error.rst
@@ -5,12 +5,11 @@
.. COMMENT: All rights reserved.
.. _fatal_error_manager:
+.. index:: fatal errors
Fatal Error Manager
*******************
-.. index:: fatal errors
-
Introduction
============
@@ -34,13 +33,13 @@ provided by the fatal error manager are:
Background
==========
-Overview
---------
-
.. index:: fatal error detection
.. index:: fatal error processing
.. index:: fatal error user extension
+Overview
+--------
+
The fatal error manager is called upon detection of an irrecoverable error
condition by either RTEMS or the application software. Fatal errors are also
used in case it is difficult or impossible to return an error condition by
@@ -388,10 +387,10 @@ Operations
==========
.. _Terminate:
+.. index:: _Terminate
Announcing a Fatal Error
------------------------
-.. index:: _Terminate
The :c:func:`_Terminate()` internal error handler is invoked when the
application or the executive itself determines that a fatal error has occurred
@@ -443,13 +442,13 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_fatal:
-
-FATAL - Invoke the fatal error
-------------------------------
.. index:: announce fatal error
.. index:: fatal error, announce
.. index:: rtems_fatal
+FATAL - Invoke the fatal error
+------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -473,12 +472,12 @@ NOTE:
\clearpage
.. _rtems_shutdown_executive:
+.. index:: shutdown RTEMS
+.. index:: rtems_shutdown_executive
SHUTDOWN_EXECUTIVE - Shutdown RTEMS
-----------------------------------
-.. index:: shutdown RTEMS
-.. index:: rtems_shutdown_executive
CALLING SEQUENCE:
.. code-block:: c
@@ -505,11 +504,11 @@ NOTES:
\clearpage
.. _rtems_exception_frame_print:
+.. index:: exception frame
+.. index:: rtems_exception_frame_print
EXCEPTION_FRAME_PRINT - Prints the exception frame
--------------------------------------------------
-.. index:: exception frame
-.. index:: rtems_exception_frame_print
CALLING SEQUENCE:
.. code-block:: c
@@ -529,11 +528,11 @@ DESCRIPTION:
\clearpage
.. _rtems_fatal_source_text:
+.. index:: fatal error
+.. index:: rtems_fatal_source_text
FATAL_SOURCE_TEXT - Returns a text for a fatal source
-----------------------------------------------------
-.. index:: fatal error
-.. index:: rtems_fatal_source_text
CALLING SEQUENCE:
.. code-block:: c
@@ -554,11 +553,11 @@ DESCRIPTION:
\clearpage
.. _rtems_internal_error_text:
+.. index:: fatal error
+.. index:: rtems_internal_error_text
INTERNAL_ERROR_TEXT - Returns a text for an internal error code
---------------------------------------------------------------
-.. index:: fatal error
-.. index:: rtems_internal_error_text
CALLING SEQUENCE:
.. code-block:: c
@@ -579,13 +578,13 @@ DESCRIPTION:
\clearpage
.. _rtems_fatal_error_occurred:
-
-FATAL_ERROR_OCCURRED - Invoke the fatal error handler (deprecated)
-------------------------------------------------------------------
.. index:: announce fatal error
.. index:: fatal error, announce
.. index:: rtems_fatal_error_occurred
+FATAL_ERROR_OCCURRED - Invoke the fatal error handler (deprecated)
+------------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/initialization.rst b/c-user/initialization.rst
index 7d7d2de..a04633d 100644
--- a/c-user/initialization.rst
+++ b/c-user/initialization.rst
@@ -22,9 +22,10 @@ The Initialization Manager provides only one directive:
Background
==========
+.. index:: initialization tasks
+
Initialization Tasks
--------------------
-.. index:: initialization tasks
Initialization task(s) are the mechanism by which RTEMS transfers initial
control to the user's application. Initialization tasks differ from other
@@ -305,13 +306,13 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_initialize_executive:
+.. index:: initialize RTEMS
+.. index:: start multitasking
+.. index:: rtems_initialize_executive
INITIALIZE_EXECUTIVE - Initialize RTEMS
---------------------------------------
-.. index:: initialize RTEMS
-.. index:: start multitasking
-.. index:: rtems_initialize_executive
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/interrupt_manager.rst b/c-user/interrupt_manager.rst
index 37b5cbe..41dc8dd 100644
--- a/c-user/interrupt_manager.rst
+++ b/c-user/interrupt_manager.rst
@@ -4,6 +4,8 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: interrupts
+
Interrupt Manager
*****************
@@ -44,9 +46,10 @@ from an ISR. The interrupt manager includes the following directive:
Background
==========
+.. index:: interrupt processing
+
Processing an Interrupt
-----------------------
-.. index:: interrupt processing
The interrupt manager allows the application to connect a function to a
hardware interrupt vector. When an interrupt occurs, the processor will
@@ -111,9 +114,10 @@ another ISR. RTEMS supports efficient interrupt nesting by allowing the nested
ISRs to terminate without performing any dispatch processing. Only when the
outermost ISR terminates will the postponed dispatching occur.
+.. index:: interrupt levels
+
RTEMS Interrupt Levels
----------------------
-.. index:: interrupt levels
Many processors support multiple interrupt levels or priorities. The exact
number of interrupt levels is processor dependent. RTEMS internally supports
@@ -122,9 +126,10 @@ specific information on the mapping between RTEMS and the target processor's
interrupt levels, refer to the Interrupt Processing chapter of the Applications
Supplement document for a specific target processor.
+.. index:: disabling interrupts
+
Disabling of Interrupts by RTEMS
--------------------------------
-.. index:: disabling interrupts
During the execution of directive calls, critical sections of code may be
executed. When these sections are encountered, RTEMS disables all maskable
@@ -264,13 +269,13 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_interrupt_catch:
-
-INTERRUPT_CATCH - Establish an ISR
-----------------------------------
.. index:: establish an ISR
.. index:: install an ISR
.. index:: rtems_interrupt_catch
+INTERRUPT_CATCH - Establish an ISR
+----------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -308,11 +313,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_disable:
+.. index:: disable interrupts
+.. index:: rtems_interrupt_disable
INTERRUPT_DISABLE - Disable Interrupts
--------------------------------------
-.. index:: disable interrupts
-.. index:: rtems_interrupt_disable
CALLING SEQUENCE:
.. code-block:: c
@@ -346,11 +351,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_enable:
+.. index:: enable interrupts
+.. index:: rtems_interrupt_enable
INTERRUPT_ENABLE - Enable Interrupts
------------------------------------
-.. index:: enable interrupts
-.. index:: rtems_interrupt_enable
CALLING SEQUENCE:
.. code-block:: c
@@ -381,11 +386,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_flash:
+.. index:: flash interrupts
+.. index:: rtems_interrupt_flash
INTERRUPT_FLASH - Flash Interrupts
----------------------------------
-.. index:: flash interrupts
-.. index:: rtems_interrupt_flash
CALLING SEQUENCE:
.. code-block:: c
@@ -416,11 +421,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_local_disable:
+.. index:: disable interrupts
+.. index:: rtems_interrupt_local_disable
INTERRUPT_LOCAL_DISABLE - Disable Interrupts on Current Processor
-----------------------------------------------------------------
-.. index:: disable interrupts
-.. index:: rtems_interrupt_local_disable
CALLING SEQUENCE:
.. code-block:: c
@@ -453,11 +458,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_local_enable:
+.. index:: enable interrupts
+.. index:: rtems_interrupt_local_enable
INTERRUPT_LOCAL_ENABLE - Enable Interrupts on Current Processor
---------------------------------------------------------------
-.. index:: enable interrupts
-.. index:: rtems_interrupt_local_enable
CALLING SEQUENCE:
.. code-block:: c
@@ -484,10 +489,10 @@ NOTES:
\clearpage
.. _rtems_interrupt_lock_initialize:
+.. index:: rtems_interrupt_lock_initialize
INTERRUPT_LOCK_INITIALIZE - Initialize an ISR Lock
--------------------------------------------------
-.. index:: rtems_interrupt_lock_initialize
CALLING SEQUENCE:
.. code-block:: c
@@ -512,10 +517,10 @@ NOTES:
\clearpage
.. _rtems_interrupt_lock_acquire:
+.. index:: rtems_interrupt_lock_acquire
INTERRUPT_LOCK_ACQUIRE - Acquire an ISR Lock
--------------------------------------------
-.. index:: rtems_interrupt_lock_acquire
CALLING SEQUENCE:
.. code-block:: c
@@ -547,10 +552,10 @@ NOTES:
\clearpage
.. _rtems_interrupt_lock_release:
+.. index:: rtems_interrupt_lock_release
INTERRUPT_LOCK_RELEASE - Release an ISR Lock
--------------------------------------------
-.. index:: rtems_interrupt_lock_release
CALLING SEQUENCE:
.. code-block:: c
@@ -579,10 +584,10 @@ NOTES:
\clearpage
.. _rtems_interrupt_lock_acquire_isr:
+.. index:: rtems_interrupt_lock_acquire_isr
INTERRUPT_LOCK_ACQUIRE_ISR - Acquire an ISR Lock from ISR
---------------------------------------------------------
-.. index:: rtems_interrupt_lock_acquire_isr
CALLING SEQUENCE:
.. code-block:: c
@@ -617,10 +622,10 @@ NOTES:
\clearpage
.. _rtems_interrupt_lock_release_isr:
+.. index:: rtems_interrupt_lock_release_isr
INTERRUPT_LOCK_RELEASE_ISR - Release an ISR Lock from ISR
---------------------------------------------------------
-.. index:: rtems_interrupt_lock_release_isr
CALLING SEQUENCE:
.. code-block:: c
@@ -649,11 +654,11 @@ NOTES:
\clearpage
.. _rtems_interrupt_is_in_progress:
+.. index:: is interrupt in progress
+.. index:: rtems_interrupt_is_in_progress
INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress
------------------------------------------------
-.. index:: is interrupt in progress
-.. index:: rtems_interrupt_is_in_progress
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/io_manager.rst b/c-user/io_manager.rst
index cb8f70d..ab7be41 100644
--- a/c-user/io_manager.rst
+++ b/c-user/io_manager.rst
@@ -4,12 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
-I/O Manager
-***********
-
.. index:: device drivers
.. index:: IO Manager
+I/O Manager
+***********
+
Introduction
============
@@ -40,9 +40,10 @@ drivers. The directives provided by the I/O manager are:
Background
==========
+.. index:: Device Driver Table
+
Device Driver Table
-------------------
-.. index:: Device Driver Table
Each application utilizing the RTEMS I/O manager must specify the address of a
Device Driver Table in its Configuration Table. This table contains each device
@@ -73,11 +74,12 @@ table.
The :file:`confdefs.h` entry ``CONFIGURE_MAXIMUM_DRIVERS`` configures the
number of driver slots available to the application.
-Major and Minor Device Numbers
-------------------------------
.. index:: major device number
.. index:: minor device number
+Major and Minor Device Numbers
+------------------------------
+
Each call to the I/O manager must provide a device's major and minor numbers as
arguments. The major number is the index of the requested driver's entry
points in the Device Driver Table, and is used to select a specific device
@@ -91,9 +93,10 @@ driver.
The data types ``rtems_device_major_number`` and ``rtems_device_minor_number``
are used to manipulate device major and minor numbers, respectively.
+.. index:: device names
+
Device Names
------------
-.. index:: device names
The I/O Manager provides facilities to associate a name with a particular
device. Directives are provided to register the name of a device and to look
@@ -122,9 +125,10 @@ Although the RTEMS I/O manager provides a framework for device drivers, it
makes no assumptions regarding the construction or operation of a device
driver.
+.. index:: runtime driver registration
+
Runtime Driver Registration
---------------------------
-.. index:: runtime driver registration
Board support package and application developers can select wether a device
driver is statically entered into the default device table or registered at
@@ -144,9 +148,10 @@ Dynamic registration helps applications where:
- Support for runtime loadable driver modules.
+.. index:: device driver interface
+
Device Driver Interface
-----------------------
-.. index:: device driver interface
When an application invokes an I/O manager directive, RTEMS determines which
device driver entry point must be invoked. The information passed by the
@@ -226,11 +231,11 @@ related constants, usage, and status codes.
\clearpage
.. _rtems_io_register_driver:
+.. index:: register a device driver
+.. index:: rtems_io_register_driver
IO_REGISTER_DRIVER - Register a device driver
---------------------------------------------
-.. index:: register a device driver
-.. index:: rtems_io_register_driver
CALLING SEQUENCE:
.. code-block:: c
@@ -284,11 +289,11 @@ NOTES:
\clearpage
.. _rtems_io_unregister_driver:
+.. index:: unregister a device driver
+.. index:: rtems_io_unregister_driver
IO_UNREGISTER_DRIVER - Unregister a device driver
-------------------------------------------------
-.. index:: unregister a device driver
-.. index:: rtems_io_unregister_driver
CALLING SEQUENCE:
.. code-block:: c
@@ -317,11 +322,11 @@ NOTES:
\clearpage
.. _rtems_io_initialize:
+.. index:: initialize a device driver
+.. index:: rtems_io_initialize
IO_INITIALIZE - Initialize a device driver
------------------------------------------
-.. index:: initialize a device driver
-.. index:: rtems_io_initialize
CALLING SEQUENCE:
.. code-block:: c
@@ -360,11 +365,11 @@ NOTES:
\clearpage
.. _rtems_io_register_name:
+.. index:: register device
+.. index:: rtems_io_register_name
IO_REGISTER_NAME - Register a device
------------------------------------
-.. index:: register device
-.. index:: rtems_io_register_name
CALLING SEQUENCE:
.. code-block:: c
@@ -395,11 +400,11 @@ NOTES:
\clearpage
.. _rtems_io_lookup_name:
+.. index:: lookup device major and minor number
+.. index:: rtems_io_lookup_name
IO_LOOKUP_NAME - Lookup a device
--------------------------------
-.. index:: lookup device major and minor number
-.. index:: rtems_io_lookup_name
CALLING SEQUENCE:
.. code-block:: c
@@ -430,11 +435,11 @@ NOTES:
\clearpage
.. _rtems_io_open:
+.. index:: open a devive
+.. index:: rtems_io_open
IO_OPEN - Open a device
-----------------------
-.. index:: open a devive
-.. index:: rtems_io_open
CALLING SEQUENCE:
.. code-block:: c
@@ -468,11 +473,11 @@ NOTES:
\clearpage
.. _rtems_io_close:
+.. index:: close a device
+.. index:: rtems_io_close
IO_CLOSE - Close a device
-------------------------
-.. index:: close a device
-.. index:: rtems_io_close
CALLING SEQUENCE:
.. code-block:: c
@@ -506,11 +511,11 @@ NOTES:
\clearpage
.. _rtems_io_read:
+.. index:: read from a device
+.. index:: rtems_io_read
IO_READ - Read from a device
----------------------------
-.. index:: read from a device
-.. index:: rtems_io_read
CALLING SEQUENCE:
.. code-block:: c
@@ -545,11 +550,11 @@ NOTES:
\clearpage
.. _rtems_io_write:
+.. index:: write to a device
+.. index:: rtems_io_write
IO_WRITE - Write to a device
----------------------------
-.. index:: write to a device
-.. index:: rtems_io_write
CALLING SEQUENCE:
.. code-block:: c
@@ -584,13 +589,13 @@ NOTES:
\clearpage
.. _rtems_io_control:
-
-IO_CONTROL - Special device services
-------------------------------------
.. index:: special device services
.. index:: IO Control
.. index:: rtems_io_control
+IO_CONTROL - Special device services
+------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/key_concepts.rst b/c-user/key_concepts.rst
index 3d1a473..c88132e 100644
--- a/c-user/key_concepts.rst
+++ b/c-user/key_concepts.rst
@@ -17,11 +17,11 @@ one with these concepts.
.. _objects:
+.. index:: objects
+
Objects
=======
-.. index:: objects
-
RTEMS provides directives which can be used to dynamically create, delete, and
manipulate a set of predefined object types. These types include tasks,
message queues, semaphores, memory regions, memory partitions, timers, ports,
@@ -37,14 +37,17 @@ selected by the user as a meaningful "tag" which may commonly reflect the
object's use in the application. Conversely, object IDs are designed to
facilitate efficient object manipulation by the executive.
-Object Names
-------------
.. index:: object name
.. index:: rtems_name
+Object Names
+------------
+
An object name is an unsigned thirty-two bit entity associated with the object
by the user. The data type ``rtems_name`` is used to store object
-names... index:: rtems_build_name
+names.
+
+.. index:: rtems_build_name
Although not required by RTEMS, object names are often composed of four ASCII
characters which help identify that object. For example, a task which causes a
@@ -84,12 +87,13 @@ name:
printk( "ID=0x%08x name=%s\n", id, ((result) ? result : "no name") );
}
-Object IDs
-----------
.. index:: object ID
.. index:: object ID composition
.. index:: rtems_id
+Object IDs
+----------
+
An object ID is a unique unsigned integer value which uniquely identifies an
object instance. Object IDs are passed as arguments to many directives in
RTEMS and RTEMS translates the ID to an internal object pointer. The efficient
@@ -198,9 +202,10 @@ create time and freed when the object is deleted. With the exception of user
extension routines, object control blocks are not directly manipulated by user
applications.
+.. index:: communication and synchronization
+
Communication and Synchronization
=================================
-.. index:: communication and synchronization
In real-time multitasking applications, the ability for cooperating execution
threads to communicate and synchronize with each other is imperative. A
@@ -239,9 +244,10 @@ synchronization, while the event manager primarily provides a high performance
synchronization mechanism. The signal manager supports only asynchronous
communication and is typically used for exception handling.
+.. index:: locking protocols
+
Locking Protocols
=================
-.. index:: locking protocols
RTEMS supports the four locking protocols
@@ -265,10 +271,10 @@ obtain, release and timeout operations depend on the complexity of this
resource dependency graph.
.. _PriorityInversion:
+.. index:: priority inversion
Priority Inversion
------------------
-.. index:: priority inversion
Priority inversion is a form of indefinite postponement which is common in
multitasking, preemptive executives with shared resources. Priority inversion
@@ -281,11 +287,11 @@ complete its interaction with the resource and release that resource. The high
priority task is effectively prevented from executing by lower priority tasks.
.. _PriorityCeiling:
+.. index:: priority ceiling protocol
+.. index:: immediate ceiling priority protocol
Immediate Ceiling Priority Protocol (ICPP)
------------------------------------------
-.. index:: priority ceiling protocol
-.. index:: immediate ceiling priority protocol
Each mutex using the Immediate Ceiling Priority Protocol (ICPP) has a ceiling
priority. The priority of the mutex owner is immediately raised to the ceiling
@@ -307,10 +313,10 @@ protocol is more forgiving in that it does not require this apriori
information.
.. _PriorityInheritance:
+.. index:: priority inheritance protocol
Priority Inheritance Protocol
-----------------------------
-.. index:: priority inheritance protocol
The priority of the mutex owner is raised to the highest priority of all
threads that currently wait for ownership of this mutex :cite:`Sha:1990:PI`.
@@ -318,10 +324,10 @@ Since RTEMS 5.1, priority updates due to the priority inheritance protocol
take place immediately and are propagated recursively.
.. _MrsP:
+.. index:: Multiprocessor Resource Sharing Protocol (MrsP)
Multiprocessor Resource Sharing Protocol (MrsP)
-----------------------------------------------
-.. index:: Multiprocessor Resource Sharing Protocol (MrsP)
The Multiprocessor Resource Sharing Protocol (MrsP) is a generalization of the
priority ceiling protocol to clustered scheduling :cite:`Burns:2013:MrsP`. One
@@ -339,10 +345,10 @@ overcome some shortcomings of the original implementation
:cite:`Catellani:2015:MrsP`.
.. _OMIP:
+.. index:: O(m) Independence-Preserving Protocol (OMIP)
O(m) Independence-Preserving Protocol (OMIP)
----------------------------------------------------
-.. index:: O(m) Independence-Preserving Protocol (OMIP)
The :math:`O(m)` Independence-Preserving Protocol (OMIP) is a generalization of
the priority inheritance protocol to clustered scheduling which avoids the
@@ -355,9 +361,10 @@ need internal locking. The complex part of the implementation is contained in
the thread queues and shared with the MrsP support. This locking protocol is
available since RTEMS 5.1.
+.. index:: thread queues
+
Thread Queues
=============
-.. index:: thread queues
In case more than one :term:`thread` may wait on a synchronization object, e.g.
a semaphore or a message queue, then the waiting threads are added to a data
@@ -415,9 +422,10 @@ A red-black tree is used to implement the priority queues yielding a
:math:`O(log(n))` worst-case time complexity for enqueue and dequeue operations
with :math:`n` being the count of threads already on the queue.
+.. index:: time
+
Time
====
-.. index:: time
The development of responsive real-time applications requires an understanding
of how RTEMS maintains and supports time-related operations. The basic unit of
@@ -505,9 +513,10 @@ and removal operations offered by the timer wheel algorithms. See also
tree support already used in other areas, e.g. for the thread priority queues.
Less code is a good thing for size, testing and verification.
+.. index:: memory management
+
Memory Management
=================
-.. index:: memory management
RTEMS memory management facilities can be grouped into two classes: dynamic
memory allocation and address translation. Dynamic memory allocation is
diff --git a/c-user/linker_sets.rst b/c-user/linker_sets.rst
index f6f250e..a93f829 100644
--- a/c-user/linker_sets.rst
+++ b/c-user/linker_sets.rst
@@ -5,12 +5,11 @@
.. COMMENT: All rights reserved.
.. _linker_sets:
+.. index:: linkersets
Linker Sets
***********
-.. index:: linkersets
-
Introduction
============
@@ -128,10 +127,10 @@ Directives
\clearpage
.. _RTEMS_LINKER_SET_BEGIN:
+.. index:: RTEMS_LINKER_SET_BEGIN
RTEMS_LINKER_SET_BEGIN - Designator of the linker set begin marker
------------------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_BEGIN
CALLING SEQUENCE:
.. code-block:: c
@@ -161,10 +160,10 @@ NOTE:
\clearpage
.. _RTEMS_LINKER_SET_END:
+.. index:: RTEMS_LINKER_SET_END
RTEMS_LINKER_SET_END - Designator of the linker set end marker
--------------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_END
CALLING SEQUENCE:
.. code-block:: c
@@ -183,10 +182,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_SET_SIZE:
+.. index:: RTEMS_LINKER_SET_SIZE
RTEMS_LINKER_SET_SIZE - The linker set size in characters
---------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_SIZE
CALLING SEQUENCE:
.. code-block:: c
@@ -204,10 +203,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_SET_ITEM_COUNT:
+.. index:: RTEMS_LINKER_SET_ITEM_COUNT
RTEMS_LINKER_SET_ITEM_COUNT - The linker set item count
---------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_ITEM_COUNT
CALLING SEQUENCE:
.. code-block:: c
@@ -224,10 +223,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_SET_IS_EMPTY:
+.. index:: RTEMS_LINKER_SET_IS_EMPTY
RTEMS_LINKER_SET_IS_EMPTY - Is the linker set empty?
---------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_IS_EMPTY
CALLING SEQUENCE:
.. code-block:: c
@@ -245,10 +244,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_SET_FOREACH:
+.. index:: RTEMS_LINKER_SET_FOREACH
RTEMS_LINKER_SET_FOREACH - Iterate through the linker set items
---------------------------------------------------------
-.. index:: RTEMS_LINKER_SET_FOREACH
CALLING SEQUENCE:
.. code-block:: c
@@ -281,10 +280,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET_DECLARE:
+.. index:: RTEMS_LINKER_ROSET_DECLARE
RTEMS_LINKER_ROSET_DECLARE - Declares a read-only linker set
------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_DECLARE
CALLING SEQUENCE:
.. code-block:: c
@@ -304,10 +303,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET:
+.. index:: RTEMS_LINKER_ROSET
RTEMS_LINKER_ROSET - Defines a read-only linker set
---------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET
CALLING SEQUENCE:
.. code-block:: c
@@ -327,10 +326,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET_ITEM_DECLARE:
+.. index:: RTEMS_LINKER_ROSET_ITEM_DECLARE
RTEMS_LINKER_ROSET_ITEM_DECLARE - Declares a read-only linker set item
----------------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_ITEM_DECLARE
CALLING SEQUENCE:
.. code-block:: c
@@ -352,10 +351,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET_ITEM_REFERENCE:
+.. index:: RTEMS_LINKER_ROSET_ITEM_REFERENCE
RTEMS_LINKER_ROSET_ITEM_REFERENCE - References a read-only linker set item
--------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_ITEM_REFERENCE
CALLING SEQUENCE:
.. code-block:: c
@@ -377,10 +376,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET_ITEM:
+.. index:: RTEMS_LINKER_ROSET_ITEM
RTEMS_LINKER_ROSET_ITEM - Defines a read-only linker set item
-------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_ITEM
CALLING SEQUENCE:
.. code-block:: c
@@ -402,10 +401,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_ROSET_ITEM_ORDERED:
+.. index:: RTEMS_LINKER_ROSET_ITEM_ORDERED
RTEMS_LINKER_ROSET_ITEM_ORDERED - Defines an ordered read-only linker set item
------------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_ITEM_ORDERED
CALLING SEQUENCE:
.. code-block:: c
@@ -459,10 +458,10 @@ NOTES:
\clearpage
.. _RTEMS_LINKER_ROSET_CONTENT:
+.. index:: RTEMS_LINKER_ROSET_CONTENT
RTEMS_LINKER_ROSET_CONTENT - Marks a declaration as a read-only linker set content
----------------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_ROSET_CONTENT
CALLING SEQUENCE:
.. code-block:: c
@@ -481,10 +480,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET_DECLARE:
+.. index:: RTEMS_LINKER_RWSET_DECLARE
RTEMS_LINKER_RWSET_DECLARE - Declares a read-write linker set
-------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_DECLARE
CALLING SEQUENCE:
.. code-block:: c
@@ -504,10 +503,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET:
+.. index:: RTEMS_LINKER_RWSET
RTEMS_LINKER_RWSET - Defines a read-write linker set
----------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET
CALLING SEQUENCE:
.. code-block:: c
@@ -527,10 +526,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET_ITEM_DECLARE:
+.. index:: RTEMS_LINKER_RWSET_ITEM_DECLARE
RTEMS_LINKER_RWSET_ITEM_DECLARE - Declares a read-write linker set item
-----------------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_ITEM_DECLARE
CALLING SEQUENCE:
.. code-block:: c
@@ -552,10 +551,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET_ITEM_REFERENCE:
+.. index:: RTEMS_LINKER_RWSET_ITEM_REFERENCE
RTEMS_LINKER_RWSET_ITEM_REFERENCE - References a read-write linker set item
---------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_ITEM_REFERENCE
CALLING SEQUENCE:
.. code-block:: c
@@ -577,10 +576,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET_ITEM:
+.. index:: RTEMS_LINKER_RWSET_ITEM
RTEMS_LINKER_RWSET_ITEM - Defines a read-write linker set item
--------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_ITEM
CALLING SEQUENCE:
.. code-block:: c
@@ -602,10 +601,10 @@ DESCRIPTION:
\clearpage
.. _RTEMS_LINKER_RWSET_ITEM_ORDERED:
+.. index:: RTEMS_LINKER_RWSET_ITEM_ORDERED
RTEMS_LINKER_RWSET_ITEM_ORDERED - Defines an ordered read-write linker set item
-------------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_ITEM_ORDERED
CALLING SEQUENCE:
.. code-block:: c
@@ -659,10 +658,10 @@ NOTES:
\clearpage
.. _RTEMS_LINKER_RWSET_CONTENT:
+.. index:: RTEMS_LINKER_RWSET_CONTENT
RTEMS_LINKER_RWSET_CONTENT - Marks a declaration as a read-write linker set content
-----------------------------------------------------------------------------------
-.. index:: RTEMS_LINKER_RWSET_CONTENT
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/message_manager.rst b/c-user/message_manager.rst
index 496137e..2c908d9 100644
--- a/c-user/message_manager.rst
+++ b/c-user/message_manager.rst
@@ -4,12 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
-Message Manager
-***************
-
.. index:: messages
.. index:: message queues
+Message Manager
+***************
+
Introduction
============
@@ -64,9 +64,10 @@ buffer of the message queue or directly to a peer in certain cases. This copy
operation is performed with interrupts disabled. So it is advisable to keep
the messages as short as possible.
+.. index:: message queue attributes
+
Building a Message Queue Attribute Set
--------------------------------------
-.. index:: message queue attributes
In general, an attribute set is built by a bitwise OR of the desired attribute
components. The set of valid message queue attributes is provided in the
@@ -220,11 +221,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_message_queue_create:
+.. index:: create a message queue
+.. index:: rtems_message_queue_create
MESSAGE_QUEUE_CREATE - Create a queue
-------------------------------------
-.. index:: create a message queue
-.. index:: rtems_message_queue_create
CALLING SEQUENCE:
.. code-block:: c
@@ -307,11 +308,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_ident:
+.. index:: get ID of a message queue
+.. index:: rtems_message_queue_ident
MESSAGE_QUEUE_IDENT - Get ID of a queue
---------------------------------------
-.. index:: get ID of a message queue
-.. index:: rtems_message_queue_ident
CALLING SEQUENCE:
.. code-block:: c
@@ -360,11 +361,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_delete:
+.. index:: delete a message queue
+.. index:: rtems_message_queue_delete
MESSAGE_QUEUE_DELETE - Delete a queue
-------------------------------------
-.. index:: delete a message queue
-.. index:: rtems_message_queue_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -418,11 +419,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_send:
+.. index:: send message to a queue
+.. index:: rtems_message_queue_send
MESSAGE_QUEUE_SEND - Put message at rear of a queue
---------------------------------------------------
-.. index:: send message to a queue
-.. index:: rtems_message_queue_send
CALLING SEQUENCE:
.. code-block:: c
@@ -475,11 +476,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_urgent:
+.. index:: put message at front of queue
+.. index:: rtems_message_queue_urgent
MESSAGE_QUEUE_URGENT - Put message at front of a queue
------------------------------------------------------
-.. index:: put message at front of queue
-.. index:: rtems_message_queue_urgent
**CALLING SEQUENCE:**
.. code-block:: c
@@ -532,11 +533,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_broadcast:
+.. index:: broadcast message to a queue
+.. index:: rtems_message_queue_broadcast
MESSAGE_QUEUE_BROADCAST - Broadcast N messages to a queue
---------------------------------------------------------
-.. index:: broadcast message to a queue
-.. index:: rtems_message_queue_broadcast
CALLING SEQUENCE:
.. code-block:: c
@@ -592,11 +593,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_receive:
+.. index:: receive message from a queue
+.. index:: rtems_message_queue_receive
MESSAGE_QUEUE_RECEIVE - Receive message from a queue
----------------------------------------------------
-.. index:: receive message from a queue
-.. index:: rtems_message_queue_receive
CALLING SEQUENCE:
.. code-block:: c
@@ -679,11 +680,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_get_number_pending:
+.. index:: get number of pending messages
+.. index:: rtems_message_queue_get_number_pending
MESSAGE_QUEUE_GET_NUMBER_PENDING - Get number of messages pending on a queue
----------------------------------------------------------------------------
-.. index:: get number of pending messages
-.. index:: rtems_message_queue_get_number_pending
CALLING SEQUENCE:
.. code-block:: c
@@ -718,11 +719,11 @@ NOTES:
\clearpage
.. _rtems_message_queue_flush:
+.. index:: flush messages on a queue
+.. index:: rtems_message_queue_flush
MESSAGE_QUEUE_FLUSH - Flush all messages on a queue
---------------------------------------------------
-.. index:: flush messages on a queue
-.. index:: rtems_message_queue_flush
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/multiprocessing.rst b/c-user/multiprocessing.rst
index 6ff2dff..740eabf 100644
--- a/c-user/multiprocessing.rst
+++ b/c-user/multiprocessing.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: multiprocessing
+
Multiprocessing Manager
***********************
-.. index:: multiprocessing
-
Introduction
============
@@ -42,11 +42,11 @@ The directives provided by the Manager are:
- rtems_multiprocessing_announce_ - A multiprocessing communications packet has
arrived
+.. index:: multiprocessing topologies
+
Background
==========
-.. index:: multiprocessing topologies
-
RTEMS makes no assumptions regarding the connection media or topology of a
multiprocessor system. The tasks which compose a particular application can be
spread among as many processors as needed to satisfy the application's timing
@@ -68,9 +68,10 @@ a homogeneous one. In keeping with RTEMS philosophy of providing transparent
physical node boundaries, the minimal heterogeneous processing required is
isolated in the MPCI layer.
+.. index:: nodes, definition
+
Nodes
-----
-.. index:: nodes, definition
A processor in a RTEMS system is referred to as a node. Each node is assigned
a unique non-zero node number by the application designer. RTEMS assumes that
@@ -85,9 +86,10 @@ The node number is used by RTEMS to identify each node when performing remote
operations. Thus, the Multiprocessor Communications Interface Layer (MPCI)
must be able to route messages based on the node number.
+.. index:: global objects, definition
+
Global Objects
--------------
-.. index:: global objects, definition
All RTEMS objects which are created with the GLOBAL attribute will be known on
all other nodes. Global objects can be referenced from any node in the system,
@@ -99,9 +101,10 @@ field in the Multiprocessor Configuration Table. The distribution of tasks to
processors is performed during the application design phase. Dynamic task
relocation is not supported by RTEMS.
+.. index:: global objects table
+
Global Object Table
-------------------
-.. index:: global objects table
RTEMS maintains two tables containing object information on every node in a
multiprocessor system: a local object table and a global object table. The
@@ -118,9 +121,10 @@ This parameter, as well as the maximum_nodes parameter, is required to be the
same on all nodes. To maintain consistency among the table copies, every node
in the system must be informed of the creation or deletion of a global object.
+.. index:: MPCI and remote operations
+
Remote Operations
-----------------
-.. index:: MPCI and remote operations
When an application performs an operation on a remote global object, RTEMS must
generate a Remote Request (RQ) message and send it to the appropriate node.
@@ -175,9 +179,10 @@ error handler should be invoked. RTEMS assumes the reliable transmission and
reception of messages by the MPCI and makes no attempt to detect or correct
errors.
+.. index:: proxy, definition
+
Proxies
-------
-.. index:: proxy, definition
A proxy is an RTEMS data structure which resides on a remote node and is used
to represent a task which must block as part of a remote operation. This action
@@ -381,9 +386,10 @@ The ``to_convert`` field of the ``rtems_packet_prefix`` portion of the packet
indicates how much of the packet in 32-bit units may require conversion in a
heterogeneous system.
+.. index:: heterogeneous multiprocessing
+
Supporting Heterogeneous Environments
-------------------------------------
-.. index:: heterogeneous multiprocessing
Developing an MPCI layer for a heterogeneous system requires a thorough
understanding of the differences between the processors which comprise the
@@ -476,11 +482,11 @@ usage, and status codes.
\clearpage
.. _rtems_multiprocessing_announce:
+.. index:: announce arrival of package
+.. index:: rtems_multiprocessing_announce
MULTIPROCESSING_ANNOUNCE - Announce the arrival of a packet
-----------------------------------------------------------
-.. index:: announce arrival of package
-.. index:: rtems_multiprocessing_announce
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/object_services.rst b/c-user/object_services.rst
index 0ee32ef..dd924da 100644
--- a/c-user/object_services.rst
+++ b/c-user/object_services.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: object manipulation
+
Object Services
***************
-.. index:: object manipulation
-
Introduction
============
@@ -181,11 +181,11 @@ Directives
\clearpage
.. _rtems_build_name:
+.. index:: build object name
+.. index:: rtems_build_name
BUILD_NAME - Build object name from characters
----------------------------------------------
-.. index:: build object name
-.. index:: rtems_build_name
CALLING SEQUENCE:
.. code-block:: c
@@ -213,13 +213,13 @@ NOTES:
\clearpage
.. _rtems_object_get_classic_name:
-
-OBJECT_GET_CLASSIC_NAME - Lookup name from id
----------------------------------------------
.. index:: get name from id
.. index:: obtain name from id
.. index:: rtems_object_get_classic_name
+OBJECT_GET_CLASSIC_NAME - Lookup name from id
+---------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -251,13 +251,13 @@ NOTES:
\clearpage
.. _rtems_object_get_name:
-
-OBJECT_GET_NAME - Obtain object name as string
-----------------------------------------------
.. index:: get object name as string
.. index:: obtain object name as string
.. index:: rtems_object_get_name
+OBJECT_GET_NAME - Obtain object name as string
+----------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -284,11 +284,11 @@ NOTES:
\clearpage
.. _rtems_object_set_name:
+.. index:: set object name
+.. index:: rtems_object_set_name
OBJECT_SET_NAME - Set object name
---------------------------------
-.. index:: set object name
-.. index:: rtems_object_set_name
CALLING SEQUENCE:
.. code-block:: c
@@ -331,11 +331,11 @@ NOTES:
\clearpage
.. _rtems_object_id_get_api:
+.. index:: obtain API from id
+.. index:: rtems_object_id_get_api
OBJECT_ID_GET_API - Obtain API from Id
--------------------------------------
-.. index:: obtain API from id
-.. index:: rtems_object_id_get_api
CALLING SEQUENCE:
.. code-block:: c
@@ -360,11 +360,11 @@ NOTES:
\clearpage
.. _rtems_object_id_get_class:
+.. index:: obtain class from object id
+.. index:: rtems_object_id_get_class
OBJECT_ID_GET_CLASS - Obtain Class from Id
------------------------------------------
-.. index:: obtain class from object id
-.. index:: rtems_object_id_get_class
CALLING SEQUENCE:
.. code-block:: c
@@ -389,11 +389,11 @@ NOTES:
\clearpage
.. _rtems_object_id_get_node:
+.. index:: obtain node from object id
+.. index:: rtems_object_id_get_node
OBJECT_ID_GET_NODE - Obtain Node from Id
----------------------------------------
-.. index:: obtain node from object id
-.. index:: rtems_object_id_get_node
CALLING SEQUENCE:
.. code-block:: c
@@ -418,11 +418,11 @@ NOTES:
\clearpage
.. _rtems_object_id_get_index:
+.. index:: obtain index from object id
+.. index:: rtems_object_id_get_index
OBJECT_ID_GET_INDEX - Obtain Index from Id
------------------------------------------
-.. index:: obtain index from object id
-.. index:: rtems_object_id_get_index
CALLING SEQUENCE:
.. code-block:: c
@@ -447,11 +447,11 @@ NOTES:
\clearpage
.. _rtems_build_id:
+.. index:: build object id from components
+.. index:: rtems_build_id
BUILD_ID - Build Object Id From Components
------------------------------------------
-.. index:: build object id from components
-.. index:: rtems_build_id
CALLING SEQUENCE:
.. code-block:: c
@@ -481,11 +481,11 @@ NOTES:
\clearpage
.. _rtems_object_id_api_minimum:
+.. index:: obtain minimum API value
+.. index:: rtems_object_id_api_minimum
OBJECT_ID_API_MINIMUM - Obtain Minimum API Value
------------------------------------------------
-.. index:: obtain minimum API value
-.. index:: rtems_object_id_api_minimum
CALLING SEQUENCE:
.. code-block:: c
@@ -506,11 +506,11 @@ NOTES:
\clearpage
.. _rtems_object_id_api_maximum:
+.. index:: obtain maximum API value
+.. index:: rtems_object_id_api_maximum
OBJECT_ID_API_MAXIMUM - Obtain Maximum API Value
------------------------------------------------
-.. index:: obtain maximum API value
-.. index:: rtems_object_id_api_maximum
CALLING SEQUENCE:
.. code-block:: c
@@ -531,11 +531,11 @@ NOTES:
\clearpage
.. _rtems_object_api_minimum_class:
+.. index:: obtain minimum class value
+.. index:: rtems_object_api_minimum_class
OBJECT_API_MINIMUM_CLASS - Obtain Minimum Class Value
-----------------------------------------------------
-.. index:: obtain minimum class value
-.. index:: rtems_object_api_minimum_class
CALLING SEQUENCE:
.. code-block:: c
@@ -562,11 +562,11 @@ NOTES:
\clearpage
.. _rtems_object_api_maximum_class:
+.. index:: obtain maximum class value
+.. index:: rtems_object_api_maximum_class
OBJECT_API_MAXIMUM_CLASS - Obtain Maximum Class Value
-----------------------------------------------------
-.. index:: obtain maximum class value
-.. index:: rtems_object_api_maximum_class
CALLING SEQUENCE:
.. code-block:: c
@@ -593,11 +593,11 @@ NOTES:
\clearpage
.. _rtems_object_id_api_minimum_class:
+.. index:: obtain minimum class value for an API
+.. index:: rtems_object_id_api_minimum_class
OBJECT_ID_API_MINIMUM_CLASS - Obtain Minimum Class Value for an API
-------------------------------------------------------------------
-.. index:: obtain minimum class value for an API
-.. index:: rtems_object_id_api_minimum_class
CALLING SEQUENCE:
.. code-block:: c
@@ -624,11 +624,11 @@ NOTES:
\clearpage
.. _rtems_object_id_api_maximum_class:
+.. index:: obtain maximum class value for an API
+.. index:: rtems_object_id_api_maximum_class
OBJECT_ID_API_MAXIMUM_CLASS - Obtain Maximum Class Value for an API
-------------------------------------------------------------------
-.. index:: obtain maximum class value for an API
-.. index:: rtems_object_id_api_maximum_class
CALLING SEQUENCE:
.. code-block:: c
@@ -655,11 +655,11 @@ NOTES:
\clearpage
.. _rtems_object_get_api_name:
+.. index:: obtain API name
+.. index:: rtems_object_get_api_name
OBJECT_GET_API_NAME - Obtain API Name
-------------------------------------
-.. index:: obtain API name
-.. index:: rtems_object_get_api_name
CALLING SEQUENCE:
.. code-block:: c
@@ -687,11 +687,11 @@ NOTES:
\clearpage
.. _rtems_object_get_api_class_name:
+.. index:: obtain class name
+.. index:: rtems_object_get_api_class_name
OBJECT_GET_API_CLASS_NAME - Obtain Class Name
---------------------------------------------
-.. index:: obtain class name
-.. index:: rtems_object_get_api_class_name
CALLING SEQUENCE:
.. code-block:: c
@@ -723,11 +723,11 @@ NOTES:
\clearpage
.. _rtems_object_get_class_information:
+.. index:: obtain class information
+.. index:: rtems_object_get_class_information
OBJECT_GET_CLASS_INFORMATION - Obtain Class Information
-------------------------------------------------------
-.. index:: obtain class information
-.. index:: rtems_object_get_class_information
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/overview.rst b/c-user/overview.rst
index e6722af..3a1862c 100644
--- a/c-user/overview.rst
+++ b/c-user/overview.rst
@@ -38,6 +38,8 @@ dependent are provided in the Applications Supplement documents. A supplement
document which addresses specific architectural issues that affect RTEMS is
provided for each processor type that is supported.
+.. index:: Real-time applications
+
Real-time Application Systems
=============================
@@ -73,6 +75,8 @@ communication channels and global resources that must be shared between
competing processors are introduced. The ramifications of multiple processors
complicate each and every characteristic of a real-time system.
+.. index:: Real-time executive
+
Real-time Executive
===================
@@ -113,6 +117,8 @@ developer is then able to concentrate solely on the application. By using
standard software components, the time and cost required to develop
sophisticated real-time applications is significantly reduced.
+.. index:: Application architecture
+
RTEMS Application Architecture
==============================
@@ -135,6 +141,8 @@ real-time system can benefit from this architecture by building a rich library
of standard application components which can be used repeatedly in other
real-time projects.
+.. index:: Internal Architecture
+
RTEMS Internal Architecture
===========================
diff --git a/c-user/partition_manager.rst b/c-user/partition_manager.rst
index fafd988..9edf09f 100644
--- a/c-user/partition_manager.rst
+++ b/c-user/partition_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: partitions
+
Partition Manager
*****************
-.. index:: partitions
-
Introduction
============
@@ -28,9 +28,10 @@ fixed-size units. The directives provided by the partition manager are:
Background
==========
+.. index:: partition, definition
+
Partition Manager Definitions
-----------------------------
-.. index:: partition, definition
A partition is a physically contiguous memory area divided into fixed-size
buffers that can be dynamically allocated and deallocated.
@@ -45,9 +46,10 @@ buffer is allocated, the entire buffer is available for application use.
Therefore, modifying memory that is outside of an allocated buffer could
destroy the free buffer chain or the contents of an adjacent allocated buffer.
+.. index:: partition attribute set, building
+
Building a Partition Attribute Set
----------------------------------
-.. index:: partition attribute set, building
In general, an attribute set is built by a bitwise OR of the desired attribute
components. The set of valid partition attributes is provided in the following
@@ -134,11 +136,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_partition_create:
+.. index:: create a partition
+.. index:: rtems_partition_create
PARTITION_CREATE - Create a partition
-------------------------------------
-.. index:: create a partition
-.. index:: rtems_partition_create
CALLING SEQUENCE:
.. code-block:: c
@@ -228,13 +230,13 @@ NOTES:
\clearpage
.. _rtems_partition_ident:
-
-PARTITION_IDENT - Get ID of a partition
----------------------------------------
.. index:: get ID of a partition
.. index:: obtain ID of a partition
.. index:: rtems_partition_ident
+PARTITION_IDENT - Get ID of a partition
+---------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -282,11 +284,11 @@ NOTES:
\clearpage
.. _rtems_partition_delete:
+.. index:: delete a partition
+.. index:: rtems_partition_delete
PARTITION_DELETE - Delete a partition
-------------------------------------
-.. index:: delete a partition
-.. index:: rtems_partition_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -331,13 +333,13 @@ NOTES:
\clearpage
.. _rtems_partition_get_buffer:
-
-PARTITION_GET_BUFFER - Get buffer from a partition
---------------------------------------------------
.. index:: get buffer from partition
.. index:: obtain buffer from partition
.. index:: rtems_partition_get_buffer
+PARTITION_GET_BUFFER - Get buffer from a partition
+--------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -379,11 +381,11 @@ NOTES:
\clearpage
.. _rtems_partition_return_buffer:
+.. index:: return buffer to partitition
+.. index:: rtems_partition_return_buffer
PARTITION_RETURN_BUFFER - Return buffer to a partition
------------------------------------------------------
-.. index:: return buffer to partitition
-.. index:: rtems_partition_return_buffer
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/pci_library.rst b/c-user/pci_library.rst
index ea0bf51..736888d 100644
--- a/c-user/pci_library.rst
+++ b/c-user/pci_library.rst
@@ -4,12 +4,12 @@
.. COMMENT: Aeroflex Gaisler AB
.. COMMENT: All rights reserved.
+.. index:: PCI
+.. index:: libpci
PCI Library
***********
-.. index:: libpci
-
Introduction
============
@@ -390,6 +390,8 @@ this is mosly for debugging or for development systems. When the product is
finally deployed macros switch to using the inline functions instead which have
been configured for the correct endianness.
+.. index:: PCI address translation
+
PCI address translation
~~~~~~~~~~~~~~~~~~~~~~~
@@ -408,6 +410,8 @@ different PCI spaces/regions.
/* Translate CPU accessible address into PCI address (for DMA) */
static inline int pci_cpu2pci(uint32_t *address, int type);
+.. index:: PCI Interrupt
+
PCI Interrupt
-------------
diff --git a/c-user/rate_monotonic_manager.rst b/c-user/rate_monotonic_manager.rst
index 96539ed..ad675b0 100644
--- a/c-user/rate_monotonic_manager.rst
+++ b/c-user/rate_monotonic_manager.rst
@@ -5,12 +5,12 @@
.. COMMENT: COPYRIGHT (c) 2017 Kuan-Hsun Chen.
.. COMMENT: All rights reserved.
-Rate Monotonic Manager
-**********************
-
.. index:: rate mononitonic tasks
.. index:: periodic tasks
+Rate Monotonic Manager
+**********************
+
Introduction
============
@@ -133,9 +133,10 @@ milliseconds every 100 (10 percent of the CPU). As a general rule of thumb,
the higher frequency at which a task executes, the more important it is to
optimize that task.
+.. index:: periodic task, definition
+
Periodicity Definitions
----------------------------------
-.. index:: periodic task, definition
A periodic task is one which must be executed at a regular interval. The
interval between successive iterations of the task is referred to as its
@@ -165,11 +166,12 @@ joystick. The mechanical action of the fire button ensures a minimum time
period between successive activations, but the missile must be launched by a
hard deadline.
-Rate Monotonic Scheduling Algorithm
------------------------------------
.. index:: Rate Monotonic Scheduling Algorithm, definition
.. index:: RMS Algorithm, definition
+Rate Monotonic Scheduling Algorithm
+-----------------------------------
+
The Rate Monotonic Scheduling Algorithm (RMS) is important to real-time systems
designers because it allows one to sufficiently guarantee that a set of tasks
is schedulable (see :cite:`Liu:1973:Scheduling`, :cite:`Lehoczky:1989:RM`,
@@ -229,11 +231,11 @@ highest priority non-critical task. Although RMS may be used to assign
priorities to the non-critical tasks, it is not necessary. In this instance,
schedulability is only guaranteed for the critical task set.
+.. index:: RMS schedulability analysis
+
Schedulability Analysis
-----------------------
-.. index:: RMS schedulability analysis
-
RMS allows application designers to ensure that tasks can meet all deadlines under fixed-priority assignment,
even under transient overload, without knowing exactly when any given task will
execute by applying proven schedulability analysis rules.
@@ -261,9 +263,10 @@ assumptions:
Once the basic schedulability analysis is understood, some of the above
assumptions can be relaxed and the side-effects accounted for.
+.. index:: RMS Processor Utilization Rule
+
Processor Utilization Rule
^^^^^^^^^^^^^^^^^^^^^^^^^^
-.. index:: RMS Processor Utilization Rule
The Processor Utilization Rule requires that processor utilization be
calculated based upon the period and execution time of each task.
@@ -312,9 +315,10 @@ upper bound of 3 * (2**(1/3) - 1), or 0.779, imposed by the Processor
Utilization Rule. Therefore, this task set is guaranteed to be schedulable
using RMS.
+.. index:: RMS First Deadline Rule
+
First Deadline Rule
^^^^^^^^^^^^^^^^^^^
-.. index:: RMS First Deadline Rule
If a given set of tasks do exceed the processor utilization upper limit imposed
by the Processor Utilization Rule, they can still be guaranteed to meet all
@@ -631,11 +635,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_rate_monotonic_create:
+.. index:: create a period
+.. index:: rtems_rate_monotonic_create
RATE_MONOTONIC_CREATE - Create a rate monotonic period
------------------------------------------------------
-.. index:: create a period
-.. index:: rtems_rate_monotonic_create
CALLING SEQUENCE:
.. code-block:: c
@@ -671,13 +675,13 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_ident:
-
-RATE_MONOTONIC_IDENT - Get ID of a period
------------------------------------------
.. index:: get ID of a period
.. index:: obtain ID of a period
.. index:: rtems_rate_monotonic_ident
+RATE_MONOTONIC_IDENT - Get ID of a period
+-----------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -710,11 +714,11 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_cancel:
+.. index:: cancel a period
+.. index:: rtems_rate_monotonic_cancel
RATE_MONOTONIC_CANCEL - Cancel a period
---------------------------------------
-.. index:: cancel a period
-.. index:: rtems_rate_monotonic_cancel
CALLING SEQUENCE:
.. code-block:: c
@@ -752,10 +756,10 @@ NOTES:
.. _rtems_rate_monotonic_delete:
.. index:: rtems_rate_monotonic_delete
+.. index:: delete a period
RATE_MONOTONIC_DELETE - Delete a rate monotonic period
------------------------------------------------------
-.. index:: delete a period
CALLING SEQUENCE:
.. code-block:: c
@@ -790,14 +794,14 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_period:
-
-RATE_MONOTONIC_PERIOD - Conclude current/Start next period
-----------------------------------------------------------
.. index:: conclude current period
.. index:: start current period
.. index:: period initiation
.. index:: rtems_rate_monotonic_period
+RATE_MONOTONIC_PERIOD - Conclude current/Start next period
+----------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -844,13 +848,13 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_get_status:
-
-RATE_MONOTONIC_GET_STATUS - Obtain status from a period
--------------------------------------------------------
.. index:: get status of period
.. index:: obtain status of period
.. index:: rtems_rate_monotonic_get_status
+RATE_MONOTONIC_GET_STATUS - Obtain status from a period
+-------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -909,13 +913,13 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_get_statistics:
-
-RATE_MONOTONIC_GET_STATISTICS - Obtain statistics from a period
----------------------------------------------------------------
.. index:: get statistics of period
.. index:: obtain statistics of period
.. index:: rtems_rate_monotonic_get_statistics
+RATE_MONOTONIC_GET_STATISTICS - Obtain statistics from a period
+---------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -978,11 +982,11 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_reset_statistics:
+.. index:: reset statistics of period
+.. index:: rtems_rate_monotonic_reset_statistics
RATE_MONOTONIC_RESET_STATISTICS - Reset statistics for a period
---------------------------------------------------------------
-.. index:: reset statistics of period
-.. index:: rtems_rate_monotonic_reset_statistics
CALLING SEQUENCE:
.. code-block:: c
@@ -1012,11 +1016,11 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_reset_all_statistics:
+.. index:: reset statistics of all periods
+.. index:: rtems_rate_monotonic_reset_all_statistics
RATE_MONOTONIC_RESET_ALL_STATISTICS - Reset statistics for all periods
----------------------------------------------------------------------
-.. index:: reset statistics of all periods
-.. index:: rtems_rate_monotonic_reset_all_statistics
CALLING SEQUENCE:
.. code-block:: c
@@ -1038,13 +1042,13 @@ NOTES:
\clearpage
.. _rtems_rate_monotonic_report_statistics:
-
-RATE_MONOTONIC_REPORT_STATISTICS - Print period statistics report
------------------------------------------------------------------
.. index:: print period statistics report
.. index:: period statistics report
.. index:: rtems_rate_monotonic_report_statistics
+RATE_MONOTONIC_REPORT_STATISTICS - Print period statistics report
+-----------------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/red_black_trees.rst b/c-user/red_black_trees.rst
index 53c8f81..bac16d1 100644
--- a/c-user/red_black_trees.rst
+++ b/c-user/red_black_trees.rst
@@ -4,11 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: Red-Black Trees
+.. index:: rbtrees
+
Red-Black Trees
***************
-.. index:: rbtrees
-
Introduction
============
@@ -111,9 +112,10 @@ Examples for using the red-black trees can be found in the
Directives
==========
+.. index:: rbtree doc
+
Documentation for the Red-Black Tree Directives
-----------------------------------------------
-.. index:: rbtree doc
Source documentation for the Red-Black Tree API can be found in the generated
Doxygen output for ``cpukit/sapi``.
diff --git a/c-user/region_manager.rst b/c-user/region_manager.rst
index 70cf31d..9867a72 100644
--- a/c-user/region_manager.rst
+++ b/c-user/region_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: regions
+
Region Manager
**************
-.. index:: regions
-
Introduction
============
@@ -34,11 +34,12 @@ variable sized units. The directives provided by the region manager are:
Background
==========
-Region Manager Definitions
---------------------------
.. index:: region, definition
.. index:: segment, definition
+Region Manager Definitions
+--------------------------
+
A region makes up a physically contiguous memory space with user-defined
boundaries from which variable-sized segments are dynamically allocated and
deallocated. A segment is a variable size section of memory which is allocated
@@ -59,9 +60,10 @@ boundaries while the region is currently active in the system.
Upon return to the region, the free block is coalesced with its neighbors (if
free) on both sides to produce the largest possible unused block.
+.. index:: region attribute set, building
+
Building an Attribute Set
-------------------------
-.. index:: region attribute set, building
In general, an attribute set is built by a bitwise OR of the desired attribute
components. The set of valid region attributes is provided in the following
@@ -223,10 +225,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_region_create:
+.. index:: create a region
REGION_CREATE - Create a region
-------------------------------
-.. index:: create a region
+
CALLING SEQUENCE:
.. code-block:: c
@@ -298,13 +301,13 @@ NOTES:
\clearpage
.. _rtems_region_ident:
-
-REGION_IDENT - Get ID of a region
----------------------------------
.. index:: get ID of a region
.. index:: obtain ID of a region
.. index:: rtems_region_ident
+REGION_IDENT - Get ID of a region
+---------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -340,11 +343,11 @@ NOTES:
\clearpage
.. _rtems_region_delete:
+.. index:: delete a region
+.. index:: rtems_region_delete
REGION_DELETE - Delete a region
-------------------------------
-.. index:: delete a region
-.. index:: rtems_region_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -381,13 +384,13 @@ NOTES:
\clearpage
.. _rtems_region_extend:
-
-REGION_EXTEND - Add memory to a region
---------------------------------------
.. index:: add memory to a region
.. index:: region, add memory
.. index:: rtems_region_extend
+REGION_EXTEND - Add memory to a region
+--------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -434,11 +437,11 @@ NOTES:
\clearpage
.. _rtems_region_get_segment:
+.. index:: get segment from region
+.. index:: rtems_region_get_segment
REGION_GET_SEGMENT - Get segment from a region
----------------------------------------------
-.. index:: get segment from region
-.. index:: rtems_region_get_segment
CALLING SEQUENCE:
.. code-block:: c
@@ -520,11 +523,11 @@ NOTES:
\clearpage
.. _rtems_region_return_segment:
+.. index:: return segment to region
+.. index:: rtems_region_return_segment
REGION_RETURN_SEGMENT - Return segment to a region
--------------------------------------------------
-.. index:: return segment to region
-.. index:: rtems_region_return_segment
CALLING SEQUENCE:
.. code-block:: c
@@ -569,11 +572,11 @@ NOTES:
\clearpage
.. _rtems_region_get_segment_size:
+.. index:: get size of segment
+.. index:: rtems_region_get_segment_size
REGION_GET_SEGMENT_SIZE - Obtain size of a segment
--------------------------------------------------
-.. index:: get size of segment
-.. index:: rtems_region_get_segment_size
CALLING SEQUENCE:
.. code-block:: c
@@ -611,11 +614,11 @@ NOTES:
\clearpage
.. _rtems_region_resize_segment:
+.. index:: resize segment
+.. index:: rtems_region_resize_segment
REGION_RESIZE_SEGMENT - Change size of a segment
------------------------------------------------
-.. index:: resize segment
-.. index:: rtems_region_resize_segment
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/rtems_data_types.rst b/c-user/rtems_data_types.rst
index e5be2f3..6e76367 100644
--- a/c-user/rtems_data_types.rst
+++ b/c-user/rtems_data_types.rst
@@ -4,6 +4,9 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: RTEMS Data Types
+.. index:: data types
+
RTEMS Data Types
****************
diff --git a/c-user/scheduling_concepts.rst b/c-user/scheduling_concepts.rst
index d6a57c4..ff47e0a 100644
--- a/c-user/scheduling_concepts.rst
+++ b/c-user/scheduling_concepts.rst
@@ -4,12 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
-Scheduling Concepts
-*******************
-
.. index:: scheduling
.. index:: task scheduling
+Scheduling Concepts
+*******************
+
Introduction
============
@@ -39,11 +39,11 @@ The directives provided by the scheduler manager are:
- rtems_scheduler_remove_processor_ - Remove processor from a scheduler
+.. index:: scheduling algorithms
+
Scheduling Algorithms
---------------------
-.. index:: scheduling algorithms
-
RTEMS provides a plugin framework which allows it to support multiple
scheduling algorithms. RTEMS includes multiple scheduling algorithms and the
user can select which of these they wish to use in their application at
@@ -60,9 +60,10 @@ scheduling algorithm. This scheduling algoritm is suitable for uniprocessor
Scheduler*. Unless the user configures another scheduling algorithm, RTEMS
will use this on uniprocessor systems.
+.. index:: priority scheduling
+
Priority Scheduling
-------------------
-.. index:: priority scheduling
When using priority based scheduling, RTEMS allocates the processor using a
priority-based, preemptive algorithm augmented to provide round-robin
@@ -153,9 +154,10 @@ supporting a large number of tasks.
This scheduler is only aware of a single core.
+.. index:: earliest deadline first scheduling
+
Earliest Deadline First Scheduler
---------------------------------
-.. index:: earliest deadline first scheduling
This is an alternative scheduler in RTEMS for single core applications. The
primary EDF advantage is high total CPU utilization (theoretically up to
@@ -185,9 +187,10 @@ period, it has to be finished until the end of this period. The call of
deadline. Moreover, the ``rtems_rate_monotonic_cancel`` and
``rtems_rate_monotonic_delete`` calls clear the deadlines assigned to the task.
+.. index:: constant bandwidth server scheduling
+
Constant Bandwidth Server Scheduling (CBS)
------------------------------------------
-.. index:: constant bandwidth server scheduling
This is an alternative scheduler in RTEMS for single core applications. The
CBS is a budget aware extension of EDF scheduler. The main goal of this
@@ -264,11 +267,11 @@ levels). This scheduler supports arbitrary task processor affinities. The
worst-case run-time complexity of some scheduler operations exceeds
:math:`O(n)` while :math:`n` is the count of ready tasks.
+.. index:: scheduling mechanisms
+
Scheduling Modification Mechanisms
==================================
-.. index:: scheduling mechanisms
-
RTEMS provides four mechanisms which allow the user to alter the task
scheduling decisions:
@@ -290,9 +293,10 @@ timeslicing and manual round-robin it is important to keep in mind that
preemption (if enabled) of a task by higher priority tasks will occur as
required, overriding the other factors presented in the description.
+.. index:: task priority
+
Task Priority and Scheduling
----------------------------
-.. index:: task priority
The most significant task scheduling modification mechanism is the ability for
the user to assign a priority level to each individual task when it is created
@@ -301,9 +305,10 @@ on the configured scheduler. A lower priority level means higher priority
(higher importance). The maximum priority level of the default uniprocessor
scheduler is 255.
+.. index:: preemption
+
Preemption
----------
-.. index:: preemption
Another way the user can alter the basic scheduling algorithm is by
manipulating the preemption mode flag (``RTEMS_PREEMPT_MASK``) of individual
@@ -314,11 +319,12 @@ higher priority levels will not be allowed to execute. Note that the
preemption setting has no effect on the manner in which a task is scheduled.
It only applies once a task has control of the processor.
-Timeslicing
------------
.. index:: timeslicing
.. index:: round robin scheduling
+Timeslicing
+-----------
+
Timeslicing or round-robin scheduling is an additional method which can be used
to alter the basic scheduling algorithm. Like preemption, timeslicing is
specified on a task by task basis using the timeslicing mode flag
@@ -333,9 +339,10 @@ and continues to run. Remember that a higher priority task will preempt the
task (unless preemption is disabled) as soon as it is ready to run, even if the
task has not used up its entire timeslice.
+.. index:: manual round robin
+
Manual Round-Robin
------------------
-.. index:: manual round robin
The final mechanism for altering the RTEMS scheduling algorithm is called
manual round-robin. Manual round-robin is invoked by using
@@ -345,9 +352,10 @@ immediately returned to the ready chain at the end of its priority group. If
no other tasks of the same priority are ready to run, then the task does not
lose control of the processor.
+.. index:: dispatching
+
Dispatching Tasks
=================
-.. index:: dispatching
The dispatcher is the RTEMS component responsible for allocating the processor
to a ready task. In order to allocate the processor to one task, it must be
@@ -370,9 +378,10 @@ unnecessary save and restore operations, the state of the numeric coprocessor
is only saved when a ``RTEMS_FLOATING_POINT`` task is dispatched and that task
was not the last task to utilize the coprocessor.
+.. index:: task state transitions
+
Task State Transitions
======================
-.. index:: task state transitions
Tasks in an RTEMS system must always be in one of the five allowable task
states. These states are: executing, ready, blocked, dormant, and
diff --git a/c-user/semaphore_manager.rst b/c-user/semaphore_manager.rst
index 58558a5..6d95708 100644
--- a/c-user/semaphore_manager.rst
+++ b/c-user/semaphore_manager.rst
@@ -4,14 +4,14 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
-Semaphore Manager
-*****************
-
.. index:: semaphores
.. index:: binary semaphores
.. index:: counting semaphores
.. index:: mutual exclusion
+Semaphore Manager
+*****************
+
Introduction
============
@@ -325,11 +325,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_semaphore_create:
+.. index:: create a semaphore
+.. index:: rtems_semaphore_create
SEMAPHORE_CREATE - Create a semaphore
-------------------------------------
-.. index:: create a semaphore
-.. index:: rtems_semaphore_create
CALLING SEQUENCE:
@@ -437,14 +437,13 @@ NOTES:
\clearpage
.. _rtems_semaphore_ident:
-
-SEMAPHORE_IDENT - Get ID of a semaphore
----------------------------------------
.. index:: get ID of a semaphore
.. index:: obtain ID of a semaphore
-
.. index:: rtems_semaphore_ident
+SEMAPHORE_IDENT - Get ID of a semaphore
+---------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -490,11 +489,11 @@ NOTES:
\clearpage
.. _rtems_semaphore_delete:
+.. index:: delete a semaphore
+.. index:: rtems_semaphore_delete
SEMAPHORE_DELETE - Delete a semaphore
-------------------------------------
-.. index:: delete a semaphore
-.. index:: rtems_semaphore_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -546,13 +545,13 @@ NOTES:
\clearpage
.. _rtems_semaphore_obtain:
-
-SEMAPHORE_OBTAIN - Acquire a semaphore
---------------------------------------
.. index:: obtain a semaphore
.. index:: lock a semaphore
.. index:: rtems_semaphore_obtain
+SEMAPHORE_OBTAIN - Acquire a semaphore
+--------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -645,13 +644,13 @@ NOTES:
\clearpage
.. _rtems_semaphore_release:
-
-SEMAPHORE_RELEASE - Release a semaphore
----------------------------------------
.. index:: release a semaphore
.. index:: unlock a semaphore
.. index:: rtems_semaphore_release
+SEMAPHORE_RELEASE - Release a semaphore
+---------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -706,13 +705,13 @@ NOTES:
\clearpage
.. _rtems_semaphore_flush:
-
-SEMAPHORE_FLUSH - Unblock all tasks waiting on a semaphore
-----------------------------------------------------------
.. index:: flush a semaphore
.. index:: unblock all tasks waiting on a semaphore
.. index:: rtems_semaphore_flush
+SEMAPHORE_FLUSH - Unblock all tasks waiting on a semaphore
+----------------------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -762,11 +761,11 @@ NOTES:
\clearpage
.. _rtems_semaphore_set_priority:
+.. index:: set priority by scheduler for a semaphore
+.. index:: rtems_semaphore_set_priority
SEMAPHORE_SET_PRIORITY - Set priority by scheduler for a semaphore
------------------------------------------------------------------
-.. index:: set priority by scheduler for a semaphore
-.. index:: rtems_semaphore_set_priority
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/signal_manager.rst b/c-user/signal_manager.rst
index 2bc9709..6b74854 100644
--- a/c-user/signal_manager.rst
+++ b/c-user/signal_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: signals
+
Signal Manager
**************
-.. index:: signals
-
Introduction
============
@@ -22,11 +22,12 @@ communication. The directives provided by the signal manager are:
Background
==========
-Signal Manager Definitions
---------------------------
.. index:: asynchronous signal routine
.. index:: ASR
+Signal Manager Definitions
+--------------------------
+
The signal manager allows a task to optionally define an asynchronous signal
routine (ASR). An ASR is to a task what an ISR is to an application's set of
tasks. When the processor is interrupted, the execution of an application is
@@ -46,11 +47,12 @@ A signal set is posted when it is directed (or sent) to a task. A pending
signal is a signal that has been sent to a task with a valid ASR, but has not
been processed by that task's ASR.
-A Comparison of ASRs and ISRs
------------------------------
.. index:: ASR vs. ISR
.. index:: ISR vs. ASR
+A Comparison of ASRs and ISRs
+-----------------------------
+
The format of an ASR is similar to that of an ISR with the following
exceptions:
@@ -66,9 +68,10 @@ exceptions:
- An ASR has a task mode which can be different from that of the task. An ISR
does not execute as a task and, as a result, does not have a task mode.
+.. index:: signal set, building
+
Building a Signal Set
---------------------
-.. index:: signal set, building
A signal set is built by a bitwise OR of the desired signals. The set of valid
signals is ``RTEMS_SIGNAL_0`` through ``RTEMS_SIGNAL_31``. If a signal is not
@@ -82,9 +85,10 @@ consisting of ``RTEMS_SIGNAL_6``, ``RTEMS_SIGNAL_15``, and ``RTEMS_SIGNAL_31``.
The signal parameter provided to the ``rtems_signal_send`` directive should be
``RTEMS_SIGNAL_6 | RTEMS_SIGNAL_15 | RTEMS_SIGNAL_31``.
+.. index:: ASR mode, building
+
Building an ASR Mode
--------------------
-.. index:: ASR mode, building
In general, an ASR's mode is built by a bitwise OR of the desired mode
components. The set of valid mode components is the same as those allowed with
@@ -175,6 +179,8 @@ sending the same signal multiple times to a task (without any intermediate
signal processing occurring for the task), has the same result as sending that
signal to that task once.
+.. index:: rtems_asr
+
Processing an ASR
-----------------
@@ -185,8 +191,6 @@ and ISRs is limited to the meaning of the single argument passed to an ASR.
The ASR should have the following calling sequence and adhere to C calling
conventions:
-.. index:: rtems_asr
-
.. code-block:: c
rtems_asr user_routine(
@@ -208,13 +212,13 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_signal_catch:
-
-SIGNAL_CATCH - Establish an ASR
--------------------------------
.. index:: establish an ASR
.. index:: install an ASR
.. index:: rtems_signal_catch
+SIGNAL_CATCH - Establish an ASR
+-------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -269,11 +273,11 @@ NOTES:
\clearpage
.. _rtems_signal_send:
+.. index:: send signal set
+.. index:: rtems_signal_send
SIGNAL_SEND - Send signal set to a task
---------------------------------------
-.. index:: send signal set
-.. index:: rtems_signal_send
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/stack_bounds_checker.rst b/c-user/stack_bounds_checker.rst
index 67f1771..31ecf1d 100644
--- a/c-user/stack_bounds_checker.rst
+++ b/c-user/stack_bounds_checker.rst
@@ -4,11 +4,12 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: Stack Bounds Checker
+.. index:: stack
+
Stack Bounds Checker
********************
-.. index:: stack
-
Introduction
============
diff --git a/c-user/symmetric_multiprocessing_services.rst b/c-user/symmetric_multiprocessing_services.rst
index 5ff24a3..0cdf1ef 100644
--- a/c-user/symmetric_multiprocessing_services.rst
+++ b/c-user/symmetric_multiprocessing_services.rst
@@ -5,6 +5,9 @@
.. COMMENT: Copyright (c) 2017 embedded brains GmbH.
.. COMMENT: All rights reserved.
+.. index:: Symmetric Multiprocessing
+.. index:: SMP
+
Symmetric Multiprocessing (SMP)
*******************************
@@ -124,11 +127,12 @@ when a task switch occurred at just the wrong moment. Now there are N-1 tasks
executing in parallel all the time and this results in many more opportunities
for small windows in critical sections to be hit.
-Task Affinity
--------------
.. index:: task affinity
.. index:: thread affinity
+Task Affinity
+-------------
+
RTEMS provides services to manipulate the affinity of a task. Affinity is used
to specify the subset of processors in an SMP system on which a particular task
can execute.
@@ -144,11 +148,12 @@ not support affinity, it is likely to ignore all attempts to set affinity.
The scheduler with support for arbitary processor affinities uses a proof of
concept implementation. See https://devel.rtems.org/ticket/2510.
-Task Migration
---------------
.. index:: task migration
.. index:: thread migration
+Task Migration
+--------------
+
With more than one processor in the system tasks can migrate from one processor
to another. There are four reasons why tasks migrate in RTEMS.
diff --git a/c-user/task_manager.rst b/c-user/task_manager.rst
index be99895..8934315 100644
--- a/c-user/task_manager.rst
+++ b/c-user/task_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: tasks
+
Task Manager
************
-.. index:: tasks
-
Introduction
============
@@ -56,9 +56,10 @@ and administer tasks. The directives provided by the task manager are:
Background
==========
+.. index:: task, definition
+
Task Definition
---------------
-.. index:: task, definition
Many definitions of a task have been proposed in computer literature.
Unfortunately, none of these definitions encompasses all facets of the concept
@@ -102,9 +103,10 @@ regains control of the processor, its context is restored from the TCB. When a
task is restarted, the initial state of the task is restored from the starting
context area in the task's TCB.
+.. index:: task name
+
Task Name
---------
-.. index:: task name
By default, the task name is defined by the task object name given to
:ref:`rtems_task_create() <rtems_task_create>`. The task name can be obtained
@@ -116,9 +118,10 @@ The maximum size of a task name is defined by the application configuration
option :ref:`CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
<CONFIGURE_MAXIMUM_THREAD_NAME_SIZE>`.
+.. index:: task states
+
Task States
-----------
-.. index:: task states
A task may exist in one of the following five states:
@@ -140,12 +143,13 @@ tasks appear to execute in parallel, but actually each is dispatched to the CPU
for periods of time determined by the RTEMS scheduling algorithm. The
scheduling of a task is based on its current state and priority.
-Task Priority
--------------
.. index:: task priority
.. index:: priority, task
.. index:: rtems_task_priority
+Task Priority
+-------------
+
A task's priority determines its importance in relation to the other tasks
executing on the same processor. RTEMS supports 255 levels of priority ranging
from 1 to 255. The data type ``rtems_task_priority`` is used to store task
@@ -164,11 +168,12 @@ Priorities are used by the scheduler to determine which ready task will be
allowed to execute. In general, the higher the logical priority of a task, the
more likely it is to receive processor execution time.
-Task Mode
----------
.. index:: task mode
.. index:: rtems_task_mode
+Task Mode
+---------
+
A task's execution mode is a combination of the following four components:
- preemption
@@ -242,11 +247,12 @@ the task will execute at interrupt level n.
The set of default modes may be selected by specifying the
``RTEMS_DEFAULT_MODES`` constant.
-Accessing Task Arguments
-------------------------
.. index:: task arguments
.. index:: task prototype
+Accessing Task Arguments
+------------------------
+
All RTEMS tasks are invoked with a single argument which is specified when they
are started or restarted. The argument is commonly used to communicate startup
information to the task. The simplest manner in which to define a task which
@@ -263,9 +269,10 @@ accesses it argument is:
Application tasks requiring more information may view this single argument as
an index into an array of parameter blocks.
+.. index:: floating point
+
Floating Point Considerations
-----------------------------
-.. index:: floating point
Creating a task with the ``RTEMS_FLOATING_POINT`` attribute flag results in
additional memory being allocated for the TCB to store the state of the numeric
@@ -313,9 +320,10 @@ consequence of a ``RTEMS_NO_FLOATING_POINT`` task attempting to access the
floating point unit is CPU dependent but will generally result in an exception
condition.
+.. index:: task attributes, building
+
Building a Task Attribute Set
-----------------------------
-.. index:: task attributes, building
In general, an attribute set is built by a bitwise OR of the desired
components. The set of valid task attribute components is listed below:
@@ -347,9 +355,10 @@ attribute_set parameter can be set to ``RTEMS_FLOATING_POINT`` because
and used the numeric coprocessor, then the attribute_set parameter would be
``RTEMS_GLOBAL | RTEMS_FLOATING_POINT``.
+.. index:: task mode, building
+
Building a Mode and Mask
------------------------
-.. index:: task mode, building
In general, a mode and its corresponding mask is built by a bitwise OR of the
desired components. The set of valid mode constants and each mode's
@@ -547,12 +556,12 @@ It is important to note that the ``cpuset`` is not validated until the
``rtems_task_set_affinity`` call is made. At that point, it is validated
against the current system configuration.
-Transition Advice for Obsolete Notepads
----------------------------------------
-
.. index:: rtems_task_get_note
.. index:: rtems_task_set_note
+Transition Advice for Obsolete Notepads
+---------------------------------------
+
Task notepads and the associated directives :ref:`rtems_task_get_note` and
:ref:`rtems_task_set_note` were removed in RTEMS 5.1. These were never
thread-safe to access and subject to conflicting use of the notepad index by
@@ -564,13 +573,13 @@ over the key (e.g. notepad index) selection. For most applications, POSIX Keys
should be used. These are available in all RTEMS build configurations. It is
also possible that thread-local storage (TLS) is an option for some use cases.
-Transition Advice for Obsolete Task Variables
----------------------------------------------
-
.. index:: rtems_task_variable_add
.. index:: rtems_task_variable_get
.. index:: rtems_task_variable_delete
+Transition Advice for Obsolete Task Variables
+---------------------------------------------
+
Task notepads and the associated directives :ref:`rtems_task_variable_add`,
:ref:`rtems_task_variable_get` and :ref:`rtems_task_variable_delete` were
removed in RTEMS 5.1. Task variables must be replaced by POSIX Keys or
@@ -590,11 +599,11 @@ related constants, usage, and status codes.
\clearpage
.. _rtems_task_create:
+.. index:: create a task
+.. index:: rtems_task_create
TASK_CREATE - Create a task
---------------------------
-.. index:: create a task
-.. index:: rtems_task_create
CALLING SEQUENCE:
.. code-block:: c
@@ -735,11 +744,11 @@ NOTES:
\clearpage
.. _rtems_task_ident:
+.. index:: get ID of a task
+.. index:: rtems_task_ident
TASK_IDENT - Get ID of a task
-----------------------------
-.. index:: get ID of a task
-.. index:: rtems_task_ident
CALLING SEQUENCE:
.. code-block:: c
@@ -789,11 +798,11 @@ NOTES:
\clearpage
.. _rtems_task_self:
+.. index:: obtain ID of caller
+.. index:: rtems_task_self
TASK_SELF - Obtain ID of caller
-------------------------------
-.. index:: obtain ID of caller
-.. index:: rtems_task_self
CALLING SEQUENCE:
.. code-block:: c
@@ -815,11 +824,11 @@ NOTES:
\clearpage
.. _rtems_task_start:
+.. index:: starting a task
+.. index:: rtems_task_start
TASK_START - Start a task
-------------------------
-.. index:: starting a task
-.. index:: rtems_task_start
CALLING SEQUENCE:
.. code-block:: c
@@ -869,11 +878,11 @@ NOTES:
\clearpage
.. _rtems_task_restart:
+.. index:: restarting a task
+.. index:: rtems_task_restart
TASK_RESTART - Restart a task
-----------------------------
-.. index:: restarting a task
-.. index:: rtems_task_restart
CALLING SEQUENCE:
.. code-block:: c
@@ -931,11 +940,11 @@ NOTES:
\clearpage
.. _rtems_task_delete:
+.. index:: deleting a task
+.. index:: rtems_task_delete
TASK_DELETE - Delete a task
---------------------------
-.. index:: deleting a task
-.. index:: rtems_task_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -987,11 +996,11 @@ NOTES:
\clearpage
.. _rtems_task_suspend:
+.. index:: suspending a task
+.. index:: rtems_task_suspend
TASK_SUSPEND - Suspend a task
-----------------------------
-.. index:: suspending a task
-.. index:: rtems_task_suspend
CALLING SEQUENCE:
.. code-block:: c
@@ -1034,11 +1043,11 @@ NOTES:
\clearpage
.. _rtems_task_resume:
+.. index:: resuming a task
+.. index:: rtems_task_resume
TASK_RESUME - Resume a task
---------------------------
-.. index:: resuming a task
-.. index:: rtems_task_resume
CALLING SEQUENCE:
.. code-block:: c
@@ -1079,11 +1088,11 @@ NOTES:
\clearpage
.. _rtems_task_is_suspended:
+.. index:: is task suspended
+.. index:: rtems_task_is_suspended
TASK_IS_SUSPENDED - Determine if a task is Suspended
----------------------------------------------------
-.. index:: is task suspended
-.. index:: rtems_task_is_suspended
CALLING SEQUENCE:
.. code-block:: c
@@ -1117,15 +1126,15 @@ NOTES:
\clearpage
.. _rtems_task_set_priority:
-
-TASK_SET_PRIORITY - Set task priority
--------------------------------------
.. index:: rtems_task_set_priority
.. index:: current task priority
.. index:: set task priority
.. index:: get task priority
.. index:: obtain task priority
+TASK_SET_PRIORITY - Set task priority
+-------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -1181,14 +1190,14 @@ NOTES:
\clearpage
.. _rtems_task_get_priority:
-
-TASK_GET_PRIORITY - Get task priority
--------------------------------------
.. index:: rtems_task_get_priority
.. index:: current task priority
.. index:: get task priority
.. index:: obtain task priority
+TASK_GET_PRIORITY - Get task priority
+-------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -1230,9 +1239,6 @@ NOTES:
\clearpage
.. _rtems_task_mode:
-
-TASK_MODE - Change the current task mode
-----------------------------------------
.. index:: current task mode
.. index:: set task mode
.. index:: get task mode
@@ -1241,6 +1247,9 @@ TASK_MODE - Change the current task mode
.. index:: obtain task mode
.. index:: rtems_task_mode
+TASK_MODE - Change the current task mode
+----------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -1309,13 +1318,13 @@ NOTES:
\clearpage
.. _rtems_task_wake_after:
-
-TASK_WAKE_AFTER - Wake up after interval
-----------------------------------------
.. index:: delay a task for an interval
.. index:: wake up after an interval
.. index:: rtems_task_wake_after
+TASK_WAKE_AFTER - Wake up after interval
+----------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -1352,13 +1361,13 @@ NOTES:
\clearpage
.. _rtems_task_wake_when:
-
-TASK_WAKE_WHEN - Wake up when specified
----------------------------------------
.. index:: delay a task until a wall time
.. index:: wake up at a wall time
.. index:: rtems_task_wake_when
+TASK_WAKE_WHEN - Wake up when specified
+---------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -1608,11 +1617,11 @@ NOTES:
\clearpage
.. _rtems_task_iterate:
+.. index:: iterate over all threads
+.. index:: rtems_task_iterate
TASK_ITERATE - Iterate Over Tasks
---------------------------------
-.. index:: iterate over all threads
-.. index:: rtems_task_iterate
CALLING SEQUENCE:
.. code-block:: c
@@ -1650,10 +1659,10 @@ Deprecated and Removed Directives
\clearpage
.. _rtems_iterate_over_all_threads:
+.. index:: rtems_iterate_over_all_threads
ITERATE_OVER_ALL_THREADS - Iterate Over Tasks
---------------------------------------------
-.. index:: rtems_iterate_over_all_threads
.. warning::
@@ -1689,11 +1698,11 @@ NOTES:
\clearpage
.. _rtems_task_get_note:
+.. index:: get task notepad entry
+.. index:: rtems_task_get_note
TASK_GET_NOTE - Get task notepad entry
--------------------------------------
-.. index:: get task notepad entry
-.. index:: rtems_task_get_note
.. warning::
@@ -1742,11 +1751,11 @@ NOTES:
\clearpage
.. _rtems_task_set_note:
+.. index:: set task notepad entry
+.. index:: rtems_task_set_note
TASK_SET_NOTE - Set task notepad entry
--------------------------------------
-.. index:: set task notepad entry
-.. index:: rtems_task_set_note
.. warning::
@@ -1794,14 +1803,14 @@ NOTES:
\clearpage
.. _rtems_task_variable_add:
-
-TASK_VARIABLE_ADD - Associate per task variable
------------------------------------------------
.. index:: per-task variable
.. index:: task private variable
.. index:: task private data
.. index:: rtems_task_variable_add
+TASK_VARIABLE_ADD - Associate per task variable
+-----------------------------------------------
+
.. warning::
This directive was removed in RTEMS 5.1.
@@ -1857,13 +1866,13 @@ NOTES:
\clearpage
.. _rtems_task_variable_get:
-
-TASK_VARIABLE_GET - Obtain value of a per task variable
--------------------------------------------------------
.. index:: get per-task variable
.. index:: obtain per-task variable
.. index:: rtems_task_variable_get
+TASK_VARIABLE_GET - Obtain value of a per task variable
+-------------------------------------------------------
+
.. warning::
This directive was removed in RTEMS 5.1.
@@ -1914,14 +1923,14 @@ NOTES:
\clearpage
.. _rtems_task_variable_delete:
-
-TASK_VARIABLE_DELETE - Remove per task variable
------------------------------------------------
.. index:: per-task variable
.. index:: task private variable
.. index:: task private data
.. index:: rtems_task_variable_delete
+TASK_VARIABLE_DELETE - Remove per task variable
+-----------------------------------------------
+
.. warning::
This directive was removed in RTEMS 5.1.
diff --git a/c-user/timer_manager.rst b/c-user/timer_manager.rst
index 1e29add..ca80dfd 100644
--- a/c-user/timer_manager.rst
+++ b/c-user/timer_manager.rst
@@ -4,11 +4,11 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: timers
+
Timer Manager
*************
-.. index:: timers
-
Introduction
============
@@ -84,14 +84,14 @@ service routine finished its work.
The Timer Server is designed to remain blocked until a task-based timer fires.
This reduces the execution overhead of the Timer Server.
+.. index:: rtems_timer_service_routine
+
Timer Service Routines
----------------------
The timer service routine should adhere to C calling conventions and have a
prototype similar to the following:
-.. index:: rtems_timer_service_routine
-
.. code-block:: c
rtems_timer_service_routine user_routine(
@@ -195,11 +195,11 @@ related constants, usage, and status codes.
\clearpage
.. _rtems_timer_create:
+.. index:: create a timer
+.. index:: rtems_timer_create
TIMER_CREATE - Create a timer
-----------------------------
-.. index:: create a timer
-.. index:: rtems_timer_create
CALLING SEQUENCE:
.. code-block:: c
@@ -241,11 +241,11 @@ NOTES:
\clearpage
.. _rtems_timer_ident:
+.. index:: obtain the ID of a timer
+.. index:: rtems_timer_ident
TIMER_IDENT - Get ID of a timer
-------------------------------
-.. index:: obtain the ID of a timer
-.. index:: rtems_timer_ident
CALLING SEQUENCE:
.. code-block:: c
@@ -281,11 +281,11 @@ NOTES:
\clearpage
.. _rtems_timer_cancel:
+.. index:: cancel a timer
+.. index:: rtems_timer_cancel
TIMER_CANCEL - Cancel a timer
-----------------------------
-.. index:: cancel a timer
-.. index:: rtems_timer_cancel
CALLING SEQUENCE:
.. code-block:: c
@@ -316,11 +316,11 @@ NOTES:
\clearpage
.. _rtems_timer_delete:
+.. index:: delete a timer
+.. index:: rtems_timer_delete
TIMER_DELETE - Delete a timer
-----------------------------
-.. index:: delete a timer
-.. index:: rtems_timer_delete
CALLING SEQUENCE:
.. code-block:: c
@@ -355,11 +355,11 @@ NOTES:
\clearpage
.. _rtems_timer_fire_after:
+.. index:: fire a timer after an interval
+.. index:: rtems_timer_fire_after
TIMER_FIRE_AFTER - Fire timer after interval
--------------------------------------------
-.. index:: fire a timer after an interval
-.. index:: rtems_timer_fire_after
CALLING SEQUENCE:
.. code-block:: c
@@ -399,11 +399,11 @@ NOTES:
\clearpage
.. _rtems_timer_fire_when:
+.. index:: fire a timer at wall time
+.. index:: rtems_timer_fire_when
TIMER_FIRE_WHEN - Fire timer when specified
-------------------------------------------
-.. index:: fire a timer at wall time
-.. index:: rtems_timer_fire_when
CALLING SEQUENCE:
.. code-block:: c
@@ -447,11 +447,11 @@ NOTES:
\clearpage
.. _rtems_timer_initiate_server:
+.. index:: initiate the Timer Server
+.. index:: rtems_timer_initiate_server
TIMER_INITIATE_SERVER - Initiate server for task-based timers
-------------------------------------------------------------
-.. index:: initiate the Timer Server
-.. index:: rtems_timer_initiate_server
CALLING SEQUENCE:
.. code-block:: c
@@ -492,11 +492,11 @@ NOTES:
\clearpage
.. _rtems_timer_server_fire_after:
+.. index:: fire task-based a timer after an interval
+.. index:: rtems_timer_server_fire_after
TIMER_SERVER_FIRE_AFTER - Fire task-based timer after interval
--------------------------------------------------------------
-.. index:: fire task-based a timer after an interval
-.. index:: rtems_timer_server_fire_after
CALLING SEQUENCE:
.. code-block:: c
@@ -540,11 +540,11 @@ NOTES:
\clearpage
.. _rtems_timer_server_fire_when:
+.. index:: fire a task-based timer at wall time
+.. index:: rtems_timer_server_fire_when
TIMER_SERVER_FIRE_WHEN - Fire task-based timer when specified
-------------------------------------------------------------
-.. index:: fire a task-based timer at wall time
-.. index:: rtems_timer_server_fire_when
CALLING SEQUENCE:
.. code-block:: c
@@ -592,11 +592,11 @@ NOTES:
\clearpage
.. _rtems_timer_reset:
+.. index:: reset a timer
+.. index:: rtems_timer_reset
TIMER_RESET - Reset an interval timer
-------------------------------------
-.. index:: reset a timer
-.. index:: rtems_timer_reset
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/timespec_helpers.rst b/c-user/timespec_helpers.rst
index 905af55..115833b 100644
--- a/c-user/timespec_helpers.rst
+++ b/c-user/timespec_helpers.rst
@@ -4,6 +4,8 @@
.. COMMENT: On-Line Applications Research Corporation (OAR).
.. COMMENT: All rights reserved.
+.. index:: TImespec Helpers
+
Timespec Helpers
****************
@@ -124,11 +126,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_timespec_set:
+.. index:: set struct timespec instance
+.. index:: rtems_timespec_set
TIMESPEC_SET - Set struct timespec Instance
-------------------------------------------
-.. index:: set struct timespec instance
-.. index:: rtems_timespec_set
CALLING SEQUENCE:
.. code-block:: c
@@ -155,10 +157,10 @@ NOTES:
\clearpage
.. _rtems_timespec_zero:
+.. index:: rtems_timespec_zero
TIMESPEC_ZERO - Zero struct timespec Instance
---------------------------------------------
-.. index:: rtems_timespec_zero
CALLING SEQUENCE:
.. code-block:: c
@@ -182,10 +184,10 @@ NOTES:
\clearpage
.. _rtems_timespec_is_valid:
+.. index:: rtems_timespec_is_valid
TIMESPEC_IS_VALID - Check validity of a struct timespec instance
----------------------------------------------------------------
-.. index:: rtems_timespec_is_valid
CALLING SEQUENCE:
.. code-block:: c
@@ -211,10 +213,10 @@ NOTES:
\clearpage
.. _rtems_timespec_add_to:
+.. index:: rtems_timespec_add_to
TIMESPEC_ADD_TO - Add Two struct timespec Instances
---------------------------------------------------
-.. index:: rtems_timespec_add_to
CALLING SEQUENCE:
.. code-block:: c
@@ -240,10 +242,10 @@ NOTES:
\clearpage
.. _rtems_timespec_subtract:
+.. index:: rtems_timespec_subtract
TIMESPEC_SUBTRACT - Subtract Two struct timespec Instances
----------------------------------------------------------
-.. index:: rtems_timespec_subtract
CALLING SEQUENCE:
.. code-block:: c
@@ -274,10 +276,10 @@ NOTES:
\clearpage
.. _rtems_timespec_divide:
+.. index:: rtems_timespec_divide
TIMESPEC_DIVIDE - Divide Two struct timespec Instances
------------------------------------------------------
-.. index:: rtems_timespec_divide
CALLING SEQUENCE:
.. code-block:: c
@@ -314,10 +316,10 @@ NOTES:
\clearpage
.. _rtems_timespec_divide_by_integer:
+.. index:: rtems_timespec_divide_by_integer
TIMESPEC_DIVIDE_BY_INTEGER - Divide a struct timespec Instance by an Integer
----------------------------------------------------------------------------
-.. index:: rtems_timespec_divide_by_integer
CALLING SEQUENCE:
.. code-block:: c
@@ -345,10 +347,10 @@ NOTES:
\clearpage
.. _rtems_timespec_less_than:
+.. index:: rtems_timespec_less_than
TIMESPEC_LESS_THAN - Less than operator
---------------------------------------
-.. index:: rtems_timespec_less_than
CALLING SEQUENCE:
.. code-block:: c
@@ -375,10 +377,10 @@ NOTES:
\clearpage
.. _rtems_timespec_greater_than:
+.. index:: rtems_timespec_greater_than
TIMESPEC_GREATER_THAN - Greater than operator
---------------------------------------------
-.. index:: rtems_timespec_greater_than
CALLING SEQUENCE:
.. code-block:: c
@@ -403,10 +405,10 @@ NOTES:
\clearpage
.. _rtems_timespec_equal_to:
+.. index:: rtems_timespec_equal_to
TIMESPEC_EQUAL_TO - Check equality of timespecs
-----------------------------------------------
-.. index:: rtems_timespec_equal_to
CALLING SEQUENCE:
.. code-block:: c
@@ -431,10 +433,10 @@ NOTES:
\clearpage
.. _rtems_timespec_get_seconds:
+.. index:: rtems_timespec_get_seconds
TIMESPEC_GET_SECONDS - Get Seconds Portion of struct timespec Instance
----------------------------------------------------------------------
-.. index:: rtems_timespec_get_seconds
CALLING SEQUENCE:
.. code-block:: c
@@ -459,10 +461,10 @@ NOTES:
\clearpage
.. _rtems_timespec_get_nanoseconds:
+.. index:: rtems_timespec_get_nanoseconds
TIMESPEC_GET_NANOSECONDS - Get Nanoseconds Portion of the struct timespec Instance
----------------------------------------------------------------------------------
-.. index:: rtems_timespec_get_nanoseconds
CALLING SEQUENCE:
.. code-block:: c
@@ -487,10 +489,10 @@ NOTES:
\clearpage
.. _rtems_timespec_to_ticks:
+.. index:: rtems_timespec_to_ticks
TIMESPEC_TO_TICKS - Convert struct timespec Instance to Ticks
-------------------------------------------------------------
-.. index:: rtems_timespec_to_ticks
CALLING SEQUENCE:
.. code-block:: c
@@ -514,10 +516,10 @@ NOTES:
\clearpage
.. _rtems_timespec_from_ticks:
+.. index:: rtems_timespec_from_ticks
TIMESPEC_FROM_TICKS - Convert Ticks to struct timespec Representation
---------------------------------------------------------------------
-.. index:: rtems_timespec_from_ticks
CALLING SEQUENCE:
.. code-block:: c
diff --git a/c-user/user_extensions.rst b/c-user/user_extensions.rst
index f51e6d6..84af815 100644
--- a/c-user/user_extensions.rst
+++ b/c-user/user_extensions.rst
@@ -5,12 +5,11 @@
.. COMMENT: All rights reserved.
.. _User Extensions Manager:
+.. index:: user extensions
User Extensions Manager
***********************
-.. index:: user extensions
-
Introduction
============
@@ -62,11 +61,12 @@ dynamic memory allocations and object creation/deletion. Some user extensions
are invoked with thread dispatching disabled. The fatal error extension is
invoked in an arbitrary context.
-Extension Sets
---------------
.. index:: user extension set
.. index:: rtems_extensions_table
+Extension Sets
+--------------
+
User extensions are maintained as a set. All user extensions are optional and
may be `NULL`. Together a set of these user extensions typically performs a
specific functionality such as performance monitoring or debugger support. The
@@ -86,9 +86,10 @@ extension set is defined via the following structure.
rtems_task_terminate_extension thread_terminate;
} rtems_extensions_table;
+.. index:: TCB extension area
+
TCB Extension Area
------------------
-.. index:: TCB extension area
There is no system-provided storage for the initial extension sets.
@@ -169,6 +170,8 @@ installed after the Standard C Library will operate correctly even if they
utilize the C Library because the C Library's thread delete extension is
invoked after that of the other thread delete extensions.
+.. index:: rtems_task_create_extension
+
Thread Create Extension
-----------------------
@@ -176,8 +179,6 @@ The thread create extension is invoked during thread creation, for example
via :ref:`rtems_task_create() <rtems_task_create>` or :c:func:`pthread_create`.
The thread create extension is defined as follows.
-.. index:: rtems_task_create_extension
-
.. code-block:: c
typedef bool ( *rtems_task_create_extension )(
@@ -202,6 +203,8 @@ must return :c:data:`true`.
The thread create extension is invoked in forward order with thread dispatching
enabled (except during system initialization).
+.. index:: rtems_task_start_extension
+
Thread Start Extension
----------------------
@@ -209,8 +212,6 @@ The thread start extension is invoked during a thread start, for example
via :ref:`rtems_task_start() <rtems_task_start>` or :c:func:`pthread_create`.
The thread start extension is defined as follows.
-.. index:: rtems_task_start_extension
-
.. code-block:: c
typedef void ( *rtems_task_start_extension )(
@@ -228,6 +229,8 @@ invoked.
The thread start extension is invoked in forward order with thread dispatching
disabled.
+.. index:: rtems_task_restart_extension
+
Thread Restart Extension
------------------------
@@ -235,8 +238,6 @@ The thread restart extension is invoked during a thread restart, for example
via :ref:`rtems_task_restart() <rtems_task_start>`.
The thread restart extension is defined as follows.
-.. index:: rtems_task_restart_extension
-
.. code-block:: c
typedef void ( *rtems_task_restart_extension )(
@@ -254,6 +255,8 @@ dispatching enabled (except during system initialization). The thread life is
protected. Thread restart and delete requests issued by thread restart
extensions lead to recursion.
+.. index:: rtems_task_switch_extension
+
Thread Switch Extension
-----------------------
@@ -261,8 +264,6 @@ The thread switch extension is invoked before the context switch from the
currently executing thread to the heir thread. The thread switch extension is
defined as follows.
-.. index:: rtems_task_switch_extension
-
.. code-block:: c
typedef void ( *rtems_task_switch_extension )(
@@ -280,14 +281,14 @@ SMP lock is owned.
The context switches initiated through the multitasking start are not covered
by the thread switch extension.
+.. index:: rtems_task_begin_extension
+
Thread Begin Extension
----------------------
The thread begin extension is invoked during a thread begin before the thread
entry function is called. The thread begin extension is defined as follows.
-.. index:: rtems_task_begin_extension
-
.. code-block:: c
typedef void ( *rtems_task_begin_extension )(
@@ -303,14 +304,14 @@ The thread begin extension is invoked in forward order with thread dispatching
enabled. The thread switch extension may be called multiple times for this
thread before the thread begin extension is invoked.
+.. index:: rtems_task_exitted_extension
+
Thread Exitted Extension
------------------------
The thread exitted extension is invoked once the thread entry function returns.
The thread exitted extension is defined as follows.
-.. index:: rtems_task_exitted_extension
-
.. code-block:: c
typedef void ( *rtems_task_exitted_extension )(
@@ -322,6 +323,8 @@ thread.
This extension is invoked in forward order with thread dispatching enabled.
+.. index:: rtems_task_terminate_extension
+
Thread Termination Extension
----------------------------
@@ -331,8 +334,6 @@ due to calls of :ref:`rtems_task_delete() <rtems_task_delete>`,
:c:func:`pthread_exit`, or :c:func:`pthread_cancel`. The thread termination
extension is defined as follows.
-.. index:: rtems_task_terminate_extension
-
.. code-block:: c
typedef void ( *rtems_task_terminate_extension )(
@@ -351,6 +352,8 @@ The thread terminate extension is invoked in reverse order with thread
dispatching enabled. The thread life is protected. Thread restart and delete
requests issued by thread terminate extensions lead to recursion.
+.. index:: rtems_task_delete_extension
+
Thread Delete Extension
-----------------------
@@ -358,8 +361,6 @@ The thread delete extension is invoked in case a zombie thread is killed. A
thread becomes a zombie thread after it terminated. The thread delete
extension is defined as follows.
-.. index:: rtems_task_delete_extension
-
.. code-block:: c
typedef void ( *rtems_task_delete_extension )(
@@ -383,14 +384,14 @@ must first terminate and this may take some time. The thread delete extension
is invoked by :ref:`rtems_task_create() <rtems_task_create>` or similar as a
result of a lazy garbage collection of zombie threads.
+.. index:: rtems_fatal_extension
+
Fatal Error Extension
---------------------
The fatal error extension is invoked during :ref:`system termination
<Terminate>`. The fatal error extension is defined as follows.
-.. index:: rtems_fatal_extension
-
.. code-block:: c
typedef void( *rtems_fatal_extension )(
@@ -424,11 +425,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_extension_create:
+.. index:: create an extension set
+.. index:: rtems_extension_create
EXTENSION_CREATE - Create a extension set
-----------------------------------------
-.. index:: create an extension set
-.. index:: rtems_extension_create
CALLING SEQUENCE:
.. code-block:: c
@@ -472,13 +473,13 @@ NOTES:
\clearpage
.. _rtems_extension_ident:
-
-EXTENSION_IDENT - Get ID of a extension set
--------------------------------------------
.. index:: get ID of an extension set
.. index:: obtain ID of an extension set
.. index:: rtems_extension_ident
+EXTENSION_IDENT - Get ID of a extension set
+-------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -513,11 +514,11 @@ NOTES:
\clearpage
.. _rtems_extension_delete:
+.. index:: delete an extension set
+.. index:: rtems_extension_delete
EXTENSION_DELETE - Delete a extension set
-----------------------------------------
-.. index:: delete an extension set
-.. index:: rtems_extension_delete
CALLING SEQUENCE:
.. code-block:: c