RTEMS
|
SMP Lock API. More...
#include <rtems/score/cpuopts.h>
#include <rtems/score/smplockstats.h>
#include <rtems/score/smplockticket.h>
#include <rtems/score/isrlevel.h>
Go to the source code of this file.
Classes | |
struct | SMP_lock_Control |
SMP lock control. More... | |
struct | SMP_lock_Context |
Local SMP lock context for acquire and release pairs. More... | |
Macros | |
#define | SMP_LOCK_INITIALIZER(name) { SMP_TICKET_LOCK_INITIALIZER } |
SMP lock control initializer for static initialization. | |
#define | _SMP_lock_Initialize(lock, name) _SMP_lock_Initialize_inline( lock, name ) |
Initializes an SMP lock. More... | |
#define | _SMP_lock_Destroy(lock) _SMP_lock_Destroy_inline( lock ) |
Destroys an SMP lock. More... | |
#define | _SMP_lock_Release(lock, context) _SMP_lock_Release_inline( lock, context ) |
Releases an SMP lock. More... | |
#define | _SMP_lock_Release_and_ISR_enable(lock, context) _SMP_lock_Release_and_ISR_enable_inline( lock, context ) |
Releases the SMP lock and enables interrupts. More... | |
Functions | |
static void | _SMP_lock_Initialize_inline (SMP_lock_Control *lock, const char *name) |
Initializes the SMP lock with the given name. More... | |
static void | _SMP_lock_Destroy_inline (SMP_lock_Control *lock) |
Destroys the SMP lock. More... | |
static void | _SMP_lock_Set_name (SMP_lock_Control *lock, const char *name) |
Sets the name of an SMP lock. More... | |
static void | _SMP_lock_Acquire_inline (SMP_lock_Control *lock, SMP_lock_Context *context) |
Gets my index. More... | |
void | _SMP_lock_Acquire (SMP_lock_Control *lock, SMP_lock_Context *context) |
Acquires an SMP lock. More... | |
static void | _SMP_lock_Release_inline (SMP_lock_Control *lock, SMP_lock_Context *context) |
Releases an SMP lock. More... | |
static void | _SMP_lock_ISR_disable_and_acquire_inline (SMP_lock_Control *lock, SMP_lock_Context *context) |
Disables interrupts and acquires the SMP lock. More... | |
void | _SMP_lock_ISR_disable_and_acquire (SMP_lock_Control *lock, SMP_lock_Context *context) |
Disables interrupts and acquires the SMP lock. More... | |
static void | _SMP_lock_Release_and_ISR_enable_inline (SMP_lock_Control *lock, SMP_lock_Context *context) |
Releases the SMP lock and enables interrupts. More... | |
SMP Lock API.
Definition in file smplock.h.