FreeRTOS-Kernel/portable
Ahmed Ismail 029545f4ad armv8.1-m: Add task dedicated PAC key
To harden the security, each task is assigned
a dedicated PAC key, so that attackers needs
to guess the all the tasks' PAC keys right to
exploit the system using Return Oriented Programming.

The kernel is now updated to support the following:
* A PAC key set with a random number generated and
is pushed onto the task's stack when a task is created.

* As part of scheduling, the task's PAC key is stacked/unstacked
to/from the task's stack when a task is unscheduled/scheduled
from/to run.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
2025-01-13 11:04:35 +00:00
..
ARMClang Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
ARMv8M armv8.1-m: Add task dedicated PAC key 2025-01-13 11:04:35 +00:00
BCC/16BitDOS Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
CCRH/F1Kx Pass core ID to port lock macros (#1212) 2024-12-30 14:28:49 +05:30
CCS Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
CodeWarrior Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
Common Fix variable name mismatch, mpu_wrappers type mismatch. (#1181) 2024-11-01 10:56:18 -07:00
GCC armv8.1-m: Add task dedicated PAC key 2025-01-13 11:04:35 +00:00
IAR armv8.1-m: Add task dedicated PAC key 2025-01-13 11:04:35 +00:00
Keil Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
MemMang Add xPortResetHeapMinimumEverFreeHeapSize to heap5 (#1191) 2024-11-13 13:31:41 +05:30
MikroC/ARM_CM4F Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
MPLAB Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
MSVC-MingW Regression Bug Fix: Fix Incorrect Return of MSVC-MingW portYIELD_FROM_ISR (#1207) 2024-12-16 18:48:54 +05:30
oWatcom/16BitDOS Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
Paradigm/Tern_EE Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
Renesas Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
Rowley Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
RVDS Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
SDCC/Cygnal Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
Softune Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
Tasking/ARM_CM4F Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
template Pass core ID to port lock macros (#1212) 2024-12-30 14:28:49 +05:30
ThirdParty Update community supported ports submodulees (#1218) 2025-01-06 11:05:53 +05:30
WizC/PIC18 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
CMakeLists.txt Fix CMake build for RP2040 (#1197) 2024-11-25 10:54:41 +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.