FreeRTOS-Kernel/portable/GCC
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
..
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 portable: aarch64_sre: Add support for vApplicationFPUSafeIRQHandler 2025-01-22 17:00:50 -08:00
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 cortex-M ports: Clarify hardware-saved exception frame size variable (#1314) 2025-09-09 14:25:42 +08:00
ARM_CM3 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM3_MPU cortex-M ports: Clarify hardware-saved exception frame size variable (#1314) 2025-09-09 14:25:42 +08:00
ARM_CM4_MPU cortex-M ports: Clarify hardware-saved exception frame size variable (#1314) 2025-09-09 14:25:42 +08:00
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 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_CR5 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CR82 Arm-Cortex-R82: Add MPU support (#1347) 2026-02-11 10:18:55 +05:30
ARM_CRx_MPU remove stray semicolon from gcc-ARM_CRx_MPU port.c 2026-01-29 17:28:28 -08:00
ARM_CRx_No_GIC fix: Add big-endian support to ARM_CRx_No_GIC port (#1355) 2026-01-12 21:22:07 +05:30
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
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 riscv: refine vector context layout on stack (#1329) 2025-11-04 08:44:16 -08:00
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