Commit f965eda
authored
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>1 parent c5c6f15 commit f965eda
121 files changed
Lines changed: 14695 additions & 3894 deletions
File tree
- .github
- scripts
- portable
- ARMv8M/non_secure
- portable
- GCC
- ARM_CM23_NTZ
- ARM_CM23
- ARM_CM33_NTZ
- ARM_CM33
- ARM_CM35P
- ARM_CM52
- ARM_CM55
- ARM_CM85
- ARM_STAR_MC3
- IAR
- ARM_CM23_NTZ
- ARM_CM23
- ARM_CM33_NTZ
- ARM_CM33
- ARM_CM35P
- ARM_CM52
- ARM_CM55
- ARM_CM85
- ARM_STAR_MC3
- GCC
- ARM_CM23_NTZ/non_secure
- ARM_CM23/non_secure
- ARM_CM33_NTZ/non_secure
- ARM_CM33/non_secure
- ARM_CM35P_NTZ/non_secure
- ARM_CM35P/non_secure
- ARM_CM52_NTZ/non_secure
- ARM_CM52/non_secure
- ARM_CM55_NTZ/non_secure
- ARM_CM55/non_secure
- ARM_CM85_NTZ/non_secure
- ARM_CM85/non_secure
- ARM_STAR_MC3_NTZ/non_secure
- ARM_STAR_MC3/non_secure
- IAR
- ARM_CM23_NTZ/non_secure
- ARM_CM23/non_secure
- ARM_CM33_NTZ/non_secure
- ARM_CM33/non_secure
- ARM_CM35P_NTZ/non_secure
- ARM_CM35P/non_secure
- ARM_CM52_NTZ/non_secure
- ARM_CM52/non_secure
- ARM_CM55_NTZ/non_secure
- ARM_CM55/non_secure
- ARM_CM85_NTZ/non_secure
- ARM_CM85/non_secure
- ARM_STAR_MC3_NTZ/non_secure
- ARM_STAR_MC3/non_secure
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
| 436 | + | |
436 | 437 | | |
437 | 438 | | |
438 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
| 161 | + | |
160 | 162 | | |
161 | 163 | | |
162 | | - | |
| 164 | + | |
163 | 165 | | |
164 | 166 | | |
165 | 167 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
0 commit comments