-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Armv8.1-m: Add pacbti support #1147
Armv8.1-m: Add pacbti support #1147
Conversation
3a52b68
to
ef74d93
Compare
a61bc5f
to
2fab8cb
Compare
@AhmedIsmail02 Thank you for your contribution. I reviewed the code and I have the following suggestions -
All my suggestions are in this patch - 0001-Code-review-suggestions.patch. Please apply this patch. Also, I think we do not need |
@aggarg Thank you for your suggestions. I do agree with almost all the code suggestions in the patch. Regarding the changes in Before: After: Thanks! |
Thank you @AhmedIsmail02 for looking at my suggestions.
Understood. But can I not set the correct options for my compiler using my IDE and then set the FreeRTOS flags in FreeRTOSConfig.h? And with that we should be able to support CMake as well:
This way CMake users can still set |
This allows derived classes to override customCheck method to inject additional checks for some files. This is currently needed to accept ARM copyright in ARMv8-M files - FreeRTOS/FreeRTOS-Kernel#1147. Signed-off-by: Gaurav Aggarwal <[email protected]>
Please apply the following patch to address CI header check failure - header_check.patch. This will also require that this PR is merged - FreeRTOS/FreeRTOS#1285. |
This allows derived classes to override customCheck method to inject additional checks for some files. This is currently needed to accept ARM copyright in ARMv8-M files - FreeRTOS/FreeRTOS-Kernel#1147. Signed-off-by: Gaurav Aggarwal <[email protected]>
d0ead8b
to
ef388c1
Compare
Hi @aggarg, Thanks! |
3f24cde
to
9e24b0f
Compare
FreeRTOS Arm collab files shall have both Amazon's and Arm's copyright headers. Hence, the copyright checker is modified to check for both copyrights. Signed-off-by: Gaurav Aggarwal <[email protected]>
As the case for ARMClang, and GCC toolchains, IAR with TFM FreeRTOS Port support is added. Signed-off-by: Ahmed Ismail <[email protected]>
The current ARMv8-M FreeRTOS-Kernel Port code implementation is modified in a way that allows the CONTROL register's value to be retained rather than being overwritten. This is needed for adding PACBTI support as the special-purpose CONTROL register `PAC_EN`, `UPAC_EN`, `BTI_EN`, and `UBTI_EN` PACBTI enablement bits should be configured before calling `vRestoreContextOfFirstTask()` function which currently overwrite the value inside the CONTROL register. Signed-off-by: Ahmed Ismail <[email protected]>
In this commit, Pointer Authentication, and Branch Target Identification Extension (PACBTI) support is added for Non-Secure and Non-TrustZone variants of Cortex-M85 FreeRTOS-Kernel Port. The PACBTI support is added for Arm Compiler For Embedded, and IAR toolchains only. The support in the kernel is not yet enabled for GNU toolchain due to known issues. Signed-off-by: Ahmed Ismail <[email protected]>
bdc4b61
to
11fe156
Compare
Signed-off-by: Gaurav Aggarwal <[email protected]>
Quality Gate passedIssues Measures |
Description
In this Pull Request, Pointer Authentication, and Branch Target Identification Extension (PACBTI) support is added for Non-TrustZone variant of Cortex-M85 FreeRTOS-Kernel Port.
The PACBTI support is added for Arm Compiler For Embedded, and IAR toolchains only. The support in the kernel is not yet enabled for GNU toolchain due to known issues.
Blocks FreeRTOS-Partner-Supported-Demos PR!17
Test Steps
Checklist:
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.