Add a config option to set unique PAC keys per thread and
make sure to retain them during context switch.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
Add initial support for the Cortex-M52 Core which is an implementation
of the Armv8.1-M mainline architecture.
The support is based on the Cortex-M55 support that already exists in
Zephyr.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
The current code base is meant to use cmsis for Cortex A and R and
cmsis_6 for Cortex M, but the build system is configured to include the
path for both when Cortex M is selected. This leaves us exposed to PR
using the old headers, that would not get caught in CI but would fail
the build on a project using Cortex M that only has the cmsis_6 module.
Change the cmsis module setting to only include the module files in the
intended case.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
As noted in PR #89370, the content of these files falls below the
trivial threshold. Therefore, it is not necessary to retain the original
copyright, which was carried over when the files were copied from the
`cmsis` module.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
What is the change?
Switch to module CMSIS_6 for Cortex-M while continuing to use
cmsis module (version 5.9.0) for Cortex-A/R.
Why do we need this change?
The current cmsis module consists of:
- Cortex-M support from upstream cmsis 5.9.0
- Cortex-A/R support which was not upstreamed to CMSIS
Upstream cmsis 5.9 was deprecated so we should be using CMSIS_6 however,
it seems due to lack of Cortex-A/R support in upstream and other reasons,
this was pushed back.
While upstreaming Cortex-A/R support to CMSIS_6 could take its time,
this shouldn't stop Cortex-M to start using CMSIS_6.
Also, if we do not use CMSIS_6 for Cortex-M then using the
newer GCC 14.2 toolchain will return below compiler error:
```
zephyrproject/modules/hal/cmsis/CMSIS/Core/Include/core_cm85.h:4406:10:
fatal error: pac_armv81.h: No such file or directory
4406 | #include "pac_armv81.h"
```
Using CMSIS_6 for Cortex-M will fix this.
Signed-off-by: Sudan Landge <sudan.landge@arm.com>