You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Memory Protection Unit (MPU) Enhancements This commit introduces a new MPU wrapper that places additional restrictions on unprivileged tasks. The following is the list of changes introduced with the new MPU wrapper: 1. Opaque and indirectly verifiable integers for kernel object handles: All the kernel object handles (for example, queue handles) are now opaque integers. Previously object handles were raw pointers. 2. Saving the task context in Task Control Block (TCB): When a task is swapped out by the scheduler, the task's context is now saved in its TCB. Previously the task's context was saved on its stack. 3. Execute system calls on a separate privileged only stack: FreeRTOS system calls, which execute with elevated privilege, now use a separate privileged only stack. Previously system calls used the calling task's stack. The application writer can control the size of the system call stack using new configSYSTEM_CALL_STACK_SIZE config macro. 4. Memory bounds checks: FreeRTOS system calls which accept a pointer and de-reference it, now verify that the calling task has required permissions to access the memory location referenced by the pointer. 5. System call restrictions: The following system calls are no longer available to unprivileged tasks: - vQueueDelete - xQueueCreateMutex - xQueueCreateMutexStatic - xQueueCreateCountingSemaphore - xQueueCreateCountingSemaphoreStatic - xQueueGenericCreate - xQueueGenericCreateStatic - xQueueCreateSet - xQueueRemoveFromSet - xQueueGenericReset - xTaskCreate - xTaskCreateStatic - vTaskDelete - vTaskPrioritySet - vTaskSuspendAll - xTaskResumeAll - xTaskGetHandle - xTaskCallApplicationTaskHook - vTaskList - vTaskGetRunTimeStats - xTaskCatchUpTicks - xEventGroupCreate - xEventGroupCreateStatic - vEventGroupDelete - xStreamBufferGenericCreate - xStreamBufferGenericCreateStatic - vStreamBufferDelete - xStreamBufferReset Also, an unprivileged task can no longer use vTaskSuspend to suspend any task other than itself. We thank the following people for their inputs in these enhancements: - David Reiss of Meta Platforms, Inc. - Lan Luo, Xinhui Shao, Yumeng Wei, Zixia Liu, Huaiyu Yan and Zhen Ling of School of Computer Science and Engineering, Southeast University, China. - Xinwen Fu of Department of Computer Science, University of Massachusetts Lowell, USA. - Yuequi Chen, Zicheng Wang, Minghao Lin of University of Colorado Boulder, USA. |
2 years ago | |
---|---|---|
.. | ||
ARM7_AT91FR40008 | 2 years ago | |
ARM7_AT91SAM7S | 2 years ago | |
ARM7_LPC23xx | 2 years ago | |
ARM7_LPC2000 | 2 years ago | |
ARM_CA9 | 2 years ago | |
ARM_CA53_64_BIT | 2 years ago | |
ARM_CA53_64_BIT_SRE | 2 years ago | |
ARM_CM0 | 2 years ago | |
ARM_CM3 | 2 years ago | |
ARM_CM3_MPU | 2 years ago | |
ARM_CM4F | 2 years ago | |
ARM_CM4_MPU | 2 years ago | |
ARM_CM7 | 2 years ago | |
ARM_CM23 | 2 years ago | |
ARM_CM23_NTZ/non_secure | 2 years ago | |
ARM_CM33 | 2 years ago | |
ARM_CM33_NTZ/non_secure | 2 years ago | |
ARM_CM35P | 2 years ago | |
ARM_CM35P_NTZ/non_secure | 2 years ago | |
ARM_CM55 | 2 years ago | |
ARM_CM55_NTZ/non_secure | 2 years ago | |
ARM_CM85 | 2 years ago | |
ARM_CM85_NTZ/non_secure | 2 years ago | |
ARM_CR5 | 2 years ago | |
ARM_CRx_No_GIC | 2 years ago | |
ATMega323 | 2 years ago | |
AVR32_UC3 | 2 years ago | |
AVR_AVRDx | 3 years ago | |
AVR_Mega0 | 3 years ago | |
CORTUS_APS3 | 2 years ago | |
ColdFire_V2 | 2 years ago | |
H8S2329 | 2 years ago | |
HCS12 | 2 years ago | |
IA32_flat | 2 years ago | |
MCF5235 | 4 years ago | |
MSP430F449 | 2 years ago | |
MicroBlaze | 2 years ago | |
MicroBlazeV8 | 2 years ago | |
MicroBlazeV9 | 2 years ago | |
NiosII | 2 years ago | |
PPC405_Xilinx | 2 years ago | |
PPC440_Xilinx | 2 years ago | |
RISC-V | 2 years ago | |
RL78 | 2 years ago | |
RX100 | 2 years ago | |
RX200 | 2 years ago | |
RX600 | 2 years ago | |
RX600v2 | 2 years ago | |
RX700v3_DPFPU | 2 years ago | |
STR75x | 2 years ago | |
TriCore_1782 | 2 years ago |