![]() |
RTEMS 6.1
|
This group contains the test suites related to validation tests. More...
Modules | |
| spec:/testsuites/bsps/fatal-clock-xil-ttc-irq-install | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/bsps/fatal-extension | |
| This validation test suite provides an application configuration to perform a shutdown. | |
| spec:/testsuites/bsps/fatal-sparc-leon3-cache-snooping-disabled-boot | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/bsps/fatal-sparc-leon3-cache-snooping-disabled-secondary | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/bsps/fatal-sparc-leon3-clock-initialization | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/bsps/validation-bsp-0 | |
| This general purpose validation test suite provides enough resources to run target-specific tests. | |
| spec:/testsuites/fatal-boot-processor-not-assigned-to-scheduler | |
| This validation test suite uses an application configuration which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-idle-thread-create-failed | |
| This validation test suite contains a test case which is triggered by a fatal error during system initialization. | |
| spec:/testsuites/fatal-idle-thread-stack-too-small | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-init-task-construct-failed | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-mandatory-processor-not-present | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-scheduler-requires-exactly-one-processor | |
| This validation test suite uses an application configuration which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-smp | |
| This validation test suite contains a test case which triggers SMP-specific fatal errors. | |
| spec:/testsuites/fatal-start-of-mandatory-processor-failed | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-start-on-not-online-processor | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/fatal-too-large-tls-size | |
| This validation test suite contains a test case which triggers a fatal error during system initialization. | |
| spec:/testsuites/performance-no-clock-0 | |
| This general purpose performance test suite provides enough resources to run basic performance tests for all specified managers and functions. | |
| spec:/testsuites/terminate | |
| This validation test suite contains a test case for the system termination procedure. | |
| spec:/testsuites/userext | |
| This validation test suite contains a test cases related to the invocation of user extensions. | |
| spec:/testsuites/validation-0 | |
| This general purpose validation test suite provides enough resources to run basic tests for all specified managers and functions. | |
| spec:/testsuites/validation-1 | |
| This general purpose validation test suite provides enough resources to run basic tests for all specified managers and functions. | |
| spec:/testsuites/validation-acfg-0 | |
| This validation test suite is used to validate the default value of application configuration options taking the optional BSP provided settings into account. | |
| spec:/testsuites/validation-acfg-1 | |
| This validation test suite is used to validate the default value of application configuration options where all optional BSP provided settings are disabled. | |
| spec:/testsuites/validation-cache | |
| This validation test suite provides enough resources to run tests for the directives of the Cache Manager. | |
| spec:/testsuites/validation-intr | |
| This validation test suite provides enough resources to run tests for the interrupt controller related directives of the Interrupt Manager. | |
| spec:/testsuites/validation-io-kernel | |
| This validation test suite contains test cases which test the kernel character input/output device provided by the BSP before the system initialization is performed. | |
| spec:/testsuites/validation-no-clock-0 | |
| This general purpose validation test suite provides enough resources to run basic tests without a Clock Driver for all specified managers and functions. | |
| spec:/testsuites/validation-non-smp | |
| This test suite for non-SMP test cases provides enough resources to run basic tests for all specified managers and functions. | |
| spec:/testsuites/validation-one-cpu-0 | |
| This general purpose validation test suite provides enough resources to run basic tests with exactly one processor and without a Clock Driver. | |
| spec:/testsuites/validation-one-cpu-1 | |
| This general purpose validation test suite provides enough resources to run basic tests with exactly one processor and without a Clock Driver. | |
| spec:/testsuites/validation-smp-one-cpu-0 | |
| This general purpose validation test suite provides enough resources to run basic tests for all specified managers and functions in a configuration with exactly one processor and an uniprocessor scheduler. | |
| spec:/testsuites/validation-smp-only-0 | |
| This test suite for SMP-only test cases provides enough resources to run basic tests for all specified managers and functions. | |
| spec:/testsuites/validation-smp-only-2 | |
| This SMP-only test suite validates the clustered scheduler configuration through an application configuration with a processor maximum of two. The second processor has a optional scheduler assigned and fails to start. | |
| spec:/testsuites/validation-timecounter-0 | |
| This validation test suite is intended test cases related to the installation of timecouters. The Clock Driver is disabled. | |
| spec:/testsuites/validation-timecounter-1 | |
| This validation test suite is intended test cases related to the use of timecouters. The Clock Driver is enabled. | |
| spec:/testsuites/validation-timecounter-smp-0 | |
| This validation test suite is intended test cases related to the use of timecouters. The Clock Driver is disabled. | |
| spec:/testsuites/validation-tls-0 | |
| This validation test suite contains test cases related to the thread-local storage support. | |
| spec:/testsuites/validation-tls-1 | |
| This validation test suite contains test cases related to the thread-local storage support. | |
Files | |
| file | ts-acfg.h |
| This header file provides a validation test suite runner for validation test cases specific to the application configuration. | |
| file | ts-config.h |
| This header file provides the constants used by the test suite configuration. | |
| file | ts-default.h |
| This header file provides the default validation test suite runner and application configuration. | |
| file | ts-fatal-sysinit.h |
| This header file provides a configurable validation test suite runner and application configuration for fatal error tests which occur during system initialization. | |
| file | ts-idle.h |
| This header file provides a configurable validation test suite runner and application configuration for tests which should run within an idle task without a user initialization task. | |
| file | tx-call-within-isr.c |
| This source file contains the implementation of CallWithinISRClear(), CallWithinISRGetVector(), CallWithinISR(), CallWithinISRRaise(), CallWithinISRSubmit(), and CallWithinISRWait(). | |
| file | tx-default-task-config.c |
| This source file contains the definition of DefaultTaskConfig. | |
| file | tx-interrupt.c |
| This source file contains the implementation of HasInterruptVectorEntriesInstalled(). | |
| file | tx-io-relax.c |
| This source file contains the implementation of SetIORelaxHandler(). | |
| file | tx-memory-alloc.c |
| This source file contains the implementation of MemoryAllocationFailWhen() and __wrap_rtems_malloc(). | |
| file | tx-preemption-intervention.c |
| This source file contains the implementation of SetPreemptionIntervention(). | |
| file | tx-support.c |
| This source file contains the implementation of support functions for the validation test cases. | |
| file | tx-support.h |
| This header file provides the support functions for the validation test cases. | |
| file | tx-thread-queue.c |
| This source file contains the implementation of the thread queue test support. | |
| file | tx-thread-queue.h |
| This header file provides the functions to test the Thread Queue Handler. | |
| file | tx-timecounter.c |
| This source file contains the definition of SetGetTimecountHandler(), GetTimecountCounter(), and SetTimecountCounter(). | |
| file | tx-timer-server.c |
| This source file contains the definition of DeleteTimerServer(). | |
| file | tx-wrap-thread-queue.c |
| This source file contains the implementation of the thread queue wrapper. | |
Data Structures | |
| struct | TaskTimerInfo |
| struct | MemoryContext |
| struct | CallWithinISRRequest |
| struct | WrapThreadQueueContext |
| struct | Timer_Scheduling_Data |
| This structure provides data used by RTEMS to schedule a timer service routine. More... | |
| struct | ExtensionCalls |
| struct | TQContext |
| struct | TQSemContext |
| struct | TQMtxContext |
Macros | |
| #define | TEST_MICROSECONDS_PER_TICK 1000 |
| #define | TEST_RUNNER_NAME rtems_build_name( 'R', 'U', 'N', ' ' ) |
| #define | TEST_RUNNER_ARGUMENT 123456789 |
| #define | TEST_RUNNER_INITIAL_MODES RTEMS_NO_ASR |
| #define | TEST_SCHEDULER_A_NAME rtems_build_name( 'A', ' ', ' ', ' ' ) |
| #define | TEST_SCHEDULER_B_NAME rtems_build_name( 'B', ' ', ' ', ' ' ) |
| #define | TEST_SCHEDULER_C_NAME rtems_build_name( 'C', ' ', ' ', ' ' ) |
| #define | TEST_SCHEDULER_D_NAME rtems_build_name( 'D', ' ', ' ', ' ' ) |
| #define | TEST_BASE_STACK_SIZE ( 4 * RTEMS_MINIMUM_STACK_SIZE ) |
| #define | TEST_MAXIMUM_TLS_SIZE RTEMS_ALIGN_UP( 64, RTEMS_TASK_STORAGE_ALIGNMENT ) |
| #define | TEST_MINIMUM_STACK_SIZE ( TEST_BASE_STACK_SIZE + CPU_STACK_ALIGNMENT ) |
| #define | TEST_IDLE_STACK_SIZE ( TEST_BASE_STACK_SIZE + 2 * CPU_STACK_ALIGNMENT ) |
| #define | TEST_INTERRUPT_STACK_SIZE ( TEST_BASE_STACK_SIZE + 4 * CPU_INTERRUPT_STACK_ALIGNMENT ) |
| #define | TEST_MAXIMUM_BARRIERS 7 |
| #define | TEST_MAXIMUM_MESSAGE_QUEUES 3 |
| #define | TEST_MAXIMUM_PARTITIONS 4 |
| #define | TEST_MAXIMUM_PERIODS 2 |
| #define | TEST_MAXIMUM_SEMAPHORES 7 |
| #define | TEST_MAXIMUM_TASKS 32 |
| #define | TEST_MAXIMUM_TIMERS 10 |
| #define | TEST_MAXIMUM_USER_EXTENSIONS 5 |
| #define | TEST_TICKS_PER_TIMESLICE 2 |
| #define | PRIO_DEFAULT 1 |
| This constants represents the default priority of the runner task. | |
| #define | PRIO_INVALID 0xfffffffe |
| This constants represents an invalid RTEMS task priority value. | |
| #define | PRIO_NEARLY_IDLE 126 |
| This constants represents a priority which is close to the priority of the idle thread. | |
| #define | PRIO_FLEXIBLE 64 |
| This constants represents a priority with a wider range of higher and lower priorities around it. | |
| #define | INVALID_ID 0xfffffffd |
| This constants represents an invalid RTEMS object identifier. | |
| #define | OBJECT_NAME rtems_build_name( 'T', 'E', 'S', 'T' ) |
| This constants represents an object name for tests. | |
| #define | CreateTask(name, priority) |
| #define | SCHEDULER_A_ID 0xf010001 |
| #define | SCHEDULER_B_ID 0xf010002 |
| #define | SCHEDULER_C_ID 0xf010003 |
| #define | SCHEDULER_D_ID 0xf010004 |
| #define | SOFTWARE_TIMECOUNTER_FREQUENCY 1000000 |
| This constant represents the fake frequency of the software timecounter. | |
Typedefs | |
| typedef uint32_t(* | GetTimecountHandler) (void) |
| typedef void(* | FatalHandler) (rtems_fatal_source source, rtems_fatal_code code, void *arg) |
| typedef struct TQContext | TQContext |
| typedef struct TQSemContext | TQSemContext |
| typedef struct TQMtxContext | TQMtxContext |
Enumerations | |
| enum | Priority { PRIO_PSEUDO_ISR , PRIO_VERY_ULTRA_HIGH , PRIO_ULTRA_HIGH , PRIO_VERY_HIGH , PRIO_HIGH , PRIO_NORMAL , PRIO_LOW , PRIO_VERY_LOW , PRIO_ULTRA_LOW } |
| enum | TaskTimerState { TASK_TIMER_INVALID , TASK_TIMER_INACTIVE , TASK_TIMER_TICKS , TASK_TIMER_REALTIME , TASK_TIMER_MONOTONIC } |
| enum | Timer_States { TIMER_INVALID , TIMER_INACTIVE , TIMER_SCHEDULED , TIMER_PENDING } |
| The various states of a timer. | |
| enum | TQNodeKind { TQ_NODE_ONLY , TQ_NODE_VITAL , TQ_NODE_DISPENSABLE } |
| enum | TQWaitState { TQ_WAIT_STATE_BLOCKED , TQ_WAIT_STATE_INTEND_TO_BLOCK , TQ_WAIT_STATE_READY_AGAIN } |
| enum | TQWorkerKind { TQ_BLOCKER_A , TQ_BLOCKER_B , TQ_BLOCKER_C , TQ_BLOCKER_D , TQ_BLOCKER_E , TQ_WORKER_F , TQ_HELPER_A , TQ_HELPER_B , TQ_HELPER_C , TQ_WORKER_COUNT } |
| enum | TQMutex { TQ_MUTEX_A , TQ_MUTEX_B , TQ_MUTEX_C , TQ_MUTEX_D , TQ_MUTEX_NO_PROTOCOL , TQ_MUTEX_FIFO , TQ_MUTEX_COUNT } |
| enum | TQDiscipline { TQ_FIFO , TQ_PRIORITY } |
| enum | TQWait { TQ_NO_WAIT , TQ_WAIT_FOREVER , TQ_WAIT_TIMED } |
| enum | TQDeadlock { TQ_DEADLOCK_STATUS , TQ_DEADLOCK_FATAL } |
| enum | TQEvent { TQ_EVENT_ENQUEUE_PREPARE = RTEMS_EVENT_0 , TQ_EVENT_ENQUEUE = RTEMS_EVENT_1 , TQ_EVENT_ENQUEUE_DONE = RTEMS_EVENT_2 , TQ_EVENT_SURRENDER = RTEMS_EVENT_3 , TQ_EVENT_RUNNER_SYNC = RTEMS_EVENT_4 , TQ_EVENT_RUNNER_SYNC_2 = RTEMS_EVENT_5 , TQ_EVENT_HELPER_A_SYNC = RTEMS_EVENT_6 , TQ_EVENT_HELPER_B_SYNC = RTEMS_EVENT_7 , TQ_EVENT_MUTEX_A_OBTAIN = RTEMS_EVENT_8 , TQ_EVENT_MUTEX_A_RELEASE = RTEMS_EVENT_9 , TQ_EVENT_MUTEX_B_OBTAIN = RTEMS_EVENT_10 , TQ_EVENT_MUTEX_B_RELEASE = RTEMS_EVENT_11 , TQ_EVENT_BUSY_WAIT = RTEMS_EVENT_12 , TQ_EVENT_FLUSH_ALL = RTEMS_EVENT_13 , TQ_EVENT_FLUSH_PARTIAL = RTEMS_EVENT_14 , TQ_EVENT_SCHEDULER_RECORD_START = RTEMS_EVENT_15 , TQ_EVENT_SCHEDULER_RECORD_STOP = RTEMS_EVENT_16 , TQ_EVENT_TIMEOUT = RTEMS_EVENT_17 , TQ_EVENT_MUTEX_NO_PROTOCOL_OBTAIN = RTEMS_EVENT_18 , TQ_EVENT_MUTEX_NO_PROTOCOL_RELEASE = RTEMS_EVENT_19 , TQ_EVENT_ENQUEUE_FATAL = RTEMS_EVENT_20 , TQ_EVENT_MUTEX_C_OBTAIN = RTEMS_EVENT_21 , TQ_EVENT_MUTEX_C_RELEASE = RTEMS_EVENT_22 , TQ_EVENT_MUTEX_FIFO_OBTAIN = RTEMS_EVENT_23 , TQ_EVENT_MUTEX_FIFO_RELEASE = RTEMS_EVENT_24 , TQ_EVENT_ENQUEUE_TIMED = RTEMS_EVENT_25 , TQ_EVENT_MUTEX_D_OBTAIN = RTEMS_EVENT_26 , TQ_EVENT_MUTEX_D_RELEASE = RTEMS_EVENT_27 , TQ_EVENT_PIN = RTEMS_EVENT_28 , TQ_EVENT_UNPIN = RTEMS_EVENT_29 , TQ_EVENT_COUNT = RTEMS_EVENT_30 } |
| enum | TQEnqueueVariant { TQ_ENQUEUE_BLOCKS , TQ_ENQUEUE_STICKY } |
| enum | TQSemVariant { TQ_SEM_BINARY , TQ_SEM_COUNTING } |
| enum | TQMtxProtocol { TQ_MTX_NO_PROTOCOL , TQ_MTX_PRIORITY_INHERIT , TQ_MTX_PRIORITY_CEILING , TQ_MTX_MRSP } |
| enum | TQMtxRecursive { TQ_MTX_RECURSIVE_ALLOWED , TQ_MTX_RECURSIVE_DEADLOCK , TQ_MTX_RECURSIVE_UNAVAILABLE } |
| enum | TQMtxOwnerCheck { TQ_MTX_NO_OWNER_CHECK , TQ_MTX_CHECKS_OWNER } |
Functions | |
| void * | test_task_stack_allocate (size_t size) |
| void | test_task_stack_deallocate (void *stack) |
| void * | test_idle_task_stack_allocate (uint32_t cpu_index, size_t *size) |
| rtems_id | DoCreateTask (rtems_name name, rtems_task_priority priority) |
| void | StartTask (rtems_id id, rtems_task_entry entry, void *arg) |
| void | DeleteTask (rtems_id id) |
| void | SuspendTask (rtems_id id) |
| void | SuspendSelf (void) |
| void | ResumeTask (rtems_id id) |
| bool | IsTaskSuspended (rtems_id id) |
| rtems_event_set | QueryPendingEvents (void) |
| rtems_event_set | PollAnyEvents (void) |
| rtems_event_set | ReceiveAnyEvents (void) |
| rtems_event_set | ReceiveAnyEventsTimed (rtems_interval ticks) |
| void | ReceiveAllEvents (rtems_event_set events) |
| void | SendEvents (rtems_id id, rtems_event_set events) |
| rtems_mode | GetMode (void) |
| rtems_mode | SetMode (rtems_mode set, rtems_mode mask) |
| rtems_task_priority | GetPriority (rtems_id id) |
| rtems_task_priority | GetPriorityByScheduler (rtems_id task_id, rtems_id scheduler_id) |
| rtems_task_priority | SetPriority (rtems_id id, rtems_task_priority priority) |
| rtems_task_priority | GetSelfPriority (void) |
| rtems_task_priority | SetSelfPriority (rtems_task_priority priority) |
| rtems_task_priority | SetSelfPriorityNoYield (rtems_task_priority priority) |
| rtems_id | GetScheduler (rtems_id id) |
| rtems_id | GetSelfScheduler (void) |
| void | SetScheduler (rtems_id task_id, rtems_id scheduler_id, rtems_task_priority priority) |
| void | SetSelfScheduler (rtems_id scheduler_id, rtems_task_priority priority) |
| void | GetAffinity (rtems_id id, cpu_set_t *set) |
| void | GetSelfAffinity (cpu_set_t *set) |
| void | SetAffinity (rtems_id id, const cpu_set_t *set) |
| void | SetSelfAffinity (const cpu_set_t *set) |
| void | SetAffinityOne (rtems_id id, uint32_t cpu_index) |
| void | SetSelfAffinityOne (uint32_t cpu_index) |
| void | SetAffinityAll (rtems_id id) |
| void | SetSelfAffinityAll (void) |
| void | Yield (void) |
| void | YieldTask (rtems_id id) |
| void | AddProcessor (rtems_id scheduler_id, uint32_t cpu_index) |
| void | RemoveProcessor (rtems_id scheduler_id, uint32_t cpu_index) |
| rtems_id | CreateMutex (void) |
| rtems_id | CreateMutexNoProtocol (void) |
| rtems_id | CreateMutexFIFO (void) |
| bool | IsMutexOwner (rtems_id id) |
| void | DeleteMutex (rtems_id id) |
| void | ObtainMutex (rtems_id id) |
| void | ObtainMutexTimed (rtems_id id, rtems_interval ticks) |
| void | ObtainMutexDeadlock (rtems_id id) |
| void | ReleaseMutex (rtems_id id) |
| struct Thread_queue_Queue * | GetMutexThreadQueue (rtems_id id) |
| void | RestoreRunnerASR (void) |
| void | RestoreRunnerMode (void) |
| void | RestoreRunnerPriority (void) |
| void | RestoreRunnerScheduler (void) |
| struct _Thread_Control * | GetThread (rtems_id id) |
| struct _Thread_Control * | GetExecuting (void) |
| void | KillZombies (void) |
| void | WaitForExecutionStop (rtems_id task_id) |
| void | WaitForIntendToBlock (rtems_id task_id) |
| void | WaitForHeir (uint32_t cpu_index, rtems_id task_id) |
| void | WaitForNextTask (uint32_t cpu_index, rtems_id task_id) |
| void | GetTaskTimerInfo (rtems_id id, TaskTimerInfo *info) |
| void | GetTaskTimerInfoByThread (struct _Thread_Control *thread, TaskTimerInfo *info) |
| void | ClockTick (void) |
| void | FinalClockTick (void) |
| Simulates a clock tick with the final expire time point of UINT64_MAX for all clocks. | |
| void | TimecounterTick (void) |
| Simulates a single clock tick using the software timecounter. | |
| GetTimecountHandler | SetGetTimecountHandler (GetTimecountHandler handler) |
| Sets the get timecount handler. | |
| uint32_t | GetTimecountCounter (void) |
| Gets the software timecount counter value. | |
| uint32_t | SetTimecountCounter (uint32_t counter) |
| Sets and gets the software timecount counter value. | |
| rtems_id | GetTimerServerTaskId (void) |
| Return the task id of the timer server task. | |
| bool | DeleteTimerServer (void) |
| Undo the effects of rtems_timer_initiate_server() | |
| void | MemorySave (MemoryContext *ctx) |
| void | MemoryRestore (const MemoryContext *ctx) |
| void | MemoryAllocationFailWhen (uint32_t counter) |
| Fails a dynamic memory allocation when the counter reaches zero. | |
| void | CallWithinISR (void(*handler)(void *), void *arg) |
| void | CallWithinISRSubmit (CallWithinISRRequest *request) |
| void | CallWithinISRWait (const CallWithinISRRequest *request) |
| void | CallWithinISRRaise (void) |
| void | CallWithinISRClear (void) |
| rtems_vector_number | CallWithinISRGetVector (void) |
| rtems_vector_number | GetSoftwareInterruptVector (void) |
| void | WrapThreadQueueInitialize (WrapThreadQueueContext *ctx, void(*handler)(void *), void *arg) |
| void | WrapThreadQueueExtract (WrapThreadQueueContext *ctx, struct _Thread_Control *thread) |
| void | WrapThreadQueueExtractDirect (WrapThreadQueueContext *ctx, Thread_Control *thread) |
| void | WrapThreadQueueDestroy (WrapThreadQueueContext *ctx) |
| void | SetPreemptionIntervention (struct Per_CPU_Control *cpu, void(*handler)(void *), void *arg) |
| rtems_vector_number | GetValidInterruptVectorNumber (const rtems_interrupt_attributes *required) |
| rtems_vector_number | GetTestableInterruptVector (const rtems_interrupt_attributes *required) |
| rtems_status_code | RaiseSoftwareInterrupt (rtems_vector_number vector) |
| rtems_status_code | ClearSoftwareInterrupt (rtems_vector_number vector) |
| bool | HasInterruptVectorEntriesInstalled (rtems_vector_number vector) |
| Timer_Classes | GetTimerClass (rtems_id id) |
| Get the clock and context of a timer from RTEMS internal data. | |
| void | GetTimerSchedulingData (rtems_id id, Timer_Scheduling_Data *data) |
| Get data related to scheduling a timer service routine from RTEMS internal structures. | |
| Timer_States | GetTimerState (rtems_id id) |
| Get the state of a timer from RTEMS internal data. | |
| void | UnsetClock (void) |
| Mark the realtime clock as never set. | |
| void | FatalInitialExtension (rtems_fatal_source source, bool always_set_to_false, rtems_fatal_code code) |
| void | SetFatalHandler (FatalHandler fatal, void *arg) |
| void | SetTaskSwitchExtension (rtems_task_switch_extension task_switch) |
| void | ClearExtensionCalls (ExtensionCalls *calls) |
| void | CopyExtensionCalls (const ExtensionCalls *from, ExtensionCalls *to) |
| void | SetIORelaxHandler (void(*handler)(void *), void *arg) |
| void | StartDelayThreadDispatch (uint32_t cpu_index) |
| void | StopDelayThreadDispatch (uint32_t cpu_index) |
| bool | AreInterruptsEnabled (void) |
| bool | IsWhiteSpaceOnly (const char *s) |
| bool | IsEqualIgnoreWhiteSpace (const char *a, const char *b) |
| void * | IdleBody (uintptr_t ignored) |
| void | TQSend (TQContext *ctx, TQWorkerKind worker, rtems_event_set events) |
| void | TQSendAndWaitForExecutionStop (TQContext *ctx, TQWorkerKind worker, rtems_event_set events) |
| void | TQSendAndWaitForIntendToBlock (TQContext *ctx, TQWorkerKind worker, rtems_event_set events) |
| void | TQSendAndWaitForExecutionStopOrIntendToBlock (TQContext *ctx, TQWorkerKind worker, rtems_event_set events) |
| void | TQSendAndSynchronizeRunner (TQContext *ctx, TQWorkerKind worker, rtems_event_set events) |
| void | TQWaitForEventsReceived (const TQContext *ctx, TQWorkerKind worker) |
| void | TQWaitForIntendToBlock (const TQContext *ctx, TQWorkerKind worker) |
| void | TQWaitForExecutionStop (const TQContext *ctx, TQWorkerKind worker) |
| void | TQClearDone (TQContext *ctx, TQWorkerKind worker) |
| void | TQWaitForDone (const TQContext *ctx, TQWorkerKind worker) |
| void | TQSynchronizeRunner (void) |
| void | TQSynchronizeRunner2 (void) |
| void | TQResetCounter (TQContext *ctx) |
| uint32_t | TQGetCounter (const TQContext *ctx) |
| uint32_t | TQGetWorkerCounter (const TQContext *ctx, TQWorkerKind worker) |
| void | TQMutexObtain (const TQContext *ctx, TQMutex mutex) |
| void | TQMutexRelease (const TQContext *ctx, TQMutex mutex) |
| void | TQSetPriority (const TQContext *ctx, TQWorkerKind worker, Priority priority) |
| Priority | TQGetPriority (const TQContext *ctx, TQWorkerKind worker) |
| void | TQSetScheduler (const TQContext *ctx, TQWorkerKind worker, rtems_id scheduler_id, Priority priority) |
| void | TQInitialize (TQContext *ctx) |
| void | TQDestroy (TQContext *ctx) |
| void | TQReset (TQContext *ctx) |
| void | TQSortMutexesByID (TQContext *ctx) |
| void | TQGetProperties (TQContext *ctx, TQWorkerKind enqueued_worker) |
| Status_Control | TQConvertStatus (TQContext *ctx, Status_Control status) |
| void | TQEnqueuePrepare (TQContext *ctx) |
| Status_Control | TQEnqueue (TQContext *ctx, TQWait wait) |
| Status_Control | TQEnqueueFatal (TQContext *ctx) |
| void | TQEnqueueDone (TQContext *ctx) |
| Status_Control | TQSurrender (TQContext *ctx) |
| void | TQFlush (TQContext *ctx, bool flush_all) |
| rtems_tcb * | TQGetOwner (TQContext *ctx) |
| void | TQSchedulerRecordStart (TQContext *ctx) |
| void | TQSchedulerRecordStop (TQContext *ctx) |
| const T_scheduler_event * | TQGetNextAny (TQContext *ctx, size_t *index) |
| const T_scheduler_event * | TQGetNextBlock (TQContext *ctx, size_t *index) |
| const T_scheduler_event * | TQGetNextUnblock (TQContext *ctx, size_t *index) |
| const T_scheduler_event * | TQGetNextUpdatePriority (TQContext *ctx, size_t *index) |
| const T_scheduler_event * | TQGetNextAskForHelp (TQContext *ctx, size_t *index) |
| void | TQDoNothing (TQContext *ctx) |
| Status_Control | TQDoNothingSuccessfully (TQContext *ctx) |
| Status_Control | TQConvertStatusClassic (Status_Control status) |
| Status_Control | TQConvertStatusPOSIX (Status_Control status) |
| void | TQEnqueuePrepareDefault (TQContext *ctx) |
| void | TQEnqueueDoneDefault (TQContext *ctx) |
| Status_Control | TQEnqueueClassicSem (TQContext *ctx, TQWait wait) |
| Status_Control | TQSurrenderClassicSem (TQContext *ctx) |
| rtems_tcb * | TQGetOwnerClassicSem (TQContext *ctx) |
| Status_Control | TQSemSurrender (TQSemContext *ctx) |
| uint32_t | TQSemGetCount (TQSemContext *ctx) |
| void | TQSemSetCount (TQSemContext *ctx, uint32_t count) |
| Status_Control | TQSemSurrenderClassic (TQSemContext *ctx) |
| uint32_t | TQSemGetCountClassic (TQSemContext *ctx) |
| void | TQSemSetCountClassic (TQSemContext *ctx, uint32_t count) |
Variables | |
| rtems_task_argument | test_runner_argument |
| rtems_task_priority | test_runner_initial_priority |
| rtems_mode | test_runner_initial_modes |
| const rtems_task_config | DefaultTaskConfig |
| This task configurations may be used to construct a task during tests. | |
This group contains the test suites related to validation tests.
| #define CreateTask | ( | name, | |
| priority | |||
| ) |
| #define PRIO_FLEXIBLE 64 |
This constants represents a priority with a wider range of higher and lower priorities around it.
It may be used for the worker threads together with PRIO_NEARLY_IDLE for the runner thread.
| #define PRIO_INVALID 0xfffffffe |
This constants represents an invalid RTEMS task priority value.
It should be an invalid priority value which is not equal to RTEMS_CURRENT_PRIORITY and RTEMS_TIMER_SERVER_DEFAULT_PRIORITY.
| #define PRIO_NEARLY_IDLE 126 |
This constants represents a priority which is close to the priority of the idle thread.
It may be used for the runner thread together with PRIO_FLEXIBLE for worker threads.
| bool DeleteTimerServer | ( | void | ) |
Undo the effects of rtems_timer_initiate_server()
If rtems_timer_initiate_server() was never called before, nothing is done.
If rtems_timer_initiate_server() was called before, the created thread and other resources are freed so that rtems_timer_initiate_server() can be called again. There should be no pending timers which are not yet executed by the server task. Naturally, there should be no timer server timers scheduled for execution.
| void FinalClockTick | ( | void | ) |
Simulates a clock tick with the final expire time point of UINT64_MAX for all clocks.
This function does not update the clock ticks counter.
| uint32_t GetTimecountCounter | ( | void | ) |
Gets the software timecount counter value.
| Timer_Classes GetTimerClass | ( | rtems_id | id | ) |
Get the clock and context of a timer from RTEMS internal data.
With exception of TIMER_DORMANT, the return values are bits or-ed together.
| id | The timer ID. |
| TIMER_DORMANT | Either the id argument is invalid or the timer has never been used before. |
The TIMER_CLASS_BIT_TIME_OF_DAY is set, if the clock used is or was the ${/glossary/clock-realtime:/term}, otherwise the ${/glossary/clock-tick:/term} based clock is or was used.
| void GetTimerSchedulingData | ( | rtems_id | id, |
| Timer_Scheduling_Data * | data | ||
| ) |
Get data related to scheduling a timer service routine from RTEMS internal structures.
| id | The timer ID. | |
| [out] | data | If the reference is not NULL, the data retrieved from internal RTEMS structures is stored here. |
| rtems_id GetTimerServerTaskId | ( | void | ) |
Return the task id of the timer server task.
This function is an attempt to avoid using RTEMS internal global _Timer_server throughout the validation test code.
| Timer_States GetTimerState | ( | rtems_id | id | ) |
Get the state of a timer from RTEMS internal data.
| id | The timer ID. |
| TIMER_INVALID | The id argument is invalid. |
| TIMER_INACTIVE | The timer is not scheduled (i.e. it is new, run off, or canceled). |
| TIMER_SCHEDULED | The timer is scheduled. |
| TIMER_PENDING | The timer is pending. |
| void MemoryAllocationFailWhen | ( | uint32_t | counter | ) |
Fails a dynamic memory allocation when the counter reaches zero.
This function initializes an internal counter which is decremented before each dynamic memory allocation though the rtems_malloc() directive. When the counter decrements from one to zero, the allocation fails and NULL will be returned.
| counter | is the initial counter value. |
| GetTimecountHandler SetGetTimecountHandler | ( | GetTimecountHandler | handler | ) |
Sets the get timecount handler.
Using this function will replace the timecounter of the clock driver.
| uint32_t SetTimecountCounter | ( | uint32_t | counter | ) |
Sets and gets the software timecount counter value.
| counter | is the new software timecounter counter value. |
| void TimecounterTick | ( | void | ) |
Simulates a single clock tick using the software timecounter.
In contrast to ClockTick(), this function updates also CLOCK_MONOTONIC and CLOCK_REALTIME to the next software timecounter clock tick time point.
This function is designed for test suites not having a clock driver.
| void UnsetClock | ( | void | ) |
Mark the realtime clock as never set.
This function manipulates RTEMS internal data structures to undo the effect of rtems_clock_set(). If the clock is not set, the function has no effect.
|
extern |
This task configurations may be used to construct a task during tests.
Only one task shall use this configuration at a time, otherwise two tasks would share a stack.