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 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM7_AT91SAM7S Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
ARM7_LPC23xx Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM7_LPC2000 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
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 fix typos in comments: interace -> interface, swtich -> switch (#1022) 2024-04-08 17:50:55 -07:00
ARM_CA53_64_BIT_SRE fix typos in comments: interace -> interface, swtich -> switch (#1022) 2024-04-08 17:50:55 -07:00
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 Add support for vApplicationFPUSafeIRQHandler (#1113) 2024-08-08 21:07:11 +05:30
ATMega323 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AVR32_UC3 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
AVR_AVRDx Remove AVR ports from main repo (#394) 2021-09-14 19:25:46 -07:00
AVR_Mega0 Remove AVR ports from main repo (#394) 2021-09-14 19:25:46 -07:00
ColdFire_V2 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
CORTUS_APS3 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
H8S2329 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
HCS12 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
IA32_flat Fix IA32 compilation with common IRQ entry disabled (#1137) 2024-09-09 12:54:38 +05:30
MCF5235 Replace two dashes and one whitespace with their corresponding ASCII characters. (#362) 2021-06-30 15:07:55 -07:00
MicroBlaze Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MicroBlazeV8 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MicroBlazeV9 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MSP430F449 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
NiosII Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
PPC405_Xilinx Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
PPC440_Xilinx Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
RISC-V Removing the old -RV32 directory name from parts of the documentation (#1196) 2024-11-20 12:08:15 +05:30
RL78 [Fixed the Issue] Fixed the Issue#1102 of RL78 of the Context switch issue. https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/1102 (#1157) 2024-10-15 11:09:45 +05:30
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 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
TriCore_1782 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00