hartmannathan commented on PR #15086:
URL: https://github.com/apache/nuttx/pull/15086#issuecomment-2529624469
Sorry, I missed this PR before it was merged, but this PR breaks High
Priority, Zero Latency Interrupts!
See the help text for ARMV7M_USEBASEPRI, which was removed in this PR:
```
config ARMV7M_USEBASEPRI
bool "Use BASEPRI Register"
default ARCH_HIPRI_INTERRUPT
depends on ARCH_CORTEXM3 || ARCH_CORTEXM4 || ARCH_CORTEXM7
---help---
Use the BASEPRI register to enable and disable interrupts. By
default, the PRIMASK register is used for this purpose. This
usually results in hardfaults when supervisor calls are made.
Though, these hardfaults are properly handled by the RTOS, the
hardfaults can confuse some debuggers. With the BASEPRI
register, these hardfaults, will be avoided. For more details
see
https://cwiki.apache.org/confluence/display/NUTTX/ARMv7-M+Hardfaults%2C+SVCALL%2C+and+Debuggers
WARNING: If CONFIG_ARCH_HIPRI_INTERRUPT is selected, then you
MUST select CONFIG_ARMV7M_USEBASEPRI. The Kconfig dependencies
here will permit to select an invalid configuration because it
cannot enforce that requirement. If you create this invalid
configuration, you will encounter some problems that may be
very difficult to debug.
```
Also see
https://nuttx.apache.org/docs/latest/guides/zerolatencyinterrupts.html
Important note: If this feature is removed from NuttX, then NuttX is
completely useless to me and my employer! We depend on the Zero Latency
Interrupts for critical parts of our firmware!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]