diff options
author | Richard Barry <ribarry@amazon.com> | 2014-04-24 12:29:40 +0000 |
---|---|---|
committer | Richard Barry <ribarry@amazon.com> | 2014-04-24 12:29:40 +0000 |
commit | 911e82a909704abe86aca2a02f5d424360a417ff (patch) | |
tree | 6652fea0d915325152338701c2c77cc44576c8d4 /FreeRTOS | |
parent | f25503977e9158814a1faec2dd5ca3bcdee151e9 (diff) | |
download | freertos-git-911e82a909704abe86aca2a02f5d424360a417ff.tar.gz |
Add xQueueGetMutexHolder() to MPU functions.
Diffstat (limited to 'FreeRTOS')
-rw-r--r-- | FreeRTOS/Source/include/mpu_wrappers.h | 1 | ||||
-rw-r--r-- | FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/FreeRTOS/Source/include/mpu_wrappers.h b/FreeRTOS/Source/include/mpu_wrappers.h index 360b4f92b..0472c46c0 100644 --- a/FreeRTOS/Source/include/mpu_wrappers.h +++ b/FreeRTOS/Source/include/mpu_wrappers.h @@ -117,6 +117,7 @@ only for ports that are using the MPU. */ #define xQueueAddToSet MPU_xQueueAddToSet
#define xQueueRemoveFromSet MPU_xQueueRemoveFromSet
#define xQueuePeekFromISR MPU_xQueuePeekFromISR
+ #define xQueueGetMutexHolder MPU_xQueueGetMutexHolder
#define pvPortMalloc MPU_pvPortMalloc
#define vPortFree MPU_vPortFree
diff --git a/FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c b/FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c index 116f1ba38..9465aa141 100644 --- a/FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c +++ b/FreeRTOS/Source/portable/GCC/ARM_CM3_MPU/port.c @@ -216,6 +216,7 @@ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, Tick BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );
BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );
BaseType_t MPU_xQueuePeekFromISR( QueueHandle_t xQueue, void * const pvBuffer );
+void* MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore );
/*-----------------------------------------------------------*/
@@ -1016,6 +1017,17 @@ BaseType_t xReturn; }
/*-----------------------------------------------------------*/
+void* MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore )
+{
+BaseType_t xRunningPrivileged = prvRaisePrivilege();
+void * xReturn;
+
+ xReturn = ( void * ) xQueueGetMutexHolder( xSemaphore );
+ portRESET_PRIVILEGE( xRunningPrivileged );
+ return xReturn;
+}
+/*-----------------------------------------------------------*/
+
#if ( configUSE_MUTEXES == 1 )
QueueHandle_t MPU_xQueueCreateMutex( void )
{
|