-
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
base: main
Are you sure you want to change the base?
Armv8.1-m: Add pacbti support #1147
Conversation
As the case for ARMClang, and GCC toolchains, IAR with TFM FreeRTOS Port support is added. Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
3a52b68
to
ef74d93
Compare
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 <Ahmed.Ismail@arm.com>
ef74d93
to
a61bc5f
Compare
In this commit, 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. Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
a61bc5f
to
2fab8cb
Compare
Quality Gate passedIssues Measures |
@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 <aggarg@amazon.com>
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 <aggarg@amazon.com>
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.