FreeRTOS-Kernel/portable/GCC
Ahmed Ismail 78e0cc778a
ARMv8.1-M: Add task dedicated PAC key support (#1195)
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 saved in the task's context when a task is created.
* As part of scheduling, the task's PAC key is stored/restored to/from the task's context when a task is unscheduled/scheduled from/to run.

stack-overflow-check: Introduce portGET_CURRENT_TOP_OF_STACK macro

When MPU wrapper v2 is used, the task's context is stored in TCB and `pxTopOfStack`` member of TCB points to the context location in TCB. We, therefore, need to read PSP to find the task's current top of stack.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
2025-01-14 10:50:52 +05:30
..
ARM7_AT91FR40008
ARM7_AT91SAM7S Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
ARM7_LPC23xx
ARM7_LPC2000
ARM_AARCH64 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_AARCH64_SRE Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CA9 Fix function parameter shadowing global variable. (#1221) 2025-01-13 14:48:10 -08:00
ARM_CA53_64_BIT
ARM_CA53_64_BIT_SRE
ARM_CM0 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
ARM_CM3 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM3_MPU Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM4_MPU Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM4F Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM7 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM23 ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM23_NTZ/non_secure ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM33 ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM33_NTZ/non_secure ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM35P ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM35P_NTZ/non_secure ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM55 ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM55_NTZ/non_secure ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM85 ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CM85_NTZ/non_secure ARMv8.1-M: Add task dedicated PAC key support (#1195) 2025-01-14 10:50:52 +05:30
ARM_CR5 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CRx_MPU Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
ARM_CRx_No_GIC
ATMega323
AVR32_UC3 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
AVR_AVRDx
AVR_Mega0
ColdFire_V2
CORTUS_APS3
H8S2329
HCS12
IA32_flat
MCF5235
MicroBlaze
MicroBlazeV8
MicroBlazeV9
MSP430F449
NiosII
PPC405_Xilinx
PPC440_Xilinx
RISC-V Removing the old -RV32 directory name from parts of the documentation (#1196) 2024-11-20 12:08:15 +05:30
RL78
RX100 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX200 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX600 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX600v2 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX700v3_DPFPU Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
STR75x
TriCore_1782