FreeRTOS-Kernel/portable
Soren Ptak 84bdb05bd2
Fix portSWITCH_TO_USER_MODE() on Armv7-M MPU ports (#803)
A task's privilege level is stored in ulTaskFlag member in the TCB. Current
implementation of portSWITCH_TO_USER_MODE() does not update this
flag but just lowers the processor's privilege level. This results in many
APIs incorrectly determining task's privilege level and access permissions -

- xPortIsAuthorizedToAccessBuffer
- xPortIsTaskPrivileged
- xPortIsAuthorizedToAccessKernelObject

This PR fixes the portSWITCH_TO_USER_MODE() implementation to correctly
update the ulTaskFlag member in the TCB before lowering the processor's
privilege level.
2023-09-26 14:36:23 +05:30
..
ARMClang Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
ARMv8M Remove unwanted variable portACL_ENTRY_SIZE_BYTES (#810) 2023-09-26 09:58:02 +05:30
BCC/16BitDOS CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
CCS Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
CodeWarrior Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
Common Add Access Control List to MPU ports (#765) 2023-09-18 15:34:42 +05:30
GCC Fix portSWITCH_TO_USER_MODE() on Armv7-M MPU ports (#803) 2023-09-26 14:36:23 +05:30
IAR Fix portSWITCH_TO_USER_MODE() on Armv7-M MPU ports (#803) 2023-09-26 14:36:23 +05:30
Keil Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
MemMang CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
MikroC/ARM_CM4F Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
MPLAB Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
MSVC-MingW CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
oWatcom/16BitDOS CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Paradigm/Tern_EE CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Renesas CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Rowley CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
RVDS Fix portSWITCH_TO_USER_MODE() on Armv7-M MPU ports (#803) 2023-09-26 14:36:23 +05:30
SDCC/Cygnal CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Softune CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Tasking/ARM_CM4F Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
ThirdParty Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
WizC/PIC18 CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
CMakeLists.txt Fix typo in the include directory for the the GCC_ARM_CM55_TFM port (#764) 2023-08-25 11:16:36 +05:30
readme.txt Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00

Each real time kernel port consists of three files that contain the core kernel
components and are common to every port, and one or more files that are
specific to a particular microcontroller and/or compiler.


+ The FreeRTOS/Source/Portable/MemMang directory contains the five sample
memory allocators as described on the https://www.FreeRTOS.org WEB site.

+ The other directories each contain files specific to a particular
microcontroller or compiler, where the directory name denotes the compiler
specific files the directory contains.



For example, if you are interested in the [compiler] port for the [architecture]
microcontroller, then the port specific files are contained in
FreeRTOS/Source/Portable/[compiler]/[architecture] directory.  If this is the
only port you are interested in then all the other directories can be
ignored.