|
1 | 1 | /*
|
2 |
| - * Copyright (c) 2013-2021 Arm Limited. All rights reserved. |
| 2 | + * Copyright (c) 2013-2023 Arm Limited. All rights reserved. |
3 | 3 | *
|
4 | 4 | * SPDX-License-Identifier: Apache-2.0
|
5 | 5 | *
|
|
17 | 17 | *
|
18 | 18 | * -----------------------------------------------------------------------------
|
19 | 19 | *
|
20 |
| - * $Revision: V5.5.2 |
| 20 | + * $Revision: V5.6.0 |
21 | 21 | *
|
22 | 22 | * Project: CMSIS-RTOS RTX
|
23 | 23 | * Title: RTX Configuration definitions
|
|
69 | 69 |
|
70 | 70 | // </e>
|
71 | 71 |
|
| 72 | +// <e>Safety features (Source variant only) |
| 73 | +// <i> Enables FuSa related features. |
| 74 | +// <i> Requires RTX Source variant. |
| 75 | +// <i> Enables: |
| 76 | +// <i> - selected features from this group |
| 77 | +// <i> - Thread functions: osThreadProtectPrivileged |
| 78 | +#ifndef OS_SAFETY_FEATURES |
| 79 | +#define OS_SAFETY_FEATURES 0 |
| 80 | +#endif |
| 81 | + |
| 82 | +// <q>Safety Class |
| 83 | +// <i> Threads assigned to lower classes cannot modify higher class threads. |
| 84 | +// <i> Enables: |
| 85 | +// <i> - Object attributes: osSafetyClass |
| 86 | +// <i> - Kernel functions: osKernelProtect, osKernelDestroyClass |
| 87 | +// <i> - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass |
| 88 | +#ifndef OS_SAFETY_CLASS |
| 89 | +#define OS_SAFETY_CLASS 1 |
| 90 | +#endif |
| 91 | + |
| 92 | +// <q>MPU Protected Zone |
| 93 | +// <i> Access protection via MPU (Spatial isolation). |
| 94 | +// <i> Enables: |
| 95 | +// <i> - Thread attributes: osThreadZone |
| 96 | +// <i> - Thread functions: osThreadGetZone, osThreadTerminateZone |
| 97 | +// <i> - Zone Management: osZoneSetup_Callback |
| 98 | +#ifndef OS_EXECUTION_ZONE |
| 99 | +#define OS_EXECUTION_ZONE 1 |
| 100 | +#endif |
| 101 | + |
| 102 | +// <q>Thread Watchdog |
| 103 | +// <i> Watchdog alerts ensure timing for critical threads (Temporal isolation). |
| 104 | +// <i> Enables: |
| 105 | +// <i> - Thread functions: osThreadFeedWatchdog |
| 106 | +// <i> - Handler functions: osWatchdogAlarm_Handler |
| 107 | +#ifndef OS_THREAD_WATCHDOG |
| 108 | +#define OS_THREAD_WATCHDOG 1 |
| 109 | +#endif |
| 110 | + |
| 111 | +// <q>Object Pointer checking |
| 112 | +// <i> Check object pointer alignment and memory region. |
| 113 | +#ifndef OS_OBJ_PTR_CHECK |
| 114 | +#define OS_OBJ_PTR_CHECK 0 |
| 115 | +#endif |
| 116 | + |
| 117 | +// <q>SVC Function Pointer checking |
| 118 | +// <i> Check SVC function pointer alignment and memory region. |
| 119 | +// <i> User needs to define a linker execution region RTX_SVC_VENEERS |
| 120 | +// <i> containing input sections: rtx_*.o (.text.os.svc.veneer.*) |
| 121 | +#ifndef OS_SVC_PTR_CHECK |
| 122 | +#define OS_SVC_PTR_CHECK 0 |
| 123 | +#endif |
| 124 | + |
| 125 | +// </e> |
| 126 | + |
72 | 127 | // <o>ISR FIFO Queue
|
73 | 128 | // <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
|
74 | 129 | // <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
|
|
142 | 197 | #define OS_IDLE_THREAD_TZ_MOD_ID 0
|
143 | 198 | #endif
|
144 | 199 |
|
| 200 | +// <o>Idle Thread Safety Class <0-15> |
| 201 | +// <i> Defines the Safety Class number. |
| 202 | +// <i> Default: 0 |
| 203 | +#ifndef OS_IDLE_THREAD_CLASS |
| 204 | +#define OS_IDLE_THREAD_CLASS 0 |
| 205 | +#endif |
| 206 | + |
| 207 | +// <o>Idle Thread Zone <0-127> |
| 208 | +// <i> Defines Thread Zone. |
| 209 | +// <i> Default: 0 |
| 210 | +#ifndef OS_IDLE_THREAD_ZONE |
| 211 | +#define OS_IDLE_THREAD_ZONE 0 |
| 212 | +#endif |
| 213 | + |
145 | 214 | // <q>Stack overrun checking
|
146 | 215 | // <i> Enables stack overrun check at thread switch (requires RTX source variant).
|
147 | 216 | // <i> Enabling this option increases slightly the execution time of a thread switch.
|
148 | 217 | #ifndef OS_STACK_CHECK
|
149 |
| -#define OS_STACK_CHECK 0 |
| 218 | +#define OS_STACK_CHECK 1 |
150 | 219 | #endif
|
151 | 220 |
|
152 | 221 | // <q>Stack usage watermark
|
|
156 | 225 | #define OS_STACK_WATERMARK 0
|
157 | 226 | #endif
|
158 | 227 |
|
159 |
| -// <o>Processor mode for Thread execution |
| 228 | +// <o>Default Processor mode for Thread execution |
160 | 229 | // <0=> Unprivileged mode
|
161 | 230 | // <1=> Privileged mode
|
162 |
| -// <i> Default: Privileged mode |
| 231 | +// <i> Default: Unprivileged mode |
163 | 232 | #ifndef OS_PRIVILEGE_MODE
|
164 |
| -#define OS_PRIVILEGE_MODE 1 |
| 233 | +#define OS_PRIVILEGE_MODE 0 |
165 | 234 | #endif
|
166 | 235 |
|
167 | 236 | // </h>
|
|
211 | 280 | #define OS_TIMER_THREAD_TZ_MOD_ID 0
|
212 | 281 | #endif
|
213 | 282 |
|
| 283 | +// <o>Timer Thread Safety Class <0-15> |
| 284 | +// <i> Defines the Safety Class number. |
| 285 | +// <i> Default: 0 |
| 286 | +#ifndef OS_TIMER_THREAD_CLASS |
| 287 | +#define OS_TIMER_THREAD_CLASS 0 |
| 288 | +#endif |
| 289 | + |
| 290 | +// <o>Timer Thread Zone <0-127> |
| 291 | +// <i> Defines Thread Zone. |
| 292 | +// <i> Default: 0 |
| 293 | +#ifndef OS_TIMER_THREAD_ZONE |
| 294 | +#define OS_TIMER_THREAD_ZONE 0 |
| 295 | +#endif |
| 296 | + |
214 | 297 | // <o>Timer Callback Queue entries <0-256>
|
215 | 298 | // <i> Number of concurrent active timer callback functions.
|
216 | 299 | // <i> May be set to 0 when timers are not used.
|
|
0 commit comments