RTEMS 6.1-rc4
|
This header file provides the support functions for the validation test cases. More...
#include <rtems.h>
#include <rtems/irq-extension.h>
#include <rtems/score/atomic.h>
#include <rtems/score/threadq.h>
Go to the source code of this file.
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 |
Macros | |
#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) |
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. | |
Functions | |
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) |
Variables | |
const rtems_task_config | DefaultTaskConfig |
This task configurations may be used to construct a task during tests. | |
This header file provides the support functions for the validation test cases.