RTEMS
Macros | Functions

Definitions for Multiprocessor Resource Sharing Protocol (MrsP) Implementation. More...

#include <rtems/score/mrsp.h>
#include <rtems/score/assert.h>
#include <rtems/score/status.h>
#include <rtems/score/threadqimpl.h>
#include <rtems/score/watchdogimpl.h>

Go to the source code of this file.

Macros

#define MRSP_TQ_OPERATIONS   &_Thread_queue_Operations_priority_inherit
 

Functions

static __inline__ void _MRSP_Acquire_critical (MRSP_Control *mrsp, Thread_queue_Context *queue_context)
 Acquires critical accordingt to MrsP. More...
 
static __inline__ void _MRSP_Release (MRSP_Control *mrsp, Thread_queue_Context *queue_context)
 Releases according to MrsP. More...
 
static __inline__ Thread_Control_MRSP_Get_owner (const MRSP_Control *mrsp)
 Gets owner of the MrsP control. More...
 
static __inline__ void _MRSP_Set_owner (MRSP_Control *mrsp, Thread_Control *owner)
 Sets owner of the MrsP control. More...
 
static __inline__ Priority_Control _MRSP_Get_priority (const MRSP_Control *mrsp, const Scheduler_Control *scheduler)
 Gets priority of the MrsP control. More...
 
static __inline__ void _MRSP_Set_priority (MRSP_Control *mrsp, const Scheduler_Control *scheduler, Priority_Control new_priority)
 Sets priority of the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Raise_priority (MRSP_Control *mrsp, Thread_Control *thread, Priority_Node *priority_node, Thread_queue_Context *queue_context)
 Adds the priority to the given thread. More...
 
static __inline__ void _MRSP_Remove_priority (Thread_Control *thread, Priority_Node *priority_node, Thread_queue_Context *queue_context)
 Removes the priority from the given thread. More...
 
static __inline__ void _MRSP_Replace_priority (MRSP_Control *mrsp, Thread_Control *thread, Priority_Node *ceiling_priority)
 Replaces the given priority node with the ceiling priority of the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Claim_ownership (MRSP_Control *mrsp, Thread_Control *executing, Thread_queue_Context *queue_context)
 Claims ownership of the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Initialize (MRSP_Control *mrsp, const Scheduler_Control *scheduler, Priority_Control ceiling_priority, Thread_Control *executing, bool initially_locked)
 Initializes a MrsP control. More...
 
static __inline__ Status_Control _MRSP_Wait_for_ownership (MRSP_Control *mrsp, Thread_Control *executing, Thread_queue_Context *queue_context)
 Waits for the ownership of the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Seize (MRSP_Control *mrsp, Thread_Control *executing, bool wait, Thread_queue_Context *queue_context)
 Seizes the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Surrender (MRSP_Control *mrsp, Thread_Control *executing, Thread_queue_Context *queue_context)
 Surrenders the MrsP control. More...
 
static __inline__ Status_Control _MRSP_Can_destroy (MRSP_Control *mrsp)
 Checks if the MrsP control can be destroyed. More...
 
static __inline__ void _MRSP_Destroy (MRSP_Control *mrsp, Thread_queue_Context *queue_context)
 Destroys the MrsP control. More...
 

Detailed Description

Definitions for Multiprocessor Resource Sharing Protocol (MrsP) Implementation.

Definition in file mrspimpl.h.