Functions | |
int | mars_mutex_initialize (uint64_t mutex_ea) |
[MPU] Initializes a mutex. | |
int | mars_mutex_lock (uint64_t mutex_ea) |
[MPU] Locks a mutex. | |
int | mars_mutex_unlock (uint64_t mutex_ea) |
[MPU] Unlocks a mutex. | |
int | mars_mutex_lock_get (uint64_t mutex_ea, struct mars_mutex *mutex) |
[MPU] Locks a mutex. | |
int | mars_mutex_unlock_put (uint64_t mutex_ea, struct mars_mutex *mutex) |
[MPU] Unlocks a mutex. |
int mars_mutex_initialize | ( | uint64_t | mutex_ea | ) |
[MPU] Initializes a mutex.
This function initializes a mutex instance that can be locked or unlocked from both host and MPU to restrict concurrent accesses.
[in] | mutex_ea | -ea of mutex instance to initialize |
int mars_mutex_lock | ( | uint64_t | mutex_ea | ) |
[MPU] Locks a mutex.
This function locks a mutex and blocks other requests to lock it.
[in] | mutex_ea | - ea of mutex instance to lock |
int mars_mutex_unlock | ( | uint64_t | mutex_ea | ) |
[MPU] Unlocks a mutex.
This function unlocks a previously locked mutex to allow other lock requests.
[in] | mutex_ea | - ea of mutex instance to unlock |
int mars_mutex_lock_get | ( | uint64_t | mutex_ea, | |
struct mars_mutex * | mutex | |||
) |
[MPU] Locks a mutex.
This function locks a mutex and blocks other requests to lock it. It also loads the mutex instance from the effective address specified into the local mutex instance.
[in] | mutex_ea | - ea of mutex instance to lock |
[in] | mutex | - pointer to local mutex instance |
int mars_mutex_unlock_put | ( | uint64_t | mutex_ea, | |
struct mars_mutex * | mutex | |||
) |
[MPU] Unlocks a mutex.
This function unlocks a previously locked mutex to allow other lock requests. It also loads the local mutex instance into the effective address specified.
[in] | mutex_ea | - ea of mutex instance to unlock |
[in] | mutex | - pointer to local mutex instance |