FreeRTOS-Kernel/portable/IAR
Ahmed Ismail f965eda041
Add Multicore SMP on Armv8-M ports (#1385)
* ARMv8-M: Add SMP support to CM33 NTZ non-MPU port

* Enable SMP for Arm Cortex-M33 NTZ port for
GCC, ArmClang, and IAR toolchains.
* Add per-core scheduler/port state: critical nesting.
* Introduce spinlocks and inter-core yield/wakeup (SEV/WFE) plus
primary/secondary core bring-up sync.
* Update PendSV (i.e., context switch assembly) for core-safe
preemption and restore paths.
* Extend port macros/hooks for SMP in portmacrocommon.h,
single-core builds remain unchanged.
* Add the SMP boot sequence along with the necessary steps to enable
SMP on Armv8-M based ports. This should help developers understand
the requirements and process for enabling SMP on their
Armv8-M based applications.
* Update the kernel checker script to accept comma separated years
in the copyright header.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>

* Armv8-M: Copy SMP changes to all Armv8-M based ports

This commit executes the `copy_files.py` python script
to copy the changes applied in the previous commit
(i.e., SMP changes) to all the Armv8-M based ports.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>

---------

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
2026-04-03 00:10:12 +00:00
..
78K0R Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM_CA5_No_GIC Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM_CA9 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM0 Update broken links in readme and comments (#1110) 2024-08-05 16:00:47 +05:30
ARM_CM3 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_CM4F_MPU cortex-M ports: Clarify hardware-saved exception frame size variable (#1314) 2025-09-09 14:25:42 +08:00
ARM_CM7 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM23 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM23_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM33 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM33_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM35P Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM35P_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM52 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM52_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM55 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM55_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM85 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CM85_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_CRx_No_GIC fix typos in comments: interace -> interface, swtich -> switch (#1022) 2024-04-08 17:50:55 -07:00
ARM_STAR_MC3 Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ARM_STAR_MC3_NTZ/non_secure Add Multicore SMP on Armv8-M ports (#1385) 2026-04-03 00:10:12 +00:00
ATMega323 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AtmelSAM7S64 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
AtmelSAM9XE 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 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AVR_Mega0 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
LPC2000 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MSP430 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MSP430X Remove hardware dependence in portmacros.h (#1112) 2024-08-19 11:31:30 +05:30
RISC-V Use UBaseType_t for ullMachineTimerCompareRegisterBase (#1258) 2025-03-17 16:41:11 +05:30
RL78 fix[RL78 Port] incorrect register image for pvParameters in FAR model (#1316) (#1317) 2025-10-06 18:37:11 +05:30
RX100 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
RX700v3_DPFPU Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RXv2 Add CFI frame unwind info in portable/IAR/RXv2/port_asm.s (#1341) 2026-01-12 17:53:32 +05:30
STR71x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
STR75x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
STR91x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
V850ES Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00