Skip to content

Commit ace6b39

Browse files
Add runtime parameter checks (#758)
* Add runtime parameter checks This commit adds runtime checks for function parameters to mpu_wrappers_v2 file. The same checks are performed in the API implementation using asserts. Signed-off-by: kar-rahul-aws <[email protected]>
1 parent 0d87194 commit ace6b39

File tree

7 files changed

+269
-175
lines changed

7 files changed

+269
-175
lines changed

.github/lexicon.txt

+1
Original file line numberDiff line numberDiff line change
@@ -2469,6 +2469,7 @@ uxpriority
24692469
uxprioritytouse
24702470
uxqueue
24712471
uxqueuegetqueueitemsize
2472+
uxqueuegetqueuelength
24722473
uxqueuelength
24732474
uxqueuemessageswaiting
24742475
uxqueuespacesavailable

event_groups.c

-20
Original file line numberDiff line numberDiff line change
@@ -46,26 +46,6 @@
4646
* correct privileged Vs unprivileged linkage and placement. */
4747
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750 !e9021 See comment above. */
4848

49-
/* The following bit fields convey control information in a task's event list
50-
* item value. It is important they don't clash with the
51-
* taskEVENT_LIST_ITEM_VALUE_IN_USE definition. */
52-
#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
53-
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U
54-
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U
55-
#define eventWAIT_FOR_ALL_BITS 0x0400U
56-
#define eventEVENT_BITS_CONTROL_BYTES 0xff00U
57-
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
58-
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL
59-
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL
60-
#define eventWAIT_FOR_ALL_BITS 0x04000000UL
61-
#define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL
62-
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
63-
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100000000000000ULL
64-
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200000000000000ULL
65-
#define eventWAIT_FOR_ALL_BITS 0x0400000000000000ULL
66-
#define eventEVENT_BITS_CONTROL_BYTES 0xff00000000000000ULL
67-
#endif /* if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) */
68-
6949
typedef struct EventGroupDef_t
7050
{
7151
EventBits_t uxEventBits;

include/event_groups.h

+20
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,26 @@
3636
/* FreeRTOS includes. */
3737
#include "timers.h"
3838

39+
/* The following bit fields convey control information in a task's event list
40+
* item value. It is important they don't clash with the
41+
* taskEVENT_LIST_ITEM_VALUE_IN_USE definition. */
42+
#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
43+
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U
44+
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U
45+
#define eventWAIT_FOR_ALL_BITS 0x0400U
46+
#define eventEVENT_BITS_CONTROL_BYTES 0xff00U
47+
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
48+
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL
49+
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL
50+
#define eventWAIT_FOR_ALL_BITS 0x04000000UL
51+
#define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL
52+
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
53+
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100000000000000ULL
54+
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200000000000000ULL
55+
#define eventWAIT_FOR_ALL_BITS 0x0400000000000000ULL
56+
#define eventEVENT_BITS_CONTROL_BYTES 0xff00000000000000ULL
57+
#endif /* if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) */
58+
3959
/* *INDENT-OFF* */
4060
#ifdef __cplusplus
4161
extern "C" {

include/queue.h

+1
Original file line numberDiff line numberDiff line change
@@ -1753,6 +1753,7 @@ void vQueueSetQueueNumber( QueueHandle_t xQueue,
17531753
UBaseType_t uxQueueGetQueueNumber( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
17541754
uint8_t ucQueueGetQueueType( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
17551755
UBaseType_t uxQueueGetQueueItemSize( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
1756+
UBaseType_t uxQueueGetQueueLength( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
17561757

17571758
/* *INDENT-OFF* */
17581759
#ifdef __cplusplus

0 commit comments

Comments
 (0)