CM33 missing vPortValidateInterruptPriority

Hello

I am using the latest CM33 gcc port (portable\GCC\ARM_CM33_NTZ\non_secure) and saw that they do not check the interrupt priorities. All other Cortex-M ports check them using the configMAX_SYSCALL_INTERRUPT_PRIORITY and provide the function vPortValidateInterruptPriority() used in the macro portASSERT_IF_INTERRUPT_PRIORITY_INVALID(). However, this macro is empty in all CM33 ports. In my opinion, this check is also necessary for the CM33. Is that a bug or omitted on purpose?
Thank you,
Peter

This is a missing feature. Thank you for bringing it to our attention - we will add it.

Thanks.

Thank you for this clarification. I think it is important because I tracked down a sporadic bug in my application, where a task object was corrupted. The reason for that was my own ISR running at priority 0 and calling a FreeRTOS ISR function, which is not allowed at priority 0. With the check mentioned above, an assertion would have failed.

Agreed that it is a pretty useful check.

Hi,

Any timeframe when this will be added? This will really help solve an issue I am currently experiencing.

The master copy of those port layers is here if you would like to add the code and create a pull request to get the change upstreamed. I think the code can be copied from the ARMv7-M version.

I’ve created a Feature Request to track this addition.

I did not find vPortValidateInterruptPriority() in GitHub FreeRTOS/FreeRTOS-Kernel/blob/main/portable/ARMv8M/non_secure/port.c , what is the status?

You can see that this issue is still open which means that it is not done yet. We always welcome contributions :slight_smile: