Switch the task manager to tables for status codes.

This commit is contained in:
Chris Johns 2016-01-26 12:29:49 +11:00 committed by Amar Takhar
parent 36745eb06d
commit 8083970e47

View File

@ -199,29 +199,25 @@ The interrupt level component is used to determine which interrupts will be
enabled when the task is executing. ``RTEMS_INTERRUPT_LEVEL(n)`` specifies that enabled when the task is executing. ``RTEMS_INTERRUPT_LEVEL(n)`` specifies that
the task will execute at interrupt level n. the task will execute at interrupt level n.
``RTEMS_PREEMPT`` .. list-table::
enable preemption (default) :widths: 1, 50
``RTEMS_NO_PREEMPT`` * - ``RTEMS_PREEMPT``
disable preemption - enable preemption (default)
* - ``RTEMS_NO_PREEMPT``
``RTEMS_NO_TIMESLICE`` - disable preemption
disable timeslicing (default) * - ``RTEMS_NO_TIMESLICE``
- disable timeslicing (default)
``RTEMS_TIMESLICE`` * - ``RTEMS_TIMESLICE``
enable timeslicing - enable timeslicing
* - ``RTEMS_ASR``
``RTEMS_ASR`` - enable ASR processing (default)
enable ASR processing (default) * - ``RTEMS_NO_ASR``
- disable ASR processing
``RTEMS_NO_ASR`` * - ``RTEMS_INTERRUPT_LEVEL(0)``
disable ASR processing - enable all interrupts (default)
* - ``RTEMS_INTERRUPT_LEVEL(n)``
``RTEMS_INTERRUPT_LEVEL(0)`` - execute at interrupt level n
enable all interrupts (default)
``RTEMS_INTERRUPT_LEVEL(n)``
execute at interrupt level n
The set of default modes may be selected by specifying the The set of default modes may be selected by specifying the
``RTEMS_DEFAULT_MODES`` constant. ``RTEMS_DEFAULT_MODES`` constant.
@ -350,17 +346,17 @@ Building a Task Attribute Set
In general, an attribute set is built by a bitwise OR of the desired 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: components. The set of valid task attribute components is listed below:
``RTEMS_NO_FLOATING_POINT`` .. list-table::
does not use coprocessor (default) :widths: 1, 50
``RTEMS_FLOATING_POINT`` * - ``RTEMS_NO_FLOATING_POINT``
uses numeric coprocessor - does not use coprocessor (default)
* - ``RTEMS_FLOATING_POINT``
``RTEMS_LOCAL`` - uses numeric coprocessor
local task (default) * - ``RTEMS_LOCAL``
- local task (default)
``RTEMS_GLOBAL`` * - ``RTEMS_GLOBAL``
global task - global task
Attribute values are specifically designed to be mutually exclusive, therefore Attribute values are specifically designed to be mutually exclusive, therefore
bitwise OR and addition operations are equivalent as long as each attribute bitwise OR and addition operations are equivalent as long as each attribute
@ -385,21 +381,25 @@ 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 desired components. The set of valid mode constants and each mode's
corresponding mask constant is listed below: corresponding mask constant is listed below:
- ``RTEMS_PREEMPT`` is masked by``RTEMS_PREEMPT_MASK`` and enables preemption .. list-table::
:widths: 1, 50
- ``RTEMS_NO_PREEMPT`` is masked by``RTEMS_PREEMPT_MASK`` and disables preemption * - ``RTEMS_PREEMPT``
- is masked by``RTEMS_PREEMPT_MASK`` and enables preemption
- ``RTEMS_NO_TIMESLICE`` is masked by``RTEMS_TIMESLICE_MASK`` and disables timeslicing * - ``RTEMS_NO_PREEMPT``
- is masked by``RTEMS_PREEMPT_MASK`` and disables preemption
- ``RTEMS_TIMESLICE`` is masked by``RTEMS_TIMESLICE_MASK`` and enables timeslicing * - ``RTEMS_NO_TIMESLICE``
- is masked by``RTEMS_TIMESLICE_MASK`` and disables timeslicing
- ``RTEMS_ASR`` is masked by``RTEMS_ASR_MASK`` and enables ASR processing * - ``RTEMS_TIMESLICE``
- is masked by``RTEMS_TIMESLICE_MASK`` and enables timeslicing
- ``RTEMS_NO_ASR`` is masked by``RTEMS_ASR_MASK`` and disables ASR processing * - ``RTEMS_ASR``
- is masked by``RTEMS_ASR_MASK`` and enables ASR processing
- ``RTEMS_INTERRUPT_LEVEL(0)`` is masked by``RTEMS_INTERRUPT_MASK`` and enables all interrupts * - ``RTEMS_NO_ASR``
- is masked by``RTEMS_ASR_MASK`` and disables ASR processing
- ``RTEMS_INTERRUPT_LEVEL(n)`` is masked by``RTEMS_INTERRUPT_MASK`` and sets interrupts level n * - ``RTEMS_INTERRUPT_LEVEL(0)``
- is masked by``RTEMS_INTERRUPT_MASK`` and enables all interrupts
* - ``RTEMS_INTERRUPT_LEVEL(n)``
- is masked by``RTEMS_INTERRUPT_MASK`` and sets interrupts level n
Mode values are specifically designed to be mutually exclusive, therefore Mode values are specifically designed to be mutually exclusive, therefore
bitwise OR and addition operations are equivalent as long as each mode appears bitwise OR and addition operations are equivalent as long as each mode appears
@ -594,30 +594,25 @@ TASK_CREATE - Create a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task created successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS``
``id`` is NULL
``RTEMS_INVALID_NAME``
invalid task name
``RTEMS_INVALID_PRIORITY``
invalid task priority
``RTEMS_MP_NOT_CONFIGURED``
multiprocessing not configured
``RTEMS_TOO_MANY``
too many tasks created
``RTEMS_UNSATISFIED``
not enough memory for stack/FP context
``RTEMS_TOO_MANY``
too many global objects
* - ``RTEMS_SUCCESSFUL``
- task created successfully
* - ``RTEMS_INVALID_ADDRESS``
- ``id`` is NULL
* - ``RTEMS_INVALID_NAME``
- invalid task name
* - ``RTEMS_INVALID_PRIORITY``
- invalid task priority
* - ``RTEMS_MP_NOT_CONFIGURED``
- multiprocessing not configured
* - ``RTEMS_TOO_MANY``
- too many tasks created
* - ``RTEMS_UNSATISFIED``
- not enough memory for stack/FP context
* - ``RTEMS_TOO_MANY``
- too many global objects
**DESCRIPTION:** **DESCRIPTION:**
@ -667,43 +662,39 @@ when calculating the stack size required for tasks which utilize the driver.
The following task attribute constants are defined by RTEMS: The following task attribute constants are defined by RTEMS:
``RTEMS_NO_FLOATING_POINT`` .. list-table::
does not use coprocessor (default) :widths: 1, 50
``RTEMS_FLOATING_POINT`` * - ``RTEMS_NO_FLOATING_POINT``
uses numeric coprocessor - does not use coprocessor (default)
* - ``RTEMS_FLOATING_POINT``
``RTEMS_LOCAL`` - uses numeric coprocessor
local task (default) * - ``RTEMS_LOCAL``
- local task (default)
``RTEMS_GLOBAL`` * - ``RTEMS_GLOBAL``
global task - global task
The following task mode constants are defined by RTEMS: The following task mode constants are defined by RTEMS:
``RTEMS_PREEMPT`` .. list-table::
enable preemption (default) :widths: 1, 50
``RTEMS_NO_PREEMPT`` * - ``RTEMS_PREEMPT``
disable preemption - enable preemption (default)
* - ``RTEMS_NO_PREEMPT``
``RTEMS_NO_TIMESLICE`` - disable preemption
disable timeslicing (default) * - ``RTEMS_NO_TIMESLICE``
- disable timeslicing (default)
``RTEMS_TIMESLICE`` * - ``RTEMS_TIMESLICE``
enable timeslicing - enable timeslicing
* - ``RTEMS_ASR``
``RTEMS_ASR`` - enable ASR processing (default)
enable ASR processing (default) * - ``RTEMS_NO_ASR``
- disable ASR processing
``RTEMS_NO_ASR`` * - ``RTEMS_INTERRUPT_LEVEL(0)``
disable ASR processing - enable all interrupts (default)
* - ``RTEMS_INTERRUPT_LEVEL(n)``
``RTEMS_INTERRUPT_LEVEL(0)`` - execute at interrupt level n
enable all interrupts (default)
``RTEMS_INTERRUPT_LEVEL(n)``
execute at interrupt level n
The interrupt level portion of the task execution mode supports a maximum of The interrupt level portion of the task execution mode supports a maximum of
256 interrupt levels. These levels are mapped onto the interrupt levels 256 interrupt levels. These levels are mapped onto the interrupt levels
@ -738,18 +729,17 @@ TASK_IDENT - Get ID of a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task identified successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS``
``id`` is NULL
``RTEMS_INVALID_NAME``
invalid task name
``RTEMS_INVALID_NODE``
invalid node id
* - ``RTEMS_SUCCESSFUL``
- task identified successfully
* - ``RTEMS_INVALID_ADDRESS``
- ``id`` is NULL
* - ``RTEMS_INVALID_NAME``
- invalid task name
* - ``RTEMS_INVALID_NODE``
- invalid node id
**DESCRIPTION:** **DESCRIPTION:**
@ -821,20 +811,19 @@ TASK_START - Start a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
ask started successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_SUCCESSFUL``
invalid task entry point - ask started successfully
* - ``RTEMS_INVALID_ADDRESS``
``RTEMS_INVALID_ID`` - invalid task entry point
invalid task id * - ``RTEMS_INVALID_ID``
- invalid task id
``RTEMS_INCORRECT_STATE`` * - ``RTEMS_INCORRECT_STATE``
task not in the dormant state - task not in the dormant state
* - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` - cannot start remote task
cannot start remote task
**DESCRIPTION:** **DESCRIPTION:**
@ -875,17 +864,17 @@ TASK_RESTART - Restart a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task restarted successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
task id invalid - task restarted successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_INCORRECT_STATE`` - task id invalid
task never started * - ``RTEMS_INCORRECT_STATE``
- task never started
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` * - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
cannot restart remote task - cannot restart remote task
**DESCRIPTION:** **DESCRIPTION:**
@ -936,14 +925,15 @@ TASK_DELETE - Delete a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task deleted successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
task id invalid - task deleted successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` - task id invalid
cannot restart remote task * - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
- cannot restart remote task
**DESCRIPTION:** **DESCRIPTION:**
@ -991,14 +981,15 @@ TASK_SUSPEND - Suspend a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task suspended successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
task id invalid - task suspended successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_ALREADY_SUSPENDED`` - task id invalid
task already suspended * - ``RTEMS_ALREADY_SUSPENDED``
- task already suspended
**DESCRIPTION:** **DESCRIPTION:**
@ -1038,14 +1029,15 @@ TASK_RESUME - Resume a task
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task resumed successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
task id invalid - task resumed successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_INCORRECT_STATE`` - task id invalid
task not suspended * - ``RTEMS_INCORRECT_STATE``
- task not suspended
**DESCRIPTION:** **DESCRIPTION:**
@ -1083,17 +1075,17 @@ TASK_IS_SUSPENDED - Determine if a task is Suspended
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task is NOT suspended :widths: 1, 50
``RTEMS_ALREADY_SUSPENDED`` * - ``RTEMS_SUCCESSFUL``
task is currently suspended - task is NOT suspended
* - ``RTEMS_ALREADY_SUSPENDED``
``RTEMS_INVALID_ID`` - task is currently suspended
task id invalid * - ``RTEMS_INVALID_ID``
- task id invalid
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` * - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
not supported on remote tasks - not supported on remote tasks
**DESCRIPTION:** **DESCRIPTION:**
@ -1126,17 +1118,17 @@ TASK_SET_PRIORITY - Set task priority
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task priority set successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
invalid task id - task priority set successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_INVALID_ADDRESS`` - invalid task id
invalid return argument pointer * - ``RTEMS_INVALID_ADDRESS``
- invalid return argument pointer
``RTEMS_INVALID_PRIORITY`` * - ``RTEMS_INVALID_PRIORITY``
invalid task priority - invalid task priority
**DESCRIPTION:** **DESCRIPTION:**
@ -1192,11 +1184,13 @@ TASK_MODE - Change the current task mode
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
task mode set successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_SUCCESSFUL``
``previous_mode_set`` is NULL - task mode set successfully
* - ``RTEMS_INVALID_ADDRESS``
- ``previous_mode_set`` is NULL
**DESCRIPTION:** **DESCRIPTION:**
@ -1224,29 +1218,25 @@ directive with the ``RTEMS_NO_ASR`` indicator specified in mode.
The set of task mode constants and each mode's corresponding mask constant is The set of task mode constants and each mode's corresponding mask constant is
provided in the following table: provided in the following table:
``RTEMS_PREEMPT`` .. list-table::
is masked by ``RTEMS_PREEMPT_MASK`` and enables preemption :widths: 1, 50
``RTEMS_NO_PREEMPT`` * - ``RTEMS_PREEMPT``
is masked by ``RTEMS_PREEMPT_MASK`` and disables preemption - is masked by ``RTEMS_PREEMPT_MASK`` and enables preemption
* - ``RTEMS_NO_PREEMPT``
``RTEMS_NO_TIMESLICE`` - is masked by ``RTEMS_PREEMPT_MASK`` and disables preemption
is masked by ``RTEMS_TIMESLICE_MASK`` and disables timeslicing * - ``RTEMS_NO_TIMESLICE``
- is masked by ``RTEMS_TIMESLICE_MASK`` and disables timeslicing
``RTEMS_TIMESLICE`` * - ``RTEMS_TIMESLICE``
is masked by ``RTEMS_TIMESLICE_MASK`` and enables timeslicing - is masked by ``RTEMS_TIMESLICE_MASK`` and enables timeslicing
* - ``RTEMS_ASR``
``RTEMS_ASR`` - is masked by ``RTEMS_ASR_MASK`` and enables ASR processing
is masked by ``RTEMS_ASR_MASK`` and enables ASR processing * - ``RTEMS_NO_ASR``
- is masked by ``RTEMS_ASR_MASK`` and disables ASR processing
``RTEMS_NO_ASR`` * - ``RTEMS_INTERRUPT_LEVEL(0)``
is masked by ``RTEMS_ASR_MASK`` and disables ASR processing - is masked by ``RTEMS_INTERRUPT_MASK`` and enables all interrupts
* - ``RTEMS_INTERRUPT_LEVEL(n)``
``RTEMS_INTERRUPT_LEVEL(0)`` - is masked by ``RTEMS_INTERRUPT_MASK`` and sets interrupts level n
is masked by ``RTEMS_INTERRUPT_MASK`` and enables all interrupts
``RTEMS_INTERRUPT_LEVEL(n)``
is masked by ``RTEMS_INTERRUPT_MASK`` and sets interrupts level n
.. _rtems_task_wake_after: .. _rtems_task_wake_after:
@ -1267,7 +1257,11 @@ TASK_WAKE_AFTER - Wake up after interval
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` - always successful .. list-table::
:widths: 1, 50
* - ``RTEMS_SUCCESSFUL``
- always successful
**DESCRIPTION:** **DESCRIPTION:**
@ -1307,17 +1301,17 @@ TASK_WAKE_WHEN - Wake up when specified
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
awakened at date/time successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_SUCCESSFUL``
``time_buffer`` is NULL - awakened at date/time successfully
* - ``RTEMS_INVALID_ADDRESS``
``RTEMS_INVALID_TIME_OF_DAY`` - ``time_buffer`` is NULL
invalid time buffer * - ``RTEMS_INVALID_TIME_OF_DAY``
- invalid time buffer
``RTEMS_NOT_DEFINED`` * - ``RTEMS_NOT_DEFINED``
system date and time is not set - system date and time is not set
**DESCRIPTION:** **DESCRIPTION:**
@ -1395,20 +1389,19 @@ TASK_VARIABLE_ADD - Associate per task variable
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
per task variable added successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_SUCCESSFUL``
``task_variable`` is NULL - per task variable added successfully
* - ``RTEMS_INVALID_ADDRESS``
``RTEMS_INVALID_ID`` - ``task_variable`` is NULL
invalid task id * - ``RTEMS_INVALID_ID``
- invalid task id
``RTEMS_NO_MEMORY`` * - ``RTEMS_NO_MEMORY``
invalid task id - invalid task id
* - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` - not supported on remote tasks
not supported on remote tasks
**DESCRIPTION:** **DESCRIPTION:**
@ -1458,23 +1451,21 @@ TASK_VARIABLE_GET - Obtain value of a per task variable
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
per task variable obtained successfully :widths: 1, 50
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_SUCCESSFUL``
``task_variable`` is NULL - per task variable obtained successfully
* - ``RTEMS_INVALID_ADDRESS``
``RTEMS_INVALID_ADDRESS`` - ``task_variable`` is NULL
``task_variable_value`` is NULL * - ``RTEMS_INVALID_ADDRESS``
- ``task_variable_value`` is NULL
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_INVALID_ADDRESS``
``task_variable`` is not found - ``task_variable`` is not found
* - ``RTEMS_NO_MEMORY``
``RTEMS_NO_MEMORY`` - invalid task id
invalid task id * - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
- not supported on remote tasks
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
not supported on remote tasks
**DESCRIPTION:** **DESCRIPTION:**
@ -1518,20 +1509,19 @@ TASK_VARIABLE_DELETE - Remove per task variable
**DIRECTIVE STATUS CODES:** **DIRECTIVE STATUS CODES:**
``RTEMS_SUCCESSFUL`` .. list-table::
per task variable deleted successfully :widths: 1, 50
``RTEMS_INVALID_ID`` * - ``RTEMS_SUCCESSFUL``
invalid task id - per task variable deleted successfully
* - ``RTEMS_INVALID_ID``
``RTEMS_NO_MEMORY`` - invalid task id
invalid task id * - ``RTEMS_NO_MEMORY``
- invalid task id
``RTEMS_INVALID_ADDRESS`` * - ``RTEMS_INVALID_ADDRESS``
``task_variable`` is NULL - ``task_variable`` is NULL
* - ``RTEMS_ILLEGAL_ON_REMOTE_OBJECT``
``RTEMS_ILLEGAL_ON_REMOTE_OBJECT`` - not supported on remote tasks
not supported on remote tasks
**DESCRIPTION:** **DESCRIPTION:**