mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-16 12:28:51 +00:00
rtems: Use single '`' for code phrases
These files are generated from specification items. Use Markdown format.
This commit is contained in:
committed by
Gedare Bloom
parent
33e3b09c16
commit
79ca48adcc
@@ -970,7 +970,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_INIT_TASK_STACK_SIZE and
|
||||
*
|
||||
* * ``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
|
||||
* * `CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE`
|
||||
*
|
||||
* configuration options are mutually exclusive.
|
||||
* @endparblock
|
||||
@@ -988,11 +988,11 @@
|
||||
* Classic API initialization task.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``Init``.
|
||||
* The default value is `Init`.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void ( *entry_point )( rtems_task_argument )``.
|
||||
* pointer of the type `void ( *entry_point )( rtems_task_argument )`.
|
||||
*
|
||||
* @par Notes
|
||||
* The application shall provide the function referenced by this configuration
|
||||
@@ -1030,7 +1030,7 @@
|
||||
* initialization task.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
|
||||
* The default value is `rtems_build_name( 'U', 'I', '1', ' ' )`.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be convertible to an integer of
|
||||
@@ -1091,7 +1091,7 @@
|
||||
* @parblock
|
||||
* The
|
||||
*
|
||||
* * ``CONFIGURE_INIT_TASK_STACK_SIZE`` and
|
||||
* * `CONFIGURE_INIT_TASK_STACK_SIZE` and
|
||||
*
|
||||
* * @ref CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
|
||||
*
|
||||
@@ -1119,7 +1119,7 @@
|
||||
* The application shall define at least one of the following configuration
|
||||
* options
|
||||
*
|
||||
* * ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``,
|
||||
* * `CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
|
||||
*
|
||||
* * @ref CONFIGURE_POSIX_INIT_THREAD_TABLE, or
|
||||
*
|
||||
@@ -1175,7 +1175,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER,
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``, or
|
||||
* * `CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER,
|
||||
*
|
||||
@@ -1258,7 +1258,7 @@
|
||||
* The application shall define exactly one of the following configuration
|
||||
* options
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``,
|
||||
* * `CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER, or
|
||||
*
|
||||
@@ -1285,7 +1285,7 @@
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* The Console Driver is responsible for providing the ``/dev/console`` device
|
||||
* The Console Driver is responsible for providing the `/dev/console` device
|
||||
* file. This device is used to initialize the standard input, output, and
|
||||
* error file descriptors.
|
||||
*
|
||||
@@ -1294,7 +1294,7 @@
|
||||
*
|
||||
* The
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
|
||||
* * `CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER, and
|
||||
*
|
||||
@@ -1361,8 +1361,8 @@
|
||||
*
|
||||
* @anchor CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
|
||||
*
|
||||
* In case this configuration option is defined, then the ``/dev/null`` Driver
|
||||
* is initialized during system initialization.
|
||||
* In case this configuration option is defined, then the `/dev/null` Driver is
|
||||
* initialized during system initialization.
|
||||
*
|
||||
* @par Default Configuration
|
||||
* If this configuration option is undefined, then the described feature is not
|
||||
@@ -1414,7 +1414,7 @@
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* This device driver is responsible for providing the ``/dev/console`` device
|
||||
* This device driver is responsible for providing the `/dev/console` device
|
||||
* file. This device is used to initialize the standard input, output, and
|
||||
* error file descriptors.
|
||||
*
|
||||
@@ -1429,7 +1429,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER,
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
|
||||
* * `CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
|
||||
*
|
||||
@@ -1454,7 +1454,7 @@
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* This device driver is responsible for providing the ``/dev/console`` device
|
||||
* This device driver is responsible for providing the `/dev/console` device
|
||||
* file. This device is used to initialize the standard input, output, and
|
||||
* error file descriptors.
|
||||
*
|
||||
@@ -1468,8 +1468,8 @@
|
||||
* This task runs with the least important priority. The write buffer size is
|
||||
* 2047 characters and it is not configurable.
|
||||
*
|
||||
* Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain
|
||||
* the write buffer.
|
||||
* Use `fsync( STDOUT_FILENO )` or `fdatasync( STDOUT_FILENO )` to drain the
|
||||
* write buffer.
|
||||
*
|
||||
* The Termios framework is not used. There is no support to change device
|
||||
* settings, e.g. baud, stop bits, parity, etc.
|
||||
@@ -1480,7 +1480,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER, and
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
|
||||
* * `CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
|
||||
*
|
||||
* configuration options are mutually exclusive.
|
||||
* @endparblock
|
||||
@@ -1533,7 +1533,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER, or
|
||||
*
|
||||
* * ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``,
|
||||
* * `CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
|
||||
*
|
||||
* otherwise a compile time error will occur.
|
||||
* @endparblock
|
||||
@@ -1572,8 +1572,8 @@
|
||||
*
|
||||
* @anchor CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
|
||||
*
|
||||
* In case this configuration option is defined, then the ``/dev/zero`` Driver
|
||||
* is initialized during system initialization.
|
||||
* In case this configuration option is defined, then the `/dev/zero` Driver is
|
||||
* initialized during system initialization.
|
||||
*
|
||||
* @par Default Configuration
|
||||
* If this configuration option is undefined, then the described feature is not
|
||||
@@ -2609,7 +2609,7 @@
|
||||
* @anchor CONFIGURE_DIRTY_MEMORY
|
||||
*
|
||||
* In case this configuration option is defined, then the memory areas used for
|
||||
* the RTEMS Workspace and the C Program Heap are dirtied with a ``0xCF`` byte
|
||||
* the RTEMS Workspace and the C Program Heap are dirtied with a `0xCF` byte
|
||||
* pattern during system initialization.
|
||||
*
|
||||
* @par Default Configuration
|
||||
@@ -2842,7 +2842,7 @@
|
||||
* @parblock
|
||||
* There is one interrupt stack available for each configured processor (@ref
|
||||
* CONFIGURE_MAXIMUM_PROCESSORS). The interrupt stack areas are statically
|
||||
* allocated in a special linker section (``.rtemsstack.interrupt``). The
|
||||
* allocated in a special linker section (`.rtemsstack.interrupt`). The
|
||||
* placement of this linker section is BSP-specific.
|
||||
*
|
||||
* Some BSPs use the interrupt stack as the initialization stack which is used
|
||||
@@ -2871,7 +2871,7 @@
|
||||
*
|
||||
* In case this configuration option is defined, then each memory area returned
|
||||
* by C Program Heap allocator functions such as malloc() is dirtied with a
|
||||
* ``0xCF`` byte pattern before it is handed over to the application.
|
||||
* `0xCF` byte pattern before it is handed over to the application.
|
||||
*
|
||||
* @par Default Configuration
|
||||
* If this configuration option is undefined, then the described feature is not
|
||||
@@ -2915,7 +2915,7 @@
|
||||
*
|
||||
* @par Notes
|
||||
* The default value of three file descriptors allows RTEMS to support standard
|
||||
* input, output, and error I/O streams on ``/dev/console``.
|
||||
* input, output, and error I/O streams on `/dev/console`.
|
||||
*/
|
||||
#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
|
||||
|
||||
@@ -3001,8 +3001,8 @@
|
||||
* meet the minimum alignment requirement of a thread-local storage area.
|
||||
*
|
||||
* The actual thread-local storage size is determined when the application
|
||||
* executable is linked. The ``rtems-exeinfo`` command line tool included in
|
||||
* the RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
* executable is linked. The `rtems-exeinfo` command line tool included in the
|
||||
* RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
* alignment of an application executable.
|
||||
* @endparblock
|
||||
*/
|
||||
@@ -3016,7 +3016,7 @@
|
||||
* @anchor CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
|
||||
*
|
||||
* The value of this configuration option defines the maximum thread name size
|
||||
* including the terminating ``NUL`` character.
|
||||
* including the terminating `NUL` character.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is 16.
|
||||
@@ -3127,31 +3127,31 @@
|
||||
* configured by this option. For each message queue you have to reserve some
|
||||
* memory for the message buffers. The size depends on the maximum number of
|
||||
* pending messages and the maximum size of the messages of a message queue.
|
||||
* Use the ``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()`` macro to specify the
|
||||
* message buffer memory for each message queue and sum them up to define the
|
||||
* value for ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``.
|
||||
* Use the `CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()` macro to specify the message
|
||||
* buffer memory for each message queue and sum them up to define the value for
|
||||
* `CONFIGURE_MAXIMUM_MESSAGE_QUEUES`.
|
||||
*
|
||||
* The interface for the ``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()`` help macro
|
||||
* is as follows:
|
||||
* The interface for the `CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()` help macro is
|
||||
* as follows:
|
||||
*
|
||||
* @code
|
||||
* CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( max_messages, max_msg_size )
|
||||
* @endcode
|
||||
*
|
||||
* Where ``max_messages`` is the maximum number of pending messages and
|
||||
* ``max_msg_size`` is the maximum size in bytes of the messages of the
|
||||
* Where `max_messages` is the maximum number of pending messages and
|
||||
* `max_msg_size` is the maximum size in bytes of the messages of the
|
||||
* corresponding message queue. Both parameters shall be compile time
|
||||
* constants. Not using this help macro (e.g. just using ``max_messages *
|
||||
* max_msg_size``) may result in an underestimate of the RTEMS Workspace size.
|
||||
* constants. Not using this help macro (e.g. just using `max_messages *
|
||||
* max_msg_size`) may result in an underestimate of the RTEMS Workspace size.
|
||||
*
|
||||
* The following example illustrates how the
|
||||
* ``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()`` help macro can be used to assist
|
||||
* in calculating the message buffer memory required. In this example, there
|
||||
* are two message queues used in this application. The first message queue
|
||||
* has a maximum of 24 pending messages with the message structure defined by
|
||||
* the type ``one_message_type``. The other message queue has a maximum of 500
|
||||
* `CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE()` help macro can be used to assist in
|
||||
* calculating the message buffer memory required. In this example, there are
|
||||
* two message queues used in this application. The first message queue has a
|
||||
* maximum of 24 pending messages with the message structure defined by the
|
||||
* type `one_message_type`. The other message queue has a maximum of 500
|
||||
* pending messages with the message structure defined by the type
|
||||
* ``other_message_type``.
|
||||
* `other_message_type`.
|
||||
*
|
||||
* @code
|
||||
* #define CONFIGURE_MESSAGE_BUFFER_MEMORY ( \
|
||||
@@ -3266,7 +3266,7 @@
|
||||
* of POSIX threads. This can be changed with the @ref
|
||||
* CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE configuration option.
|
||||
*
|
||||
* In releases before RTEMS 5.1 the ``CONFIGURE_MINIMUM_TASK_STACK_SIZE`` was
|
||||
* In releases before RTEMS 5.1 the `CONFIGURE_MINIMUM_TASK_STACK_SIZE` was
|
||||
* used to define the default value of @ref CONFIGURE_INTERRUPT_STACK_SIZE.
|
||||
* @endparblock
|
||||
*/
|
||||
@@ -3292,7 +3292,7 @@
|
||||
* the time required to create tasks as well as adding overhead to each context
|
||||
* switch.
|
||||
*
|
||||
* In 4.9 and older, this configuration option was named ``STACK_CHECKER_ON``.
|
||||
* In 4.9 and older, this configuration option was named `STACK_CHECKER_ON`.
|
||||
* @endparblock
|
||||
*/
|
||||
#define CONFIGURE_STACK_CHECKER_ENABLED
|
||||
@@ -3367,8 +3367,8 @@
|
||||
* configuration option defines the default objects maximum of all object
|
||||
* classes supporting <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/config/intro.html#unlimited-objects">Unlimited
|
||||
* Objects</a> to ``rtems_resource_unlimited(
|
||||
* CONFIGURE_UNLIMITED_ALLOCATION_SIZE )``.
|
||||
* Objects</a> to `rtems_resource_unlimited(
|
||||
* CONFIGURE_UNLIMITED_ALLOCATION_SIZE )`.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is 8.
|
||||
@@ -3444,7 +3444,7 @@
|
||||
* @anchor CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
|
||||
*
|
||||
* In case this configuration option is defined, then the memory areas used for
|
||||
* the RTEMS Workspace and the C Program Heap are zeroed with a ``0x00`` byte
|
||||
* the RTEMS Workspace and the C Program Heap are zeroed with a `0x00` byte
|
||||
* pattern during system initialization.
|
||||
*
|
||||
* @par Default Configuration
|
||||
@@ -3486,11 +3486,11 @@
|
||||
* If the @ref CONFIGURE_DISABLE_BSP_SETTINGS configuration option is not
|
||||
* defined and #BSP_IDLE_TASK_BODY is provided by the BSP, then the default
|
||||
* value is defined by #BSP_IDLE_TASK_BODY, otherwise the default value is
|
||||
* ``_CPU_Thread_Idle_body``.
|
||||
* `_CPU_Thread_Idle_body`.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void *( *idle_body )( uintptr_t )``.
|
||||
* pointer of the type `void *( *idle_body )( uintptr_t )`.
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
@@ -3545,7 +3545,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_POSIX_INIT_THREAD_TABLE, or
|
||||
*
|
||||
* * ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
|
||||
* * `CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
|
||||
*
|
||||
* otherwise a compile time error in the configuration file will occur.
|
||||
*
|
||||
@@ -3639,7 +3639,7 @@
|
||||
*
|
||||
* The
|
||||
*
|
||||
* * ``CONFIGURE_IDLE_TASK_STORAGE_SIZE``, and
|
||||
* * `CONFIGURE_IDLE_TASK_STORAGE_SIZE`, and
|
||||
*
|
||||
* * @ref CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE
|
||||
*
|
||||
@@ -3842,7 +3842,7 @@
|
||||
* Table.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``&MPCI_table``.
|
||||
* The default value is `&MPCI_table`.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be a pointer to
|
||||
@@ -3871,7 +3871,7 @@
|
||||
* in a multiprocessor system.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``NODE_NUMBER``.
|
||||
* The default value is `NODE_NUMBER`.
|
||||
*
|
||||
* @par Constraints
|
||||
* @parblock
|
||||
@@ -3887,9 +3887,9 @@
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* In the RTEMS Multiprocessing Test Suite, the node number is derived from the
|
||||
* Makefile variable ``NODE_NUMBER``. The same code is compiled with the
|
||||
* ``NODE_NUMBER`` set to different values. The test programs behave
|
||||
* differently based upon their node number.
|
||||
* Makefile variable `NODE_NUMBER`. The same code is compiled with the
|
||||
* `NODE_NUMBER` set to different values. The test programs behave differently
|
||||
* based upon their node number.
|
||||
*
|
||||
* This configuration option is only evaluated if @ref CONFIGURE_MP_APPLICATION
|
||||
* is defined.
|
||||
@@ -4077,7 +4077,7 @@
|
||||
* href="https://en.cppreference.com/w/c/types/integer">uintptr_t</a>.
|
||||
*
|
||||
* - The value of the configuration option shall be zero if the POSIX API is
|
||||
* not enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True``
|
||||
* not enabled (e.g. RTEMS was built without the `RTEMS_POSIX_API = True`
|
||||
* build configuration option). Otherwise a compile time error in the
|
||||
* configuration file will occur.
|
||||
* @endparblock
|
||||
@@ -4274,7 +4274,7 @@
|
||||
* other constraints of the configuration option.
|
||||
*
|
||||
* - The value of the configuration option shall be zero if the POSIX API is
|
||||
* not enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True``
|
||||
* not enabled (e.g. RTEMS was built without the `RTEMS_POSIX_API = True`
|
||||
* build configuration option). Otherwise a compile time error in the
|
||||
* configuration file will occur.
|
||||
* @endparblock
|
||||
@@ -4347,11 +4347,11 @@
|
||||
* POSIX API initialization thread.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``POSIX_Init``.
|
||||
* The default value is `POSIX_Init`.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void *( *entry_point )( void * )``.
|
||||
* pointer of the type `void *( *entry_point )( void * )`.
|
||||
*
|
||||
* @par Notes
|
||||
* The application shall provide the function referenced by this configuration
|
||||
@@ -4408,7 +4408,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_RTEMS_INIT_TASKS_TABLE,
|
||||
*
|
||||
* * ``CONFIGURE_POSIX_INIT_THREAD_TABLE``, or
|
||||
* * `CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
|
||||
*
|
||||
* * @ref CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
|
||||
*
|
||||
@@ -4544,9 +4544,9 @@
|
||||
* the amount of memory allocated by the schedulers listed above. These
|
||||
* schedulers use a chain control structure per priority and this structure
|
||||
* consists of three pointers. On a 32-bit architecture, the allocated memory
|
||||
* is 12 bytes * (``CONFIGURE_MAXIMUM_PRIORITY`` + 1), e.g. 3072 bytes for 256
|
||||
* is 12 bytes * (`CONFIGURE_MAXIMUM_PRIORITY` + 1), e.g. 3072 bytes for 256
|
||||
* priority levels (default), 48 bytes for 4 priority levels
|
||||
* (``CONFIGURE_MAXIMUM_PRIORITY == 3``).
|
||||
* (`CONFIGURE_MAXIMUM_PRIORITY == 3`).
|
||||
*
|
||||
* The default value is 255, because RTEMS shall support 256 priority levels to
|
||||
* be compliant with various standards. These priorities range from 0 to 255.
|
||||
@@ -4575,20 +4575,20 @@
|
||||
* - The value of the configuration option shall be a list of the following
|
||||
* macros:
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_ASSIGN( scheduler_index, attributes )``
|
||||
* * `RTEMS_SCHEDULER_ASSIGN( scheduler_index, attributes )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
|
||||
* * `RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER`
|
||||
*
|
||||
* The ``scheduler_index`` macro parameter shall be a valid index of the
|
||||
* The `scheduler_index` macro parameter shall be a valid index of the
|
||||
* scheduler table defined by the @ref CONFIGURE_SCHEDULER_TABLE_ENTRIES
|
||||
* configuration option.
|
||||
*
|
||||
* The ``attributes`` macro parameter shall be set to exactly one of the
|
||||
* The `attributes` macro parameter shall be set to exactly one of the
|
||||
* following constants:
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY``
|
||||
* * `RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL``
|
||||
* * `RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL`
|
||||
*
|
||||
* - The value of the configuration option shall be a list of exactly @ref
|
||||
* CONFIGURE_MAXIMUM_PROCESSORS elements.
|
||||
@@ -4712,35 +4712,35 @@
|
||||
* @parblock
|
||||
* The default value is
|
||||
*
|
||||
* * ``"MEDF"`` for the <a
|
||||
* * `"MEDF"` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#earliest-deadline-first-smp-scheduler">Earliest
|
||||
* Deadline First SMP Scheduler</a>,
|
||||
*
|
||||
* * ``"MPA "`` for the <a
|
||||
* * `"MPA "` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#arbitrary-processor-affinity-priority-smp-scheduler">Arbitrary
|
||||
* Processor Affinity Priority SMP Scheduler</a>,
|
||||
*
|
||||
* * ``"MPD "`` for the <a
|
||||
* * `"MPD "` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#deterministic-priority-smp-scheduler">Deterministic
|
||||
* Priority SMP Scheduler</a>,
|
||||
*
|
||||
* * ``"MPS "`` for the <a
|
||||
* * `"MPS "` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#simple-priority-smp-scheduler">Simple
|
||||
* Priority SMP Scheduler</a>,
|
||||
*
|
||||
* * ``"UCBS"`` for the <a
|
||||
* * `"UCBS"` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#constant-bandwidth-server-scheduling-cbs">Constant
|
||||
* Bandwidth Server Scheduling (CBS)</a>,
|
||||
*
|
||||
* * ``"UEDF"`` for the <a
|
||||
* * `"UEDF"` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#earliest-deadline-first-scheduler">Earliest
|
||||
* Deadline First Scheduler</a>,
|
||||
*
|
||||
* * ``"UPD "`` for the <a
|
||||
* * `"UPD "` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#deterministic-priority-scheduler">Deterministic
|
||||
* Priority Scheduler</a>, and
|
||||
*
|
||||
* * ``"UPS "`` for the <a
|
||||
* * `"UPS "` for the <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#simple-priority-scheduler">Simple
|
||||
* Priority Scheduler</a>.
|
||||
* @endparblock
|
||||
@@ -4971,31 +4971,31 @@
|
||||
* - The value of the configuration option shall be a list of the following
|
||||
* macros:
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_CBS( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_CBS( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_EDF( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_EDF( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name )`
|
||||
*
|
||||
* * ``RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name )``
|
||||
* * `RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name )`
|
||||
*
|
||||
* The ``name`` macro parameter shall be the name associated with the
|
||||
* scheduler data structures, see <a
|
||||
* The `name` macro parameter shall be the name associated with the scheduler
|
||||
* data structures, see <a
|
||||
* href="https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html">Clustered
|
||||
* Scheduler Configuration</a>.
|
||||
*
|
||||
* The ``obj_name`` macro parameter shall be the scheduler object name. It
|
||||
* is recommended to define the scheduler object name through
|
||||
* The `obj_name` macro parameter shall be the scheduler object name. It is
|
||||
* recommended to define the scheduler object name through
|
||||
* rtems_build_name().
|
||||
*
|
||||
* - Where the system was build with SMP support enabled, the table shall have
|
||||
@@ -5035,26 +5035,26 @@
|
||||
* Think twice before you use it.
|
||||
*
|
||||
* RTEMS allows the application to provide its own task/thread scheduling
|
||||
* algorithm. In order to do this, one shall define
|
||||
* ``CONFIGURE_SCHEDULER_USER`` to indicate the application provides its own
|
||||
* scheduling algorithm. If ``CONFIGURE_SCHEDULER_USER`` is defined then the
|
||||
* following additional macros shall be defined:
|
||||
* algorithm. In order to do this, one shall define `CONFIGURE_SCHEDULER_USER`
|
||||
* to indicate the application provides its own scheduling algorithm. If
|
||||
* `CONFIGURE_SCHEDULER_USER` is defined then the following additional macros
|
||||
* shall be defined:
|
||||
*
|
||||
* * ``CONFIGURE_SCHEDULER`` shall be defined to a static definition of the
|
||||
* * `CONFIGURE_SCHEDULER` shall be defined to a static definition of the
|
||||
* scheduler data structures of the user scheduler.
|
||||
*
|
||||
* * ``CONFIGURE_SCHEDULER_TABLE_ENTRIES`` shall be defined to a scheduler
|
||||
* table entry initializer for the user scheduler.
|
||||
* * `CONFIGURE_SCHEDULER_TABLE_ENTRIES` shall be defined to a scheduler table
|
||||
* entry initializer for the user scheduler.
|
||||
*
|
||||
* * ``CONFIGURE_SCHEDULER_USER_PER_THREAD`` shall be defined to the type of
|
||||
* the per-thread information of the user scheduler.
|
||||
* * `CONFIGURE_SCHEDULER_USER_PER_THREAD` shall be defined to the type of the
|
||||
* per-thread information of the user scheduler.
|
||||
*
|
||||
* At this time, the mechanics and requirements for writing a new scheduler are
|
||||
* evolving and not fully documented. It is recommended that you look at the
|
||||
* existing Deterministic Priority Scheduler in
|
||||
* ``cpukit/score/src/schedulerpriority*.c`` for guidance. For guidance on the
|
||||
* `cpukit/score/src/schedulerpriority*.c` for guidance. For guidance on the
|
||||
* configuration macros, please examine
|
||||
* ``cpukit/include/rtems/confdefs/scheduler.h`` for how these are defined for
|
||||
* `cpukit/include/rtems/confdefs/scheduler.h` for how these are defined for
|
||||
* the Deterministic Priority Scheduler.
|
||||
* @endparblock
|
||||
*/
|
||||
@@ -5090,12 +5090,12 @@
|
||||
* allocate handler.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``_Workspace_Allocate``, which indicates that task
|
||||
* stacks will be allocated from the RTEMS Workspace.
|
||||
* The default value is `_Workspace_Allocate`, which indicates that task stacks
|
||||
* will be allocated from the RTEMS Workspace.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void *( *allocate )( size_t )``.
|
||||
* pointer of the type `void *( *allocate )( size_t )`.
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
@@ -5104,7 +5104,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_TASK_STACK_ALLOCATOR_INIT
|
||||
*
|
||||
* * ``CONFIGURE_TASK_STACK_ALLOCATOR``
|
||||
* * `CONFIGURE_TASK_STACK_ALLOCATOR`
|
||||
*
|
||||
* * @ref CONFIGURE_TASK_STACK_DEALLOCATOR
|
||||
* @endparblock
|
||||
@@ -5151,7 +5151,7 @@
|
||||
* The following constraints apply to this configuration option:
|
||||
*
|
||||
* - The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void *( *allocate )( uint32_t, size_t * )``.
|
||||
* pointer of the type `void *( *allocate )( uint32_t, size_t * )`.
|
||||
*
|
||||
* - The IDLE task stack allocator shall return a pointer to the allocated
|
||||
* memory area or terminate the system with a fatal error if the allocation
|
||||
@@ -5174,7 +5174,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_IDLE_TASK_STORAGE_SIZE, and
|
||||
*
|
||||
* * ``CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE``
|
||||
* * `CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE`
|
||||
*
|
||||
* configuration options are mutually exclusive.
|
||||
* @endparblock
|
||||
@@ -5197,7 +5197,7 @@
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void ( *initialize )( size_t )`` or to <a
|
||||
* pointer of the type `void ( *initialize )( size_t )` or to <a
|
||||
* href="https://en.cppreference.com/w/c/types/NULL">NULL</a>.
|
||||
*
|
||||
* @par Notes
|
||||
@@ -5205,7 +5205,7 @@
|
||||
* A correctly configured system shall configure the following to be
|
||||
* consistent:
|
||||
*
|
||||
* * ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
|
||||
* * `CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
|
||||
*
|
||||
* * @ref CONFIGURE_TASK_STACK_ALLOCATOR
|
||||
*
|
||||
@@ -5225,12 +5225,12 @@
|
||||
* deallocate handler.
|
||||
*
|
||||
* @par Default Value
|
||||
* The default value is ``_Workspace_Free``, which indicates that task stacks
|
||||
* The default value is `_Workspace_Free`, which indicates that task stacks
|
||||
* will be allocated from the RTEMS Workspace.
|
||||
*
|
||||
* @par Constraints
|
||||
* The value of the configuration option shall be defined to a valid function
|
||||
* pointer of the type ``void ( *deallocate )( void * )``.
|
||||
* pointer of the type `void ( *deallocate )( void * )`.
|
||||
*
|
||||
* @par Notes
|
||||
* @parblock
|
||||
@@ -5241,7 +5241,7 @@
|
||||
*
|
||||
* * @ref CONFIGURE_TASK_STACK_ALLOCATOR
|
||||
*
|
||||
* * ``CONFIGURE_TASK_STACK_DEALLOCATOR``
|
||||
* * `CONFIGURE_TASK_STACK_DEALLOCATOR`
|
||||
* @endparblock
|
||||
*/
|
||||
#define CONFIGURE_TASK_STACK_DEALLOCATOR
|
||||
|
||||
@@ -103,8 +103,8 @@ typedef void ( *BSP_output_char_function_type )( char );
|
||||
* This function pointer shall never be NULL. It shall be provided by the BSP
|
||||
* and statically initialized. The referenced function shall output exactly
|
||||
* the character specified by the parameter. In particular, it shall not
|
||||
* perform character translations, for example ``NL`` to ``CR`` followed by
|
||||
* ``NR``. The function shall not block.
|
||||
* perform character translations, for example `NL` to `CR` followed by `NR`.
|
||||
* The function shall not block.
|
||||
*/
|
||||
extern BSP_output_char_function_type BSP_output_char;
|
||||
|
||||
@@ -120,7 +120,7 @@ extern BSP_output_char_function_type BSP_output_char;
|
||||
* The directive outputs the character specified by ``c`` to the kernel
|
||||
* character output device using the polled character output implementation
|
||||
* provided by #BSP_output_char. The directive performs a character
|
||||
* translation from ``NL`` to ``CR`` followed by ``NR``.
|
||||
* translation from `NL` to `CR` followed by `NR`.
|
||||
*
|
||||
* If the kernel character output device is concurrently accessed, then
|
||||
* interleaved output may occur.
|
||||
@@ -178,7 +178,7 @@ void rtems_put_char( int c, void *unused );
|
||||
* @parblock
|
||||
* The directive may be used to print debug and test information. It uses
|
||||
* rtems_putc() to output the characters. This directive performs a character
|
||||
* translation from ``NL`` to ``CR`` followed by ``NR``.
|
||||
* translation from `NL` to `CR` followed by `NR`.
|
||||
*
|
||||
* If the kernel character output device is concurrently accessed, then
|
||||
* interleaved output may occur.
|
||||
@@ -214,7 +214,7 @@ int putk( const char *s );
|
||||
* @parblock
|
||||
* The directive may be used to print debug and test information. It uses
|
||||
* rtems_putc() to output the characters. This directive performs a character
|
||||
* translation from ``NL`` to ``CR`` followed by ``NR``.
|
||||
* translation from `NL` to `CR` followed by `NR`.
|
||||
*
|
||||
* If the kernel character output device is concurrently accessed, then
|
||||
* interleaved output may occur.
|
||||
@@ -252,7 +252,7 @@ RTEMS_PRINTFLIKE( 1, 2 ) int printk( const char *fmt, ... );
|
||||
* @parblock
|
||||
* The directive may be used to print debug and test information. It uses
|
||||
* rtems_putc() to output the characters. This directive performs a character
|
||||
* translation from ``NL`` to ``CR`` followed by ``NR``.
|
||||
* translation from `NL` to `CR` followed by `NR`.
|
||||
*
|
||||
* If the kernel character output device is concurrently accessed, then
|
||||
* interleaved output may occur.
|
||||
@@ -292,7 +292,7 @@ int vprintk( const char *fmt, va_list ap );
|
||||
* @parblock
|
||||
* The directive may be used to print debug and test information. It uses
|
||||
* rtems_putc() to output the characters. This directive performs a character
|
||||
* translation from ``NL`` to ``CR`` followed by ``NR``.
|
||||
* translation from `NL` to `CR` followed by `NR`.
|
||||
*
|
||||
* If the kernel character output device is concurrently accessed, then
|
||||
* interleaved output may occur.
|
||||
|
||||
@@ -102,12 +102,12 @@ extern "C" {
|
||||
* be generated by hand. RTEMS provides a set of macros system which provides a
|
||||
* simple standard mechanism to automate the generation of these structures.
|
||||
*
|
||||
* The RTEMS header file ``<rtems/confdefs.h>`` is at the core of the automatic
|
||||
* The RTEMS header file `<rtems/confdefs.h>` is at the core of the automatic
|
||||
* generation of system configuration. It is based on the idea of setting
|
||||
* macros which define configuration parameters of interest to the application
|
||||
* and defaulting or calculating all others. This variety of macros can
|
||||
* automatically produce all of the configuration data required for an RTEMS
|
||||
* application. The term ``confdefs`` is shorthand for a *Configuration
|
||||
* application. The term `confdefs` is shorthand for a *Configuration
|
||||
* Defaults*.
|
||||
*
|
||||
* As a general rule, application developers only specify values for the
|
||||
@@ -122,7 +122,7 @@ extern "C" {
|
||||
*
|
||||
* For each configuration parameter in the configuration tables, the macro
|
||||
* corresponding to that field is discussed. The RTEMS Maintainers expect that
|
||||
* all systems can be easily configured using the ``<rtems/confdefs.h>``
|
||||
* all systems can be easily configured using the `<rtems/confdefs.h>`
|
||||
* mechanism and that using this mechanism will avoid internal RTEMS
|
||||
* configuration changes impacting applications.
|
||||
*
|
||||
@@ -239,7 +239,7 @@ typedef Stack_Allocator_free rtems_stack_free_hook;
|
||||
* @brief Gets the RTEMS build label.
|
||||
*
|
||||
* The build label is a user-provided string defined by the build configuration
|
||||
* through the ``RTEMS_BUILD_LABEL`` build option. The format of the string is
|
||||
* through the `RTEMS_BUILD_LABEL` build option. The format of the string is
|
||||
* completely user-defined.
|
||||
*
|
||||
* @return Returns a pointer to the RTEMS build label.
|
||||
|
||||
@@ -253,7 +253,7 @@ rtems_status_code rtems_port_delete( rtems_id id );
|
||||
*
|
||||
* @param external is the external address to convert.
|
||||
*
|
||||
* @param[out] internal is the pointer to a ``void`` pointer object. When the
|
||||
* @param[out] internal is the pointer to a `void` pointer object. When the
|
||||
* directive call is successful, the external address associated with the
|
||||
* internal address will be stored in this object.
|
||||
*
|
||||
@@ -299,7 +299,7 @@ rtems_status_code rtems_port_external_to_internal(
|
||||
*
|
||||
* @param internal is the internal address to convert.
|
||||
*
|
||||
* @param[out] external is the pointer to a ``void`` pointer object. When the
|
||||
* @param[out] external is the pointer to a `void` pointer object. When the
|
||||
* directive call is successful, the external address associated with the
|
||||
* internal address will be stored in this object.
|
||||
*
|
||||
|
||||
@@ -475,8 +475,8 @@ rtems_status_code rtems_interrupt_catch(
|
||||
*
|
||||
* @brief Checks if an ISR is in progress on the current processor.
|
||||
*
|
||||
* This directive returns ``true``, if the current processor is currently
|
||||
* servicing an interrupt, and ``false`` otherwise. A return value of ``true``
|
||||
* This directive returns `true`, if the current processor is currently
|
||||
* servicing an interrupt, and `false` otherwise. A return value of `true`
|
||||
* indicates that the caller is an interrupt service routine, **not** a task.
|
||||
* The directives available to an interrupt service routine are restricted.
|
||||
*
|
||||
@@ -843,7 +843,7 @@ typedef ISR_lock_Context rtems_interrupt_lock_context;
|
||||
* @brief Declares an ISR lock object.
|
||||
*
|
||||
* @param _specifier is the storage-class specifier for the ISR lock to
|
||||
* declare, for example ``extern`` or ``static``.
|
||||
* declare, for example `extern` or `static`.
|
||||
*
|
||||
* @param _designator is the ISR lock object designator.
|
||||
*
|
||||
@@ -865,7 +865,7 @@ typedef ISR_lock_Context rtems_interrupt_lock_context;
|
||||
* @brief Defines an ISR lock object.
|
||||
*
|
||||
* @param _specifier is the storage-class specifier for the ISR lock to
|
||||
* declare, for example ``extern`` or ``static``.
|
||||
* declare, for example `extern` or `static`.
|
||||
*
|
||||
* @param _designator is the ISR lock object designator.
|
||||
*
|
||||
@@ -1447,7 +1447,7 @@ rtems_status_code rtems_interrupt_handler_remove(
|
||||
*
|
||||
* @param vector is the interrupt vector number.
|
||||
*
|
||||
* @param[out] enabled is the pointer to a ``bool`` object. When the directive
|
||||
* @param[out] enabled is the pointer to a `bool` object. When the directive
|
||||
* call is successful, the enabled status of the interrupt associated with
|
||||
* the interrupt vector specified by ``vector`` will be stored in this
|
||||
* object. When the interrupt was enabled for the processor executing the
|
||||
@@ -1585,7 +1585,7 @@ rtems_status_code rtems_interrupt_vector_disable( rtems_vector_number vector );
|
||||
*
|
||||
* @param vector is the interrupt vector number.
|
||||
*
|
||||
* @param[out] pending is the pointer to a ``bool`` object. When the directive
|
||||
* @param[out] pending is the pointer to a `bool` object. When the directive
|
||||
* call is successful, the pending status of the interrupt associated with
|
||||
* the interrupt vector specified by ``vector`` will be stored in this
|
||||
* object. When the interrupt was pending for the processor executing the
|
||||
|
||||
@@ -352,8 +352,8 @@ rtems_status_code rtems_object_get_classic_name(
|
||||
* @param[out] name is the pointer to a buffer of the specified length.
|
||||
*
|
||||
* The object name is stored in the name buffer. If the name buffer length is
|
||||
* greater than zero, then the stored object name will be ``NUL`` terminated.
|
||||
* The stored object name may be truncated to fit the length. There is no
|
||||
* greater than zero, then the stored object name will be `NUL` terminated. The
|
||||
* stored object name may be truncated to fit the length. There is no
|
||||
* indication if a truncation occurred. Every attempt is made to return name
|
||||
* as a printable string even if the object has the Classic API 32-bit integer
|
||||
* style name.
|
||||
|
||||
@@ -388,7 +388,7 @@ rtems_status_code rtems_partition_delete( rtems_id id );
|
||||
*
|
||||
* @param id is the partition identifier.
|
||||
*
|
||||
* @param[out] buffer is the pointer to a ``void`` pointer object. When the
|
||||
* @param[out] buffer is the pointer to a `void` pointer object. When the
|
||||
* directive call is successful, the pointer to the allocated buffer will be
|
||||
* stored in this object.
|
||||
*
|
||||
|
||||
@@ -482,23 +482,22 @@ rtems_status_code rtems_rate_monotonic_period(
|
||||
* specified by ``id``. The detailed status of the period will be returned in
|
||||
* the members of the period status object referenced by ``status``:
|
||||
*
|
||||
* * The ``owner`` member is set to the identifier of the owner task of the
|
||||
* * The `owner` member is set to the identifier of the owner task of the
|
||||
* period.
|
||||
*
|
||||
* * The ``state`` member is set to the current state of the period.
|
||||
* * The `state` member is set to the current state of the period.
|
||||
*
|
||||
* * The ``postponed_jobs_count`` member is set to the count of jobs which are
|
||||
* * The `postponed_jobs_count` member is set to the count of jobs which are
|
||||
* not released yet.
|
||||
*
|
||||
* * If the current state of the period is ::RATE_MONOTONIC_INACTIVE, the
|
||||
* ``since_last_period`` and ``executed_since_last_period`` members will be
|
||||
* set to zero. Otherwise, both members will contain time information since
|
||||
* the last successful invocation of the rtems_rate_monotonic_period()
|
||||
* directive by the owner task. More specifically, the ``since_last_period``
|
||||
* member will be set to the time elapsed since the last successful
|
||||
* invocation. The ``executed_since_last_period`` member will be set to the
|
||||
* processor time consumed by the owner task since the last successful
|
||||
* invocation.
|
||||
* `since_last_period` and `executed_since_last_period` members will be set
|
||||
* to zero. Otherwise, both members will contain time information since the
|
||||
* last successful invocation of the rtems_rate_monotonic_period() directive
|
||||
* by the owner task. More specifically, the `since_last_period` member will
|
||||
* be set to the time elapsed since the last successful invocation. The
|
||||
* `executed_since_last_period` member will be set to the processor time
|
||||
* consumed by the owner task since the last successful invocation.
|
||||
*
|
||||
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
|
||||
*
|
||||
@@ -540,27 +539,27 @@ rtems_status_code rtems_rate_monotonic_get_status(
|
||||
* by ``id``. The statistics of the period will be returned in the members of
|
||||
* the period statistics object referenced by ``status``:
|
||||
*
|
||||
* * The ``count`` member is set to the number of periods executed.
|
||||
* * The `count` member is set to the number of periods executed.
|
||||
*
|
||||
* * The ``missed_count`` member is set to the number of periods missed.
|
||||
* * The `missed_count` member is set to the number of periods missed.
|
||||
*
|
||||
* * The ``min_cpu_time`` member is set to the least amount of processor time
|
||||
* * The `min_cpu_time` member is set to the least amount of processor time
|
||||
* used in the period.
|
||||
*
|
||||
* * The ``max_cpu_time`` member is set to the highest amount of processor time
|
||||
* * The `max_cpu_time` member is set to the highest amount of processor time
|
||||
* used in the period.
|
||||
*
|
||||
* * The ``total_cpu_time`` member is set to the total amount of processor time
|
||||
* * The `total_cpu_time` member is set to the total amount of processor time
|
||||
* used in the period.
|
||||
*
|
||||
* * The ``min_wall_time`` member is set to the least amount of CLOCK_MONOTONIC
|
||||
* * The `min_wall_time` member is set to the least amount of CLOCK_MONOTONIC
|
||||
* time used in the period.
|
||||
*
|
||||
* * The ``max_wall_time`` member is set to the highest amount of
|
||||
* CLOCK_MONOTONIC time used in the period.
|
||||
* * The `max_wall_time` member is set to the highest amount of CLOCK_MONOTONIC
|
||||
* time used in the period.
|
||||
*
|
||||
* * The ``total_wall_time`` member is set to the total amount of
|
||||
* CLOCK_MONOTONIC time used in the period.
|
||||
* * The `total_wall_time` member is set to the total amount of CLOCK_MONOTONIC
|
||||
* time used in the period.
|
||||
*
|
||||
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
|
||||
*
|
||||
|
||||
@@ -403,7 +403,7 @@ rtems_status_code rtems_region_extend(
|
||||
* @param timeout is the timeout in clock ticks if the #RTEMS_WAIT option is
|
||||
* set. Use #RTEMS_NO_TIMEOUT to wait potentially forever.
|
||||
*
|
||||
* @param[out] segment is the pointer to a ``void`` pointer object. When the
|
||||
* @param[out] segment is the pointer to a `void` pointer object. When the
|
||||
* directive call is successful, the begin address of the allocated segment
|
||||
* will be stored in this object.
|
||||
*
|
||||
|
||||
@@ -264,7 +264,7 @@ rtems_status_code rtems_scheduler_get_maximum_priority(
|
||||
*
|
||||
* @param priority is the Classic API task priority to map.
|
||||
*
|
||||
* @param[out] posix_priority is the pointer to an ``int`` object. When the
|
||||
* @param[out] posix_priority is the pointer to an `int` object. When the
|
||||
* directive call is successful, the POSIX thread priority value
|
||||
* corresponding to the specified Classic API task priority value will be
|
||||
* stored in this object.
|
||||
|
||||
@@ -230,7 +230,7 @@ static inline void rtems_name_to_characters(
|
||||
*
|
||||
* @param bytes is the number of bytes to allocated.
|
||||
*
|
||||
* @param[out] pointer is the pointer to a ``void`` pointer object. When the
|
||||
* @param[out] pointer is the pointer to a `void` pointer object. When the
|
||||
* directive call is successful, the begin address of the allocated memory
|
||||
* area will be stored in this object.
|
||||
*
|
||||
|
||||
@@ -155,8 +155,8 @@ typedef struct {
|
||||
* by rtems_task_construct() fails.
|
||||
*
|
||||
* The actual thread-local storage size is determined when the application
|
||||
* executable is linked. The ``rtems-exeinfo`` command line tool included in
|
||||
* the RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
* executable is linked. The `rtems-exeinfo` command line tool included in the
|
||||
* RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
* alignment of an application executable.
|
||||
*
|
||||
* The application may configure the maximum thread-local storage size for all
|
||||
@@ -495,8 +495,7 @@ typedef bool( *rtems_task_visitor )( rtems_tcb *, void * );
|
||||
* #RTEMS_NO_ASR,
|
||||
*
|
||||
* * the interrupt level of the task: RTEMS_INTERRUPT_LEVEL() with a default of
|
||||
* ``RTEMS_INTERRUPT_LEVEL( 0 )`` which is associated with enabled
|
||||
* interrupts.
|
||||
* `RTEMS_INTERRUPT_LEVEL( 0 )` which is associated with enabled interrupts.
|
||||
*
|
||||
* The **initial preemption mode** of the task is enabled or disabled.
|
||||
*
|
||||
@@ -914,11 +913,11 @@ rtems_id rtems_task_self( void );
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* The type of the entry point argument is an unsigned integer type. However,
|
||||
* the integer type has the property that any valid pointer to ``void`` can be
|
||||
* converted to this type and then converted back to a pointer to ``void``.
|
||||
* The result will compare equal to the original pointer. The type can
|
||||
* represent at least 32 bits. Some applications use the entry point argument
|
||||
* as an index into a parameter table to get task-specific parameters.
|
||||
* the integer type has the property that any valid pointer to `void` can be
|
||||
* converted to this type and then converted back to a pointer to `void`. The
|
||||
* result will compare equal to the original pointer. The type can represent
|
||||
* at least 32 bits. Some applications use the entry point argument as an
|
||||
* index into a parameter table to get task-specific parameters.
|
||||
*
|
||||
* Any actions performed on a dormant task such as suspension or change of
|
||||
* priority are nullified when the task is initiated via the rtems_task_start()
|
||||
@@ -977,11 +976,11 @@ rtems_status_code rtems_task_start(
|
||||
* @par Notes
|
||||
* @parblock
|
||||
* The type of the entry point argument is an unsigned integer type. However,
|
||||
* the integer type has the property that any valid pointer to ``void`` can be
|
||||
* converted to this type and then converted back to a pointer to ``void``.
|
||||
* The result will compare equal to the original pointer. The type can
|
||||
* represent at least 32 bits. Some applications use the entry point argument
|
||||
* as an index into a parameter table to get task-specific parameters.
|
||||
* the integer type has the property that any valid pointer to `void` can be
|
||||
* converted to this type and then converted back to a pointer to `void`. The
|
||||
* result will compare equal to the original pointer. The type can represent
|
||||
* at least 32 bits. Some applications use the entry point argument as an
|
||||
* index into a parameter table to get task-specific parameters.
|
||||
*
|
||||
* A new entry point argument may be used to distinguish between the initial
|
||||
* rtems_task_start() of the task and any ensuing calls to rtems_task_restart()
|
||||
@@ -1461,8 +1460,7 @@ rtems_status_code rtems_task_get_priority(
|
||||
* #RTEMS_NO_ASR,
|
||||
*
|
||||
* * the interrupt level of the task: RTEMS_INTERRUPT_LEVEL() with a default of
|
||||
* ``RTEMS_INTERRUPT_LEVEL( 0 )`` which is associated with enabled
|
||||
* interrupts.
|
||||
* `RTEMS_INTERRUPT_LEVEL( 0 )` which is associated with enabled interrupts.
|
||||
*
|
||||
* The **mode mask** specified in ``mask`` is built through a *bitwise or* of
|
||||
* the mode mask constants described below.
|
||||
|
||||
@@ -432,7 +432,7 @@ extern "C" {
|
||||
*
|
||||
* @brief Gets the pointer reference type.
|
||||
*
|
||||
* @param _level is the pointer indirection level expressed in ``*``.
|
||||
* @param _level is the pointer indirection level expressed in `*`.
|
||||
*
|
||||
* @param _target is the reference target type.
|
||||
*
|
||||
@@ -511,7 +511,7 @@ extern "C" {
|
||||
* @brief Performs a type cast which removes qualifiers without warnings to the
|
||||
* type for the variable.
|
||||
*
|
||||
* @param _ptr_level is the pointer indirection level expressed in ``*``.
|
||||
* @param _ptr_level is the pointer indirection level expressed in `*`.
|
||||
*
|
||||
* @param _type is the target type of the cast.
|
||||
*
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
*
|
||||
* @brief Unit tests for the configuration manager.
|
||||
*
|
||||
* Parts of the file ``cpukit/sapi/src/getconfigmax.c`` are only executed when
|
||||
* Parts of the file `cpukit/sapi/src/getconfigmax.c` are only executed when
|
||||
* unlimited objects are configured. The space qualified code subset does not
|
||||
* support this feature. This test exercises the code parts otherwise not
|
||||
* reached in order to achieve full code coverage.
|
||||
@@ -92,7 +92,7 @@
|
||||
typedef struct {
|
||||
/**
|
||||
* @brief This member contains the original value of
|
||||
* ``_Semaphore_Information->objects_per_block``.
|
||||
* `_Semaphore_Information->objects_per_block`.
|
||||
*/
|
||||
Objects_Maximum objects_per_block_ori;
|
||||
} RtemsConfigUnitConfig_Context;
|
||||
|
||||
@@ -68,12 +68,11 @@
|
||||
*
|
||||
* @brief Unit tests for the Message Queue Handler.
|
||||
*
|
||||
* Parts of the files ``cpukit/score/src/coremsginsert.c``,
|
||||
* ``cpukit/score/src/coremsgseize.c``, and
|
||||
* ``cpukit/score/src/coremsgsubmit.c`` are only executed by the POSIX API.
|
||||
* Currently, the pre-qualified subset of RTEMS does not contain the POSIX API.
|
||||
* This test exercises the code parts otherwise only reached by the POSIX API
|
||||
* to achieve full code coverage.
|
||||
* Parts of the files `cpukit/score/src/coremsginsert.c`,
|
||||
* `cpukit/score/src/coremsgseize.c`, and `cpukit/score/src/coremsgsubmit.c`
|
||||
* are only executed by the POSIX API. Currently, the pre-qualified subset of
|
||||
* RTEMS does not contain the POSIX API. This test exercises the code parts
|
||||
* otherwise only reached by the POSIX API to achieve full code coverage.
|
||||
*
|
||||
* This test case performs the following actions:
|
||||
*
|
||||
@@ -128,8 +127,8 @@ typedef struct {
|
||||
|
||||
/**
|
||||
* @brief This member indicated whether the worker task is currently sending
|
||||
* a message (``true``) or whether it is waiting to receive an event
|
||||
* (``false``).
|
||||
* a message (`true`) or whether it is waiting to receive an event
|
||||
* (`false`).
|
||||
*/
|
||||
bool is_worker_working;
|
||||
|
||||
|
||||
@@ -64,49 +64,47 @@
|
||||
* @ingroup TestsuitesBspsValidationBsp0
|
||||
*
|
||||
* @brief This test case collection provides validation test cases for the
|
||||
* ``sparc/gr712rc`` BSP.
|
||||
* `sparc/gr712rc` BSP.
|
||||
*
|
||||
* This test case performs the following actions:
|
||||
*
|
||||
* - Validate the use of the ``-mfix-gr712rc`` compiler option.
|
||||
* - Validate the use of the `-mfix-gr712rc` compiler option.
|
||||
*
|
||||
* - Check that the compiler built-in define ``__FIX_LEON3FT_B2BST`` is
|
||||
* - Check that the compiler built-in define `__FIX_LEON3FT_B2BST` is
|
||||
* defined.
|
||||
*
|
||||
* - Check that the compiler built-in define ``__FIX_LEON3FT_TN0018`` is
|
||||
* - Check that the compiler built-in define `__FIX_LEON3FT_TN0018` is
|
||||
* defined.
|
||||
*
|
||||
* - Check that the ``SPARC_LEON3FT_B2BST_NOP`` define expands to a ``nop``
|
||||
* - Check that the `SPARC_LEON3FT_B2BST_NOP` define expands to a `nop`
|
||||
* instruction.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Validate the use of the ``-mfix-gr712rc`` compiler option.
|
||||
* @brief Validate the use of the `-mfix-gr712rc` compiler option.
|
||||
*/
|
||||
static void BspSparcLeon3ValGr712rc_Action_0( void )
|
||||
{
|
||||
const char *s;
|
||||
|
||||
/*
|
||||
* Check that the compiler built-in define ``__FIX_LEON3FT_B2BST`` is
|
||||
* defined.
|
||||
* Check that the compiler built-in define `__FIX_LEON3FT_B2BST` is defined.
|
||||
*/
|
||||
#if !defined(__FIX_LEON3FT_B2BST)
|
||||
#error "__FIX_LEON3FT_B2BST is not defined"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Check that the compiler built-in define ``__FIX_LEON3FT_TN0018`` is
|
||||
* defined.
|
||||
* Check that the compiler built-in define `__FIX_LEON3FT_TN0018` is defined.
|
||||
*/
|
||||
#if !defined(__FIX_LEON3FT_TN0018)
|
||||
#error "__FIX_LEON3FT_TN0018 is not defined"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Check that the ``SPARC_LEON3FT_B2BST_NOP`` define expands to a ``nop``
|
||||
* Check that the `SPARC_LEON3FT_B2BST_NOP` define expands to a `nop`
|
||||
* instruction.
|
||||
*/
|
||||
s = RTEMS_XSTRING( SPARC_LEON3FT_B2BST_NOP );
|
||||
|
||||
@@ -130,8 +130,8 @@
|
||||
* - It cannot automatically be checked that the
|
||||
* RTEMS_COMPILER_DEPRECATED_ATTRIBUTE macro has the desired effect. The
|
||||
* gcc compiler should issue a warning about the use of a deprecated
|
||||
* variable on the above line where the ``compiler_deprecated_attribute``
|
||||
* is used.
|
||||
* variable on the above line where the `compiler_deprecated_attribute` is
|
||||
* used.
|
||||
*
|
||||
* - Use the RTEMS_COMPILER_MEMORY_BARRIER() macro.
|
||||
*
|
||||
@@ -202,7 +202,7 @@
|
||||
* - It cannot automatically be checked that the RTEMS_DEPRECATED macro has
|
||||
* the desired effect. The gcc compiler should issue a warning about the
|
||||
* use of a deprecated function on the above line where the
|
||||
* ``deprecated_func`` is used.
|
||||
* `deprecated_func` is used.
|
||||
*
|
||||
* - Use the RTEMS_DEQUALIFY_DEPTHX() macro.
|
||||
*
|
||||
@@ -256,7 +256,7 @@
|
||||
* - It cannot be checked that the RTEMS_NO_RETURN macro has the desired
|
||||
* effect. It is only checked that such a macro exists.
|
||||
*
|
||||
* - Use the RTEMS_NOINIT macro on ``noinit_variable`` at the beginning of this
|
||||
* - Use the RTEMS_NOINIT macro on `noinit_variable` at the beginning of this
|
||||
* file.
|
||||
*
|
||||
* - It cannot be checked that the RTEMS_NOINIT macro has the desired effect.
|
||||
@@ -305,8 +305,8 @@
|
||||
* - The check confirms that a RTEMS_RETURN_ADDRESS() macro exists and that
|
||||
* it produces the correct code.
|
||||
*
|
||||
* - Use the RTEMS_SECTION() macro on ``section_variable`` and ``section_func``
|
||||
* at the beginning of this file.
|
||||
* - Use the RTEMS_SECTION() macro on `section_variable` and `section_func` at
|
||||
* the beginning of this file.
|
||||
*
|
||||
* - It cannot be checked that the RTEMS_SECTION() macro has the desired
|
||||
* effect. Yet, the check confirms that such a macro exists and can be
|
||||
@@ -384,28 +384,28 @@
|
||||
*
|
||||
* - It cannot be checked that the RTEMS_WARN_UNUSED_RESULT macro has the
|
||||
* desired effect. The GNU C compiler should issue a warning about the
|
||||
* disregarded result returned by the call to the ``warn_unused_func()``
|
||||
* disregarded result returned by the call to the `warn_unused_func()`
|
||||
* function.
|
||||
*
|
||||
* - Use of ``basedefs_weak_alias_0/1_func()`` which are defined with the
|
||||
* - Use of `basedefs_weak_alias_0/1_func()` which are defined with the
|
||||
* RTEMS_WEAK_ALIAS() macro at the beginning of this file.
|
||||
*
|
||||
* - There exists no strong alias for basedefs_weak_alias_0_func(). Check
|
||||
* that ori_func() and basedefs_weak_alias_0_func() are the same function.
|
||||
*
|
||||
* - File ``tc_basedefs_pndant.c`` defines a strong function for
|
||||
* - File `tc_basedefs_pndant.c` defines a strong function for
|
||||
* basedefs_weak_alias_1_func(). Check that ori_func() and
|
||||
* basedefs_weak_alias_1_func() are not the same function.
|
||||
*
|
||||
* - Use of ``basedefs_weak_0/1_var`` and ``basedefs_weak_0/1_func()`` which
|
||||
* are defined with the RTEMS_WEAK macro at the beginning of this file.
|
||||
* - Use of `basedefs_weak_0/1_var` and `basedefs_weak_0/1_func()` which are
|
||||
* defined with the RTEMS_WEAK macro at the beginning of this file.
|
||||
*
|
||||
* - For ``basedefs_weak_0_var`` and ``basedefs_weak_0_func()`` there exists
|
||||
* no other symbols with the same name. Hence, the checks test that the
|
||||
* weak symbols are used.
|
||||
* - For `basedefs_weak_0_var` and `basedefs_weak_0_func()` there exists no
|
||||
* other symbols with the same name. Hence, the checks test that the weak
|
||||
* symbols are used.
|
||||
*
|
||||
* - ``basedefs_weak_1_var`` and ``basedefs_weak_1_func()`` are overwritten
|
||||
* by strong symbols defined in file ``tc_basedefs_pendant.c``. Hence, the
|
||||
* - `basedefs_weak_1_var` and `basedefs_weak_1_func()` are overwritten by
|
||||
* strong symbols defined in file `tc_basedefs_pendant.c`. Hence, the
|
||||
* checks test that the strong variants are used.
|
||||
*
|
||||
* - Invoke the RTEMS_XCONCAT() macro on examples.
|
||||
@@ -892,7 +892,7 @@ static void RtemsBasedefsValBasedefs_Action_9( void )
|
||||
* It cannot automatically be checked that the
|
||||
* RTEMS_COMPILER_DEPRECATED_ATTRIBUTE macro has the desired effect. The gcc
|
||||
* compiler should issue a warning about the use of a deprecated variable on
|
||||
* the above line where the ``compiler_deprecated_attribute`` is used.
|
||||
* the above line where the `compiler_deprecated_attribute` is used.
|
||||
*/
|
||||
/*
|
||||
* Derivation from Coding Style:
|
||||
@@ -1137,8 +1137,7 @@ static void RtemsBasedefsValBasedefs_Action_21( void )
|
||||
/*
|
||||
* It cannot automatically be checked that the RTEMS_DEPRECATED macro has the
|
||||
* desired effect. The gcc compiler should issue a warning about the use of a
|
||||
* deprecated function on the above line where the ``deprecated_func`` is
|
||||
* used.
|
||||
* deprecated function on the above line where the `deprecated_func` is used.
|
||||
*/
|
||||
T_step_eq_int( 50, deprecated_result, 15 );
|
||||
}
|
||||
@@ -1388,7 +1387,7 @@ static void RtemsBasedefsValBasedefs_Action_31( void )
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Use the RTEMS_NOINIT macro on ``noinit_variable`` at the beginning of
|
||||
* @brief Use the RTEMS_NOINIT macro on `noinit_variable` at the beginning of
|
||||
* this file.
|
||||
*/
|
||||
static void RtemsBasedefsValBasedefs_Action_32( void )
|
||||
@@ -1557,8 +1556,8 @@ static void RtemsBasedefsValBasedefs_Action_39( void )
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Use the RTEMS_SECTION() macro on ``section_variable`` and
|
||||
* ``section_func`` at the beginning of this file.
|
||||
* @brief Use the RTEMS_SECTION() macro on `section_variable` and
|
||||
* `section_func` at the beginning of this file.
|
||||
*/
|
||||
static void RtemsBasedefsValBasedefs_Action_40( void )
|
||||
{
|
||||
@@ -1798,14 +1797,14 @@ static void RtemsBasedefsValBasedefs_Action_50( void )
|
||||
/*
|
||||
* It cannot be checked that the RTEMS_WARN_UNUSED_RESULT macro has the
|
||||
* desired effect. The GNU C compiler should issue a warning about the
|
||||
* disregarded result returned by the call to the ``warn_unused_func()``
|
||||
* disregarded result returned by the call to the `warn_unused_func()`
|
||||
* function.
|
||||
*/
|
||||
T_step_eq_int( 112, warn_unused_result, 11 );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Use of ``basedefs_weak_alias_0/1_func()`` which are defined with the
|
||||
* @brief Use of `basedefs_weak_alias_0/1_func()` which are defined with the
|
||||
* RTEMS_WEAK_ALIAS() macro at the beginning of this file.
|
||||
*/
|
||||
static void RtemsBasedefsValBasedefs_Action_51( void )
|
||||
@@ -1822,7 +1821,7 @@ static void RtemsBasedefsValBasedefs_Action_51( void )
|
||||
T_step_eq_int( 113, weak_alias_0_result, 16 );
|
||||
|
||||
/*
|
||||
* File ``tc_basedefs_pndant.c`` defines a strong function for
|
||||
* File `tc_basedefs_pndant.c` defines a strong function for
|
||||
* basedefs_weak_alias_1_func(). Check that ori_func() and
|
||||
* basedefs_weak_alias_1_func() are not the same function.
|
||||
*/
|
||||
@@ -1830,8 +1829,8 @@ static void RtemsBasedefsValBasedefs_Action_51( void )
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Use of ``basedefs_weak_0/1_var`` and ``basedefs_weak_0/1_func()``
|
||||
* which are defined with the RTEMS_WEAK macro at the beginning of this file.
|
||||
* @brief Use of `basedefs_weak_0/1_var` and `basedefs_weak_0/1_func()` which
|
||||
* are defined with the RTEMS_WEAK macro at the beginning of this file.
|
||||
*/
|
||||
static void RtemsBasedefsValBasedefs_Action_52( void )
|
||||
{
|
||||
@@ -1841,7 +1840,7 @@ static void RtemsBasedefsValBasedefs_Action_52( void )
|
||||
weak_1_result = basedefs_weak_1_func();
|
||||
|
||||
/*
|
||||
* For ``basedefs_weak_0_var`` and ``basedefs_weak_0_func()`` there exists no
|
||||
* For `basedefs_weak_0_var` and `basedefs_weak_0_func()` there exists no
|
||||
* other symbols with the same name. Hence, the checks test that the weak
|
||||
* symbols are used.
|
||||
*/
|
||||
@@ -1849,9 +1848,9 @@ static void RtemsBasedefsValBasedefs_Action_52( void )
|
||||
T_step_eq_int( 116, weak_0_result, 63 );
|
||||
|
||||
/*
|
||||
* ``basedefs_weak_1_var`` and ``basedefs_weak_1_func()`` are overwritten by
|
||||
* strong symbols defined in file ``tc_basedefs_pendant.c``. Hence, the
|
||||
* checks test that the strong variants are used.
|
||||
* `basedefs_weak_1_var` and `basedefs_weak_1_func()` are overwritten by
|
||||
* strong symbols defined in file `tc_basedefs_pendant.c`. Hence, the checks
|
||||
* test that the strong variants are used.
|
||||
*/
|
||||
T_step_eq_int( 117, basedefs_weak_1_var, 62 );
|
||||
T_step_eq_int( 118, weak_1_result, 65 );
|
||||
|
||||
@@ -311,7 +311,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Prepare(
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Null: {
|
||||
/*
|
||||
* While the first loaded value of the pointer to the first interrupt
|
||||
* entry of the interrupt vector specified by the ``vector`` parameter is
|
||||
* entry of the interrupt vector specified by the `vector` parameter is
|
||||
* equal to NULL.
|
||||
*/
|
||||
*ctx->first = NULL;
|
||||
@@ -321,7 +321,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Prepare(
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Entry: {
|
||||
/*
|
||||
* While the first loaded value of the pointer to the first interrupt
|
||||
* entry of the interrupt vector specified by the ``vector`` parameter
|
||||
* entry of the interrupt vector specified by the `vector` parameter
|
||||
* references an object of type rtems_interrupt_entry.
|
||||
*/
|
||||
*ctx->first = &ctx->entry;
|
||||
@@ -342,7 +342,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Prepare(
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Null: {
|
||||
/*
|
||||
* While the second loaded value of the pointer to the first interrupt
|
||||
* entry of the interrupt vector specified by the ``vector`` parameter is
|
||||
* entry of the interrupt vector specified by the `vector` parameter is
|
||||
* equal to NULL.
|
||||
*/
|
||||
ctx->first_again = NULL;
|
||||
@@ -352,7 +352,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Prepare(
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Entry: {
|
||||
/*
|
||||
* While the second loaded value of the pointer to the first interrupt
|
||||
* entry of the interrupt vector specified by the ``vector`` parameter
|
||||
* entry of the interrupt vector specified by the `vector` parameter
|
||||
* references an object of type rtems_interrupt_entry.
|
||||
*/
|
||||
ctx->first_again = &ctx->entry;
|
||||
@@ -382,7 +382,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Post_Result_Check(
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Post_Result_Dispatch: {
|
||||
/*
|
||||
* The interrupt entries installed at the interrupt vector specified by
|
||||
* the ``vector`` parameter shall be dispatched.
|
||||
* the `vector` parameter shall be dispatched.
|
||||
*/
|
||||
T_eq_u32( ctx->entry_counter, 1 );
|
||||
T_eq_u32( ctx->fatal_counter, 0 );
|
||||
@@ -422,7 +422,7 @@ static void BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Check(
|
||||
switch ( state ) {
|
||||
case BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector: {
|
||||
/*
|
||||
* The fatal code shall be equal to the ``vector`` parameter.
|
||||
* The fatal code shall be equal to the `vector` parameter.
|
||||
*/
|
||||
T_eq_ulong( ctx->fatal_code, ctx->test_vector );
|
||||
break;
|
||||
|
||||
@@ -191,14 +191,12 @@ typedef struct {
|
||||
TaskTimerInfo timer_info;
|
||||
|
||||
/**
|
||||
* @brief This member provides the object referenced by the ``rqtp``
|
||||
* parameter.
|
||||
* @brief This member provides the object referenced by the `rqtp` parameter.
|
||||
*/
|
||||
struct timespec rqtp_obj;
|
||||
|
||||
/**
|
||||
* @brief This member provides the object referenced by the ``rmtp``
|
||||
* parameter.
|
||||
* @brief This member provides the object referenced by the `rmtp` parameter.
|
||||
*/
|
||||
struct timespec rmtp_obj;
|
||||
|
||||
@@ -209,22 +207,22 @@ typedef struct {
|
||||
int status;
|
||||
|
||||
/**
|
||||
* @brief This member specifies the ``clock_id`` parameter value.
|
||||
* @brief This member specifies the `clock_id` parameter value.
|
||||
*/
|
||||
clockid_t clock_id;
|
||||
|
||||
/**
|
||||
* @brief This member specifies the ``flags`` parameter value.
|
||||
* @brief This member specifies the `flags` parameter value.
|
||||
*/
|
||||
int flags;
|
||||
|
||||
/**
|
||||
* @brief This member specifies the ``rqtp`` parameter value.
|
||||
* @brief This member specifies the `rqtp` parameter value.
|
||||
*/
|
||||
const struct timespec *rqtp;
|
||||
|
||||
/**
|
||||
* @brief This member specifies the ``rmtp`` parameter value.
|
||||
* @brief This member specifies the `rmtp` parameter value.
|
||||
*/
|
||||
struct timespec *rmtp;
|
||||
|
||||
@@ -359,7 +357,7 @@ static void CReqClockNanosleep_Pre_ClockId_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_ClockId_Monotonic: {
|
||||
/*
|
||||
* While the ``clock_id`` parameter is equal to CLOCK_MONOTONIC.
|
||||
* While the `clock_id` parameter is equal to CLOCK_MONOTONIC.
|
||||
*/
|
||||
ctx->clock_id = CLOCK_MONOTONIC;
|
||||
break;
|
||||
@@ -367,7 +365,7 @@ static void CReqClockNanosleep_Pre_ClockId_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_ClockId_Realtime: {
|
||||
/*
|
||||
* While the ``clock_id`` parameter is equal to CLOCK_REALTIME.
|
||||
* While the `clock_id` parameter is equal to CLOCK_REALTIME.
|
||||
*/
|
||||
ctx->clock_id = CLOCK_REALTIME;
|
||||
break;
|
||||
@@ -375,7 +373,7 @@ static void CReqClockNanosleep_Pre_ClockId_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_ClockId_Invalid: {
|
||||
/*
|
||||
* While the ``clock_id`` parameter is an invalid clock identifier.
|
||||
* While the `clock_id` parameter is an invalid clock identifier.
|
||||
*/
|
||||
ctx->clock_id = INT_MAX;
|
||||
break;
|
||||
@@ -394,7 +392,7 @@ static void CReqClockNanosleep_Pre_Abstime_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_Abstime_Yes: {
|
||||
/*
|
||||
* While the ``flags`` parameter indicates an absolute time.
|
||||
* While the `flags` parameter indicates an absolute time.
|
||||
*/
|
||||
ctx->flags |= TIMER_ABSTIME;
|
||||
break;
|
||||
@@ -402,7 +400,7 @@ static void CReqClockNanosleep_Pre_Abstime_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_Abstime_No: {
|
||||
/*
|
||||
* While the ``flags`` parameter does not indicate an absolute time.
|
||||
* While the `flags` parameter does not indicate an absolute time.
|
||||
*/
|
||||
/* This is the default */
|
||||
break;
|
||||
@@ -421,7 +419,7 @@ static void CReqClockNanosleep_Pre_RQTp_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_RQTp_Valid: {
|
||||
/*
|
||||
* While the ``rqtp`` parameter references an object of type struct
|
||||
* While the `rqtp` parameter references an object of type struct
|
||||
* timespec.
|
||||
*/
|
||||
ctx->rqtp = &ctx->rqtp_obj;
|
||||
@@ -430,7 +428,7 @@ static void CReqClockNanosleep_Pre_RQTp_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RQTp_Null: {
|
||||
/*
|
||||
* While the ``rqtp`` parameter is equal to NULL.
|
||||
* While the `rqtp` parameter is equal to NULL.
|
||||
*/
|
||||
ctx->rqtp = NULL;
|
||||
break;
|
||||
@@ -449,7 +447,7 @@ static void CReqClockNanosleep_Pre_RQTpNSec_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_RQTpNSec_Valid: {
|
||||
/*
|
||||
* While the ``tv_nsec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_nsec` member of the object referenced by the `rqtp`
|
||||
* parameter is a valid nanoseconds value.
|
||||
*/
|
||||
ctx->rqtp_obj.tv_nsec = 999999999;
|
||||
@@ -458,7 +456,7 @@ static void CReqClockNanosleep_Pre_RQTpNSec_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RQTpNSec_Invalid: {
|
||||
/*
|
||||
* While the ``tv_nsec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_nsec` member of the object referenced by the `rqtp`
|
||||
* parameter is an invalid nanoseconds value.
|
||||
*/
|
||||
ctx->rqtp_obj.tv_nsec = -1;
|
||||
@@ -478,7 +476,7 @@ static void CReqClockNanosleep_Pre_RQTpSec_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_RQTpSec_Negative: {
|
||||
/*
|
||||
* While the ``tv_sec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_sec` member of the object referenced by the `rqtp`
|
||||
* parameter is negative.
|
||||
*/
|
||||
ctx->rqtp_obj.tv_sec = -238479;
|
||||
@@ -487,7 +485,7 @@ static void CReqClockNanosleep_Pre_RQTpSec_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RQTpSec_FarFuture: {
|
||||
/*
|
||||
* While the ``tv_sec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_sec` member of the object referenced by the `rqtp`
|
||||
* parameter specifies a time point which is past the implementation
|
||||
* limit.
|
||||
*/
|
||||
@@ -497,9 +495,9 @@ static void CReqClockNanosleep_Pre_RQTpSec_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RQTpSec_Future: {
|
||||
/*
|
||||
* While the ``tv_sec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_sec` member of the object referenced by the `rqtp`
|
||||
* parameter specifies a time point which is after the current time of
|
||||
* the clock specified by the ``clock_id`` parameter and is within the
|
||||
* the clock specified by the `clock_id` parameter and is within the
|
||||
* implementation limits.
|
||||
*/
|
||||
ctx->rqtp_obj.tv_sec = 1621322302;
|
||||
@@ -508,9 +506,9 @@ static void CReqClockNanosleep_Pre_RQTpSec_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RQTpSec_PastOrNow: {
|
||||
/*
|
||||
* While the ``tv_sec`` member of the object referenced by the ``rqtp``
|
||||
* While the `tv_sec` member of the object referenced by the `rqtp`
|
||||
* parameter is non-negative and specifies a time point which is before
|
||||
* or at the current time of the clock specified by the ``clock_id``
|
||||
* or at the current time of the clock specified by the `clock_id`
|
||||
* parameter.
|
||||
*/
|
||||
ctx->rqtp_obj.tv_sec = 0;
|
||||
@@ -534,7 +532,7 @@ static void CReqClockNanosleep_Pre_RMTp_Prepare(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Pre_RMTp_Valid: {
|
||||
/*
|
||||
* While the ``rmtp`` parameter references an object of type struct
|
||||
* While the `rmtp` parameter references an object of type struct
|
||||
* timespec.
|
||||
*/
|
||||
ctx->rmtp = &ctx->rmtp_obj;
|
||||
@@ -543,7 +541,7 @@ static void CReqClockNanosleep_Pre_RMTp_Prepare(
|
||||
|
||||
case CReqClockNanosleep_Pre_RMTp_Null: {
|
||||
/*
|
||||
* While the ``rmtp`` parameter is equal to NULL.
|
||||
* While the `rmtp` parameter is equal to NULL.
|
||||
*/
|
||||
ctx->rmtp = NULL;
|
||||
break;
|
||||
@@ -637,7 +635,7 @@ static void CReqClockNanosleep_Post_Expire_Check(
|
||||
case CReqClockNanosleep_Post_Expire_Last: {
|
||||
/*
|
||||
* The timer of the calling task shall expire at the last valid time
|
||||
* point of the clock specified by the ``clock_id`` parameter.
|
||||
* point of the clock specified by the `clock_id` parameter.
|
||||
*/
|
||||
T_eq_u64( ctx->timer_info.expire_ticks, 0xffffffffffffffff );
|
||||
break;
|
||||
@@ -646,7 +644,7 @@ static void CReqClockNanosleep_Post_Expire_Check(
|
||||
case CReqClockNanosleep_Post_Expire_Absolute: {
|
||||
/*
|
||||
* The timer of the calling task shall expire at the time point specified
|
||||
* by the ``rqtp`` parameter.
|
||||
* by the `rqtp` parameter.
|
||||
*/
|
||||
T_eq_i64( ctx->timer_info.expire_timespec.tv_sec, ctx->rqtp_obj.tv_sec );
|
||||
T_eq_long(
|
||||
@@ -660,7 +658,7 @@ static void CReqClockNanosleep_Post_Expire_Check(
|
||||
/*
|
||||
* The timer of the calling task shall expire at the time point specified
|
||||
* by the sum of the current time of the clock specified by
|
||||
* CLOCK_MONOTONIC and the interval specified by the ``rqtp`` parameter.
|
||||
* CLOCK_MONOTONIC and the interval specified by the `rqtp` parameter.
|
||||
*/
|
||||
expire = ctx->now_monotonic;
|
||||
expire.tv_sec += ctx->rqtp_obj.tv_sec;
|
||||
@@ -740,8 +738,8 @@ static void CReqClockNanosleep_Post_RMTp_Check(
|
||||
switch ( state ) {
|
||||
case CReqClockNanosleep_Post_RMTp_Zero: {
|
||||
/*
|
||||
* The object referenced by the ``rmtp`` parameter shall be cleared to
|
||||
* zero after the return of the clock_nanosleep() call.
|
||||
* The object referenced by the `rmtp` parameter shall be cleared to zero
|
||||
* after the return of the clock_nanosleep() call.
|
||||
*/
|
||||
T_eq_i64( ctx->rmtp_obj.tv_sec, 0 );
|
||||
T_eq_long( ctx->rmtp_obj.tv_nsec, 0 );
|
||||
@@ -750,7 +748,7 @@ static void CReqClockNanosleep_Post_RMTp_Check(
|
||||
|
||||
case CReqClockNanosleep_Post_RMTp_Nop: {
|
||||
/*
|
||||
* Objects referenced by the ``rmtp`` parameter in past calls to
|
||||
* Objects referenced by the `rmtp` parameter in past calls to
|
||||
* clock_nanosleep() shall not be accessed by the clock_nanosleep() call.
|
||||
*/
|
||||
T_eq_i64( ctx->rmtp_obj.tv_sec, -1 );
|
||||
|
||||
@@ -208,7 +208,7 @@ static void NewlibReqFutexWake_Pre_Count_Prepare(
|
||||
switch ( state ) {
|
||||
case NewlibReqFutexWake_Pre_Count_NegativeOrZero: {
|
||||
/*
|
||||
* While the ``count`` parameter is less or equal to than zero.
|
||||
* While the `count` parameter is less or equal to than zero.
|
||||
*/
|
||||
/* This state is prepared by Enqueue() */
|
||||
break;
|
||||
@@ -216,7 +216,7 @@ static void NewlibReqFutexWake_Pre_Count_Prepare(
|
||||
|
||||
case NewlibReqFutexWake_Pre_Count_Positive: {
|
||||
/*
|
||||
* While the ``count`` parameter is greater than zero.
|
||||
* While the `count` parameter is greater than zero.
|
||||
*/
|
||||
/* This state is prepared by Flush() */
|
||||
break;
|
||||
@@ -264,7 +264,7 @@ static void NewlibReqFutexWake_Post_Flush_Check(
|
||||
|
||||
case NewlibReqFutexWake_Post_Flush_Yes: {
|
||||
/*
|
||||
* The first count threads specified by the ``count`` parameter shall be
|
||||
* The first count threads specified by the `count` parameter shall be
|
||||
* extracted from the thread queue of the futex object in FIFO order.
|
||||
*/
|
||||
ScoreTqReqFlushFifo_Run( &ctx->tq_ctx, true );
|
||||
@@ -320,7 +320,7 @@ static void NewlibReqFutexWake_Prepare( NewlibReqFutexWake_Context *ctx )
|
||||
|
||||
static void NewlibReqFutexWake_Action( NewlibReqFutexWake_Context *ctx )
|
||||
{
|
||||
/* The action is performed in the ``Flush`` post-condition ``All`` state. */
|
||||
/* The action is performed in the `Flush` post-condition `All` state. */
|
||||
}
|
||||
|
||||
static void NewlibReqFutexWake_Cleanup( NewlibReqFutexWake_Context *ctx )
|
||||
|
||||
@@ -795,7 +795,7 @@ static void RtemsIntrReqEntryInstall_Pre_CanEnable_Prepare(
|
||||
* While the interrupt vector associated with the ``vector`` parameter
|
||||
* may be enabled.
|
||||
*/
|
||||
/* See comment for ``Yes`` state */
|
||||
/* See comment for `Yes` state */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -804,7 +804,7 @@ static void RtemsIntrReqEntryInstall_Pre_CanEnable_Prepare(
|
||||
* While the interrupt vector associated with the ``vector`` parameter
|
||||
* cannot be enabled.
|
||||
*/
|
||||
/* See comment for ``Yes`` state */
|
||||
/* See comment for `Yes` state */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1017,7 +1017,7 @@ static void RtemsIntrReqEntryInstall_Post_Enable_Check(
|
||||
* Interrupt vectors which cannot be enabled are not selected as a
|
||||
* testable interrupt vector by GetTestableInterruptVector(), so this
|
||||
* path is not validated by this test. See also comment for
|
||||
* ``CanEnable`` pre-condition state ``Yes``.
|
||||
* `CanEnable` pre-condition state `Yes`.
|
||||
*/
|
||||
T_true( ctx->enabled_after || ctx->handler_counter > 3 );
|
||||
break;
|
||||
@@ -1031,7 +1031,7 @@ static void RtemsIntrReqEntryInstall_Post_Enable_Check(
|
||||
* Interrupt vectors which cannot be enabled are not selected as a
|
||||
* testable interrupt vector by GetTestableInterruptVector(), so this
|
||||
* path is not validated by this test. See also comment for
|
||||
* ``CanEnable`` pre-condition state ``Yes``.
|
||||
* `CanEnable` pre-condition state `Yes`.
|
||||
*/
|
||||
T_true( ctx->enabled_after || ctx->handler_counter > 3 );
|
||||
break;
|
||||
|
||||
@@ -801,7 +801,7 @@ static void RtemsIntrReqEntryRemove_Pre_CanDisable_Prepare(
|
||||
* While the interrupt vector associated with the ``vector`` parameter
|
||||
* may be disabled.
|
||||
*/
|
||||
/* See comment for ``Yes`` state */
|
||||
/* See comment for `Yes` state */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -810,7 +810,7 @@ static void RtemsIntrReqEntryRemove_Pre_CanDisable_Prepare(
|
||||
* While the interrupt vector associated with the ``vector`` parameter
|
||||
* cannot be disabled.
|
||||
*/
|
||||
/* See comment for ``Yes`` state */
|
||||
/* See comment for `Yes` state */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -977,7 +977,7 @@ static void RtemsIntrReqEntryRemove_Post_Disabled_Check(
|
||||
/*
|
||||
* The interrupt vector specified by ``vector`` may be disabled.
|
||||
*/
|
||||
/* The comment of pre-condition ``CanDisable`` for the ``Yes`` state. */
|
||||
/* The comment of pre-condition `CanDisable` for the `Yes` state. */
|
||||
if ( ctx->attributes.can_disable ) {
|
||||
T_false( ctx->enabled_after );
|
||||
}
|
||||
@@ -988,7 +988,7 @@ static void RtemsIntrReqEntryRemove_Post_Disabled_Check(
|
||||
/*
|
||||
* The interrupt vector specified by ``vector`` shall not be disabled.
|
||||
*/
|
||||
/* The comment of pre-condition ``CanDisable`` for the ``Yes`` state. */
|
||||
/* The comment of pre-condition `CanDisable` for the `Yes` state. */
|
||||
if ( ctx->attributes.can_disable ) {
|
||||
T_false( ctx->enabled_after );
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@ static void RtemsIntrReqGetAffinity_Pre_CPUSetSize_Prepare(
|
||||
case RtemsIntrReqGetAffinity_Pre_CPUSetSize_Valid: {
|
||||
/*
|
||||
* While the ``affinity_size`` parameter is an integral multiple of the
|
||||
* size of ``long``, while the ``affinity_size`` parameter specifies a
|
||||
* size of `long`, while the ``affinity_size`` parameter specifies a
|
||||
* processor set which is large enough to contain the processor affinity
|
||||
* set of the interrupt specified by ``vector``.
|
||||
*/
|
||||
@@ -319,7 +319,7 @@ static void RtemsIntrReqGetAffinity_Pre_CPUSetSize_Prepare(
|
||||
case RtemsIntrReqGetAffinity_Pre_CPUSetSize_TooSmall: {
|
||||
/*
|
||||
* While the ``affinity_size`` parameter is an integral multiple of the
|
||||
* size of ``long``, while the ``affinity_size`` parameter specifies a
|
||||
* size of `long`, while the ``affinity_size`` parameter specifies a
|
||||
* processor set which is not large enough to contain the processor
|
||||
* affinity set of the interrupt specified by ``vector``.
|
||||
*/
|
||||
@@ -330,7 +330,7 @@ static void RtemsIntrReqGetAffinity_Pre_CPUSetSize_Prepare(
|
||||
case RtemsIntrReqGetAffinity_Pre_CPUSetSize_Askew: {
|
||||
/*
|
||||
* While the ``affinity_size`` parameter is not an integral multiple of
|
||||
* the size of ``long``.
|
||||
* the size of `long`.
|
||||
*/
|
||||
ctx->cpusetsize = SIZE_MAX;
|
||||
break;
|
||||
|
||||
@@ -129,7 +129,7 @@ typedef struct {
|
||||
rtems_vector_number vector;
|
||||
|
||||
/**
|
||||
* @brief This member provides the ``bool`` object.
|
||||
* @brief This member provides the `bool` object.
|
||||
*/
|
||||
bool pending_obj;
|
||||
|
||||
@@ -388,7 +388,7 @@ static void RtemsIntrReqIsPending_Pre_Pending_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsIntrReqIsPending_Pre_Pending_Obj: {
|
||||
/*
|
||||
* While the ``pending`` parameter references an object of type ``bool``.
|
||||
* While the ``pending`` parameter references an object of type `bool`.
|
||||
*/
|
||||
ctx->pending = &ctx->pending_obj;
|
||||
break;
|
||||
|
||||
@@ -130,7 +130,7 @@ typedef struct {
|
||||
bool is_enabled;
|
||||
|
||||
/**
|
||||
* @brief This member provides the ``bool`` object.
|
||||
* @brief This member provides the `bool` object.
|
||||
*/
|
||||
bool enabled_obj;
|
||||
|
||||
@@ -402,7 +402,7 @@ static void RtemsIntrReqVectorIsEnabled_Pre_Enabled_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsIntrReqVectorIsEnabled_Pre_Enabled_Obj: {
|
||||
/*
|
||||
* While the ``enabled`` parameter references an object of type ``bool``.
|
||||
* While the ``enabled`` parameter references an object of type `bool`.
|
||||
*/
|
||||
ctx->enabled = &ctx->enabled_obj;
|
||||
break;
|
||||
|
||||
@@ -179,7 +179,7 @@ static void RtemsIoReqPutChar_Pre_Char_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsIoReqPutChar_Pre_Char_Nl: {
|
||||
/*
|
||||
* While the ``c`` parameter is equal to ``NL``.
|
||||
* While the ``c`` parameter is equal to `NL`.
|
||||
*/
|
||||
ctx->character = '\n';
|
||||
break;
|
||||
@@ -187,7 +187,7 @@ static void RtemsIoReqPutChar_Pre_Char_Prepare(
|
||||
|
||||
case RtemsIoReqPutChar_Pre_Char_Other: {
|
||||
/*
|
||||
* While the ``c`` parameter is not equal to ``NL``.
|
||||
* While the ``c`` parameter is not equal to `NL`.
|
||||
*/
|
||||
ctx->character = 0xff;
|
||||
break;
|
||||
@@ -206,8 +206,8 @@ static void RtemsIoReqPutChar_Post_Output_Check(
|
||||
switch ( state ) {
|
||||
case RtemsIoReqPutChar_Post_Output_CrNl: {
|
||||
/*
|
||||
* The function referenced by BSP_output_char shall be called with a
|
||||
* ``CR`` character followed by a call with a ``NL`` character.
|
||||
* The function referenced by BSP_output_char shall be called with a `CR`
|
||||
* character followed by a call with a `NL` character.
|
||||
*/
|
||||
T_eq_int( ctx->output[ 0 ], (unsigned char) '\r' );
|
||||
T_eq_int( ctx->output[ 1 ], (unsigned char) '\n' );
|
||||
|
||||
@@ -179,7 +179,7 @@ static void RtemsIoReqPutc_Pre_Char_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsIoReqPutc_Pre_Char_Nl: {
|
||||
/*
|
||||
* While the ``c`` parameter is equal to ``NL``.
|
||||
* While the ``c`` parameter is equal to `NL`.
|
||||
*/
|
||||
ctx->character = '\n';
|
||||
break;
|
||||
@@ -187,7 +187,7 @@ static void RtemsIoReqPutc_Pre_Char_Prepare(
|
||||
|
||||
case RtemsIoReqPutc_Pre_Char_Other: {
|
||||
/*
|
||||
* While the ``c`` parameter is not equal to ``NL``.
|
||||
* While the ``c`` parameter is not equal to `NL`.
|
||||
*/
|
||||
ctx->character = (char) 0xff;
|
||||
break;
|
||||
@@ -206,8 +206,8 @@ static void RtemsIoReqPutc_Post_Output_Check(
|
||||
switch ( state ) {
|
||||
case RtemsIoReqPutc_Post_Output_CrNl: {
|
||||
/*
|
||||
* The function referenced by BSP_output_char shall be called with a
|
||||
* ``CR`` character followed by a call with a ``NL`` character.
|
||||
* The function referenced by BSP_output_char shall be called with a `CR`
|
||||
* character followed by a call with a `NL` character.
|
||||
*/
|
||||
T_eq_int( ctx->output[ 0 ], (unsigned char) '\r' );
|
||||
T_eq_int( ctx->output[ 1 ], (unsigned char) '\n' );
|
||||
|
||||
@@ -481,7 +481,7 @@ static void RtemsMessageReqBroadcast_Pre_Count_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsMessageReqBroadcast_Pre_Count_Valid: {
|
||||
/*
|
||||
* While the ``count`` parameter references an ``uint32_t`` object.
|
||||
* While the ``count`` parameter references an `uint32_t` object.
|
||||
*/
|
||||
ctx->count_param = &ctx->count;
|
||||
break;
|
||||
|
||||
@@ -400,7 +400,7 @@ static void RtemsMessageReqFlushPending_Pre_Count_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsMessageReqFlushPending_Pre_Count_Valid: {
|
||||
/*
|
||||
* While the ``count`` parameter references an ``uint32_t`` object.
|
||||
* While the ``count`` parameter references an `uint32_t` object.
|
||||
*/
|
||||
ctx->count_param = &ctx->count;
|
||||
break;
|
||||
|
||||
@@ -203,7 +203,7 @@ typedef struct {
|
||||
storage_area[ MAXIMUM_PENDING_MESSAGES];
|
||||
|
||||
/**
|
||||
* @brief This member contains always the same arbitrary number ``magic``.
|
||||
* @brief This member contains always the same arbitrary number `magic`.
|
||||
*
|
||||
* It is used for run-time type checking.
|
||||
*/
|
||||
@@ -271,7 +271,7 @@ typedef struct {
|
||||
|
||||
/**
|
||||
* @brief This member contains a pointer to a function which is executed
|
||||
* while the worker is waiting to receive a message (`delete(), nop()``).
|
||||
* while the worker is waiting to receive a message (`delete(), nop()`).
|
||||
*/
|
||||
void (*concurrent_activity)( void *ctx_in );
|
||||
|
||||
@@ -704,7 +704,7 @@ static void RtemsMessageReqReceive_Pre_Size_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsMessageReqReceive_Pre_Size_Valid: {
|
||||
/*
|
||||
* While the ``size`` parameter references an object of type ``size_t``.
|
||||
* While the ``size`` parameter references an object of type `size_t`.
|
||||
*/
|
||||
ctx->size_param = &ctx->receive_size;
|
||||
break;
|
||||
|
||||
@@ -168,7 +168,7 @@ typedef struct {
|
||||
storage_area[ MAXIMUM_PENDING_MESSAGES];
|
||||
|
||||
/**
|
||||
* @brief This member contains always the same arbitrary number ``magic``.
|
||||
* @brief This member contains always the same arbitrary number `magic`.
|
||||
*
|
||||
* It is used for run-time type checking.
|
||||
*/
|
||||
|
||||
@@ -220,8 +220,7 @@ static void RtemsPartReqGetBuffer_Pre_Buf_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsPartReqGetBuffer_Pre_Buf_Valid: {
|
||||
/*
|
||||
* While the ``buffer`` parameter references an object of type ``void
|
||||
* *``.
|
||||
* While the ``buffer`` parameter references an object of type `void *`.
|
||||
*/
|
||||
ctx->buffer = &ctx->buffer_pointer;
|
||||
break;
|
||||
|
||||
@@ -61,21 +61,21 @@
|
||||
*
|
||||
* @ingroup TestsuitesValidationNoClock0
|
||||
*
|
||||
* @brief Tests the ``.preinit_array`` constructor handling of the C runtime
|
||||
* @brief Tests the `.preinit_array` constructor handling of the C runtime
|
||||
* support.
|
||||
*
|
||||
* This test case performs the following actions:
|
||||
*
|
||||
* - Validate the ``.preinit_array`` constructor invocation. Mark that the
|
||||
* test case executed.
|
||||
* - Validate the `.preinit_array` constructor invocation. Mark that the test
|
||||
* case executed.
|
||||
*
|
||||
* - Check that the ``.preinit_array`` constructor was called exactly once.
|
||||
* - Check that the `.preinit_array` constructor was called exactly once.
|
||||
*
|
||||
* - Check that the ``.preeinit_array`` construction was done by the Classic
|
||||
* - Check that the `.preeinit_array` construction was done by the Classic
|
||||
* API user initialization task.
|
||||
*
|
||||
* - Check that the ``.preinit_array`` constructor was called before the
|
||||
* global constructor invocations.
|
||||
* - Check that the `.preinit_array` constructor was called before the global
|
||||
* constructor invocations.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
@@ -113,26 +113,26 @@ static RTEMS_USED RTEMS_SECTION( ".preinit_array" ) void
|
||||
( * const constructor_registration )( void ) = Constructor;
|
||||
|
||||
/**
|
||||
* @brief Validate the ``.preinit_array`` constructor invocation. Mark that
|
||||
* the test case executed.
|
||||
* @brief Validate the `.preinit_array` constructor invocation. Mark that the
|
||||
* test case executed.
|
||||
*/
|
||||
static void ScoreThreadValPreinitArray_Action_0( void )
|
||||
{
|
||||
test_case_executed = true;
|
||||
|
||||
/*
|
||||
* Check that the ``.preinit_array`` constructor was called exactly once.
|
||||
* Check that the `.preinit_array` constructor was called exactly once.
|
||||
*/
|
||||
T_eq_u32( constructor_calls, 1 );
|
||||
|
||||
/*
|
||||
* Check that the ``.preeinit_array`` construction was done by the Classic
|
||||
* API user initialization task.
|
||||
* Check that the `.preeinit_array` construction was done by the Classic API
|
||||
* user initialization task.
|
||||
*/
|
||||
T_eq_u32( constructor_id, rtems_task_self() );
|
||||
|
||||
/*
|
||||
* Check that the ``.preinit_array`` constructor was called before the global
|
||||
* Check that the `.preinit_array` constructor was called before the global
|
||||
* constructor invocations.
|
||||
*/
|
||||
T_eq_u32( constructor_counter, 1 );
|
||||
|
||||
@@ -160,7 +160,7 @@ typedef struct {
|
||||
* action.
|
||||
*
|
||||
* The action is either executed by the owner task or by the worker task
|
||||
* depending on the function pointer used here. ``argument`` is a pointer to
|
||||
* depending on the function pointer used here. `argument` is a pointer to
|
||||
* this context structure.
|
||||
*/
|
||||
void ( *do_action )( void *ctx );
|
||||
@@ -580,7 +580,7 @@ static void RtemsRatemonReqCancel_Post_Scheduler_Check(
|
||||
case RtemsRatemonReqCancel_Post_Scheduler_Called: {
|
||||
/*
|
||||
* The last call of the rtems_rate_monotonic_cancel() function shall
|
||||
* execute the ``cancel_job`` scheduler operation of the home scheduler.
|
||||
* execute the `cancel_job` scheduler operation of the home scheduler.
|
||||
*/
|
||||
/* Cannot be tested as the effect is unknown. */
|
||||
break;
|
||||
|
||||
@@ -191,15 +191,15 @@ typedef struct {
|
||||
* action.
|
||||
*
|
||||
* The action is either executed by the owner task or by the worker task
|
||||
* depending on the function pointer used here. ``ctx_arg`` must be a
|
||||
* pointer to this context structure.
|
||||
* depending on the function pointer used here. `ctx_arg` must be a pointer
|
||||
* to this context structure.
|
||||
*/
|
||||
uint32_t ( *do_action )( void *ctx, void (*todo)( void *ctx_arg ) );
|
||||
|
||||
/**
|
||||
* @brief This member serves to pass the pointer to the function which the
|
||||
* work owner task shall execute from function ``OwnerDoWork`` to function
|
||||
* ``WorkerTask``.
|
||||
* work owner task shall execute from function `OwnerDoWork` to function
|
||||
* `WorkerTask`.
|
||||
*/
|
||||
void (*worker_todo)( void *ctx );
|
||||
|
||||
@@ -888,7 +888,7 @@ static void RtemsRatemonReqPeriod_Post_Scheduler_Check(
|
||||
case RtemsRatemonReqPeriod_Post_Scheduler_Called: {
|
||||
/*
|
||||
* The last call of the rtems_rate_monotonic_period() function shall
|
||||
* execute the ``release_job`` scheduler operation of the home scheduler.
|
||||
* execute the `release_job` scheduler operation of the home scheduler.
|
||||
*/
|
||||
/* Cannot be tested as the effect is unknown. */
|
||||
break;
|
||||
|
||||
@@ -392,7 +392,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Before_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Before_All: {
|
||||
/*
|
||||
* While task ``T`` is affine to all processors of its home scheduler
|
||||
* While task `T` is affine to all processors of its home scheduler
|
||||
* before the new thread to processor affinity is set.
|
||||
*/
|
||||
CPU_FILL( &ctx->task_affinity_before );
|
||||
@@ -401,7 +401,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Before_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Before_X: {
|
||||
/*
|
||||
* While task ``T`` is affine to processor ``X`` before the new thread to
|
||||
* While task `T` is affine to processor `X` before the new thread to
|
||||
* processor affinity is set.
|
||||
*/
|
||||
CPU_ZERO( &ctx->task_affinity_before );
|
||||
@@ -422,7 +422,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_After_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_After_All: {
|
||||
/*
|
||||
* While task ``T`` is set to be affine to all processors of its home
|
||||
* While task `T` is set to be affine to all processors of its home
|
||||
* scheduler.
|
||||
*/
|
||||
CPU_FILL( &ctx->task_affinity_after );
|
||||
@@ -431,7 +431,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_After_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_After_X: {
|
||||
/*
|
||||
* While task ``T`` is set to be affine to processor ``X``.
|
||||
* While task `T` is set to be affine to processor `X`.
|
||||
*/
|
||||
CPU_ZERO( &ctx->task_affinity_after );
|
||||
CPU_SET( 0, &ctx->task_affinity_after );
|
||||
@@ -440,7 +440,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_After_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_After_Y: {
|
||||
/*
|
||||
* While task ``T`` is set to be affine to processor ``Y``.
|
||||
* While task `T` is set to be affine to processor `Y`.
|
||||
*/
|
||||
CPU_ZERO( &ctx->task_affinity_after );
|
||||
CPU_SET( 1, &ctx->task_affinity_after );
|
||||
@@ -460,7 +460,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Priority_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Priority_High: {
|
||||
/*
|
||||
* While task ``T`` has a high priority.
|
||||
* While task `T` has a high priority.
|
||||
*/
|
||||
ctx->task_priority = PRIO_HIGH;
|
||||
break;
|
||||
@@ -468,7 +468,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Priority_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Priority_Low: {
|
||||
/*
|
||||
* While task ``T`` has a low priority.
|
||||
* While task `T` has a low priority.
|
||||
*/
|
||||
ctx->task_priority = PRIO_NORMAL;
|
||||
break;
|
||||
@@ -487,7 +487,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_State_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_State_Ready: {
|
||||
/*
|
||||
* While task ``T`` is ready.
|
||||
* While task `T` is ready.
|
||||
*/
|
||||
ctx->task_ready = true;
|
||||
break;
|
||||
@@ -495,7 +495,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_State_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_State_Blocked: {
|
||||
/*
|
||||
* While task ``T`` is blocked.
|
||||
* While task `T` is blocked.
|
||||
*/
|
||||
ctx->task_ready = false;
|
||||
break;
|
||||
@@ -514,7 +514,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Sticky_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Sticky_Yes: {
|
||||
/*
|
||||
* While task ``T`` is sticky.
|
||||
* While task `T` is sticky.
|
||||
*/
|
||||
ctx->task_sticky = true;
|
||||
break;
|
||||
@@ -522,7 +522,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Sticky_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Sticky_No: {
|
||||
/*
|
||||
* While task ``T`` is not sticky.
|
||||
* While task `T` is not sticky.
|
||||
*/
|
||||
ctx->task_sticky = false;
|
||||
break;
|
||||
@@ -541,7 +541,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Pinned_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Pinned_Yes: {
|
||||
/*
|
||||
* While task ``T`` is pinned to a processor.
|
||||
* While task `T` is pinned to a processor.
|
||||
*/
|
||||
ctx->task_pinned = true;
|
||||
break;
|
||||
@@ -549,7 +549,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_Pinned_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_Pinned_No: {
|
||||
/*
|
||||
* While task ``T`` is not pinned to a processor.
|
||||
* While task `T` is not pinned to a processor.
|
||||
*/
|
||||
ctx->task_pinned = false;
|
||||
break;
|
||||
@@ -568,7 +568,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaPriority_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaPriority_High: {
|
||||
/*
|
||||
* While task ``A`` has a high priority.
|
||||
* While task `A` has a high priority.
|
||||
*/
|
||||
ctx->alpha_priority = PRIO_HIGH;
|
||||
break;
|
||||
@@ -576,7 +576,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaPriority_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaPriority_Low: {
|
||||
/*
|
||||
* While task ``A`` has a low priority.
|
||||
* While task `A` has a low priority.
|
||||
*/
|
||||
ctx->alpha_priority = PRIO_NORMAL;
|
||||
break;
|
||||
@@ -595,7 +595,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaAffinity_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaAffinity_All: {
|
||||
/*
|
||||
* While task ``A`` is affine to all processors of its home scheduler.
|
||||
* While task `A` is affine to all processors of its home scheduler.
|
||||
*/
|
||||
CPU_FILL( &ctx->alpha_affinity );
|
||||
break;
|
||||
@@ -603,7 +603,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaAffinity_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaAffinity_X: {
|
||||
/*
|
||||
* While task ``A`` is affine to processor ``X``.
|
||||
* While task `A` is affine to processor `X`.
|
||||
*/
|
||||
CPU_ZERO( &ctx->alpha_affinity );
|
||||
CPU_SET( 0, &ctx->alpha_affinity );
|
||||
@@ -623,7 +623,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaIdle_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaIdle_Yes: {
|
||||
/*
|
||||
* While task ``A`` is sticky, while task ``A`` is blocked.
|
||||
* While task `A` is sticky, while task `A` is blocked.
|
||||
*/
|
||||
ctx->alpha_idle = true;
|
||||
break;
|
||||
@@ -631,7 +631,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaIdle_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_AlphaIdle_No: {
|
||||
/*
|
||||
* While task ``A`` is not sticky.
|
||||
* While task `A` is not sticky.
|
||||
*/
|
||||
ctx->alpha_idle = false;
|
||||
break;
|
||||
@@ -650,7 +650,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaPriority_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaPriority_High: {
|
||||
/*
|
||||
* While task ``B`` has a high priority.
|
||||
* While task `B` has a high priority.
|
||||
*/
|
||||
ctx->beta_priority = PRIO_HIGH;
|
||||
break;
|
||||
@@ -658,7 +658,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaPriority_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaPriority_Low: {
|
||||
/*
|
||||
* While task ``B`` has a low priority.
|
||||
* While task `B` has a low priority.
|
||||
*/
|
||||
ctx->beta_priority = PRIO_NORMAL;
|
||||
break;
|
||||
@@ -677,7 +677,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaAffinity_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaAffinity_All: {
|
||||
/*
|
||||
* While task ``B`` is affine to all processors of its home scheduler.
|
||||
* While task `B` is affine to all processors of its home scheduler.
|
||||
*/
|
||||
CPU_FILL( &ctx->beta_affinity );
|
||||
break;
|
||||
@@ -685,7 +685,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaAffinity_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaAffinity_Y: {
|
||||
/*
|
||||
* While task ``B`` is affine to processor ``Y``.
|
||||
* While task `B` is affine to processor `Y`.
|
||||
*/
|
||||
CPU_ZERO( &ctx->beta_affinity );
|
||||
CPU_SET( 1, &ctx->beta_affinity );
|
||||
@@ -705,7 +705,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaIdle_Prepare(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaIdle_Yes: {
|
||||
/*
|
||||
* While task ``B`` is sticky, while task ``B`` is blocked.
|
||||
* While task `B` is sticky, while task `B` is blocked.
|
||||
*/
|
||||
ctx->beta_idle = true;
|
||||
break;
|
||||
@@ -713,7 +713,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Pre_BetaIdle_Prepare(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Pre_BetaIdle_No: {
|
||||
/*
|
||||
* While task ``B`` is not sticky,
|
||||
* While task `B` is not sticky,
|
||||
*/
|
||||
ctx->beta_idle = false;
|
||||
break;
|
||||
@@ -739,7 +739,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_Task: {
|
||||
/*
|
||||
* The task ``T`` shall be scheduled on processor ``X``.
|
||||
* The task `T` shall be scheduled on processor `X`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ TASK ] );
|
||||
break;
|
||||
@@ -747,8 +747,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_TaskIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``T`` shall be scheduled on processor
|
||||
* ``X``.
|
||||
* An idle task on behalf of task `T` shall be scheduled on processor
|
||||
* `X`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
@@ -760,7 +760,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_Alpha: {
|
||||
/*
|
||||
* The task ``A`` shall be scheduled on processor ``X``.
|
||||
* The task `A` shall be scheduled on processor `X`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ ALPHA ] );
|
||||
break;
|
||||
@@ -768,8 +768,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_AlphaIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``A`` shall be scheduled on processor
|
||||
* ``X``.
|
||||
* An idle task on behalf of task `A` shall be scheduled on processor
|
||||
* `X`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
@@ -781,7 +781,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_Beta: {
|
||||
/*
|
||||
* The task ``B`` shall be scheduled on processor ``X``.
|
||||
* The task `B` shall be scheduled on processor `X`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ BETA ] );
|
||||
break;
|
||||
@@ -789,8 +789,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_X_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_X_BetaIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``B`` shall be scheduled on processor
|
||||
* ``X``.
|
||||
* An idle task on behalf of task `B` shall be scheduled on processor
|
||||
* `X`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
@@ -820,7 +820,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
switch ( state ) {
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_Task: {
|
||||
/*
|
||||
* The task ``T`` shall be scheduled on processor ``Y``.
|
||||
* The task `T` shall be scheduled on processor `Y`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ TASK ] );
|
||||
break;
|
||||
@@ -828,8 +828,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_TaskIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``T`` shall be scheduled on processor
|
||||
* ``Y``.
|
||||
* An idle task on behalf of task `T` shall be scheduled on processor
|
||||
* `Y`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
@@ -841,7 +841,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_Alpha: {
|
||||
/*
|
||||
* The task ``A`` shall be scheduled on processor ``Y``.
|
||||
* The task `A` shall be scheduled on processor `Y`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ ALPHA ] );
|
||||
break;
|
||||
@@ -849,8 +849,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_AlphaIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``A`` shall be scheduled on processor
|
||||
* ``Y``.
|
||||
* An idle task on behalf of task `A` shall be scheduled on processor
|
||||
* `Y`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
@@ -862,7 +862,7 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_Beta: {
|
||||
/*
|
||||
* The task ``B`` shall be scheduled on processor ``Y``.
|
||||
* The task `B` shall be scheduled on processor `Y`.
|
||||
*/
|
||||
T_eq_ptr( scheduled, ctx->tq_ctx.worker_tcb[ BETA ] );
|
||||
break;
|
||||
@@ -870,8 +870,8 @@ static void ScoreSchedSmpEdfReqSetAffinity_Post_Y_Check(
|
||||
|
||||
case ScoreSchedSmpEdfReqSetAffinity_Post_Y_BetaIdle: {
|
||||
/*
|
||||
* An idle task on behalf of task ``B`` shall be scheduled on processor
|
||||
* ``Y``.
|
||||
* An idle task on behalf of task `B` shall be scheduled on processor
|
||||
* `Y`.
|
||||
*/
|
||||
T_true( scheduled->is_idle );
|
||||
scheduler_node = _Thread_Scheduler_get_home_node(
|
||||
|
||||
@@ -160,8 +160,8 @@ static void RtemsReqIdentLocal_Pre_Name_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsReqIdentLocal_Pre_Name_Invalid: {
|
||||
/*
|
||||
* While the ``name`` parameter is not associated with an active object
|
||||
* of the specified class .
|
||||
* While the `name` parameter is not associated with an active object of
|
||||
* the specified class .
|
||||
*/
|
||||
ctx->name = 1;
|
||||
break;
|
||||
@@ -169,8 +169,8 @@ static void RtemsReqIdentLocal_Pre_Name_Prepare(
|
||||
|
||||
case RtemsReqIdentLocal_Pre_Name_Valid: {
|
||||
/*
|
||||
* While the ``name`` parameter is associated with an active object of
|
||||
* the specified class .
|
||||
* While the `name` parameter is associated with an active object of the
|
||||
* specified class .
|
||||
*/
|
||||
ctx->name = ctx->name_local_object;
|
||||
break;
|
||||
@@ -189,7 +189,7 @@ static void RtemsReqIdentLocal_Pre_Id_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsReqIdentLocal_Pre_Id_Valid: {
|
||||
/*
|
||||
* While the ``id`` parameter references an object of type rtems_id.
|
||||
* While the `id` parameter references an object of type rtems_id.
|
||||
*/
|
||||
ctx->id_value = 0xffffffff;
|
||||
ctx->id = &ctx->id_value;
|
||||
@@ -198,7 +198,7 @@ static void RtemsReqIdentLocal_Pre_Id_Prepare(
|
||||
|
||||
case RtemsReqIdentLocal_Pre_Id_Null: {
|
||||
/*
|
||||
* While the ``id`` parameter is NULL.
|
||||
* While the `id` parameter is NULL.
|
||||
*/
|
||||
ctx->id = NULL;
|
||||
break;
|
||||
|
||||
@@ -176,8 +176,8 @@ static void RtemsReqIdent_Pre_Name_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsReqIdent_Pre_Name_Invalid: {
|
||||
/*
|
||||
* While the ``name`` parameter is not associated with an active object
|
||||
* of the specified class .
|
||||
* While the `name` parameter is not associated with an active object of
|
||||
* the specified class .
|
||||
*/
|
||||
ctx->name = 1;
|
||||
break;
|
||||
@@ -185,8 +185,8 @@ static void RtemsReqIdent_Pre_Name_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Name_Valid: {
|
||||
/*
|
||||
* While the ``name`` parameter is associated with an active object of
|
||||
* the specified class .
|
||||
* While the `name` parameter is associated with an active object of the
|
||||
* specified class .
|
||||
*/
|
||||
ctx->name = ctx->name_local_object;
|
||||
break;
|
||||
@@ -205,7 +205,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsReqIdent_Pre_Node_Local: {
|
||||
/*
|
||||
* While the ``node`` parameter is the local node number.
|
||||
* While the `node` parameter is the local node number.
|
||||
*/
|
||||
ctx->node = 1;
|
||||
break;
|
||||
@@ -213,7 +213,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Node_Remote: {
|
||||
/*
|
||||
* While the ``node`` parameter is a remote node number.
|
||||
* While the `node` parameter is a remote node number.
|
||||
*/
|
||||
ctx->node = 2;
|
||||
break;
|
||||
@@ -221,7 +221,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Node_Invalid: {
|
||||
/*
|
||||
* While the ``node`` parameter is an invalid node number.
|
||||
* While the `node` parameter is an invalid node number.
|
||||
*/
|
||||
ctx->node = 256;
|
||||
break;
|
||||
@@ -229,7 +229,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Node_SearchAll: {
|
||||
/*
|
||||
* While the ``node`` parameter is RTEMS_SEARCH_ALL_NODES.
|
||||
* While the `node` parameter is RTEMS_SEARCH_ALL_NODES.
|
||||
*/
|
||||
ctx->node = RTEMS_SEARCH_ALL_NODES;
|
||||
break;
|
||||
@@ -237,7 +237,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Node_SearchOther: {
|
||||
/*
|
||||
* While the ``node`` parameter is RTEMS_SEARCH_OTHER_NODES.
|
||||
* While the `node` parameter is RTEMS_SEARCH_OTHER_NODES.
|
||||
*/
|
||||
ctx->node = RTEMS_SEARCH_OTHER_NODES;
|
||||
break;
|
||||
@@ -245,7 +245,7 @@ static void RtemsReqIdent_Pre_Node_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Node_SearchLocal: {
|
||||
/*
|
||||
* While the ``node`` parameter is RTEMS_SEARCH_LOCAL_NODE.
|
||||
* While the `node` parameter is RTEMS_SEARCH_LOCAL_NODE.
|
||||
*/
|
||||
ctx->node = RTEMS_SEARCH_LOCAL_NODE;
|
||||
break;
|
||||
@@ -264,7 +264,7 @@ static void RtemsReqIdent_Pre_Id_Prepare(
|
||||
switch ( state ) {
|
||||
case RtemsReqIdent_Pre_Id_Valid: {
|
||||
/*
|
||||
* While the ``id`` parameter references an object of type rtems_id.
|
||||
* While the `id` parameter references an object of type rtems_id.
|
||||
*/
|
||||
ctx->id_value = 0xffffffff;
|
||||
ctx->id = &ctx->id_value;
|
||||
@@ -273,7 +273,7 @@ static void RtemsReqIdent_Pre_Id_Prepare(
|
||||
|
||||
case RtemsReqIdent_Pre_Id_Null: {
|
||||
/*
|
||||
* While the ``id`` parameter is NULL.
|
||||
* While the `id` parameter is NULL.
|
||||
*/
|
||||
ctx->id = NULL;
|
||||
break;
|
||||
|
||||
@@ -347,7 +347,7 @@ static void ScoreTqReqFlushPriorityInherit_Post_PriorityUpdate_Check(
|
||||
* The current priority of the owner of the thread queue shall not be
|
||||
* updated by the thread queue flush operation.
|
||||
*/
|
||||
/* Checked by ``Extract`` post-condition state ``Nop`` */
|
||||
/* Checked by `Extract` post-condition state `Nop` */
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -357,7 +357,7 @@ static void ScoreTqReqFlushPriorityInherit_Post_PriorityUpdate_Check(
|
||||
* by the thread queue flush operation to reflect the loss of inherited
|
||||
* priorities of the flushed threads.
|
||||
*/
|
||||
/* Checked by ``Extract`` post-condition state ``All`` */
|
||||
/* Checked by `Extract` post-condition state `All` */
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -367,7 +367,7 @@ static void ScoreTqReqTimeoutMrsp_Prepare( ScoreTqReqTimeoutMrsp_Context *ctx )
|
||||
static void ScoreTqReqTimeoutMrsp_Action( ScoreTqReqTimeoutMrsp_Context *ctx )
|
||||
{
|
||||
/*
|
||||
* The action is performed by the ``WaitState`` pre-condition preparation.
|
||||
* The action is performed by the `WaitState` pre-condition preparation.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@@ -365,7 +365,7 @@ static void ScoreTqReqTimeout_Teardown_Wrap( void *arg )
|
||||
static void ScoreTqReqTimeout_Action( ScoreTqReqTimeout_Context *ctx )
|
||||
{
|
||||
/*
|
||||
* The action is performed by the ``WaitState`` pre-condition preparation.
|
||||
* The action is performed by the `WaitState` pre-condition preparation.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user