jsanchez-2g opened a new pull request, #20496: URL: https://github.com/apache/nuttx/pull/20496
## Summary STM32H7 debug builds panic on a legitimate PendSV when `CONFIG_ARCH_HIPRI_INTERRUPT=y`. The common ARMv7-M `arm_doirq()` dispatches the interrupt for deferred processing, but the STM32H7 handler unconditionally calls `PANIC()`. Guard the panic with `#ifndef CONFIG_ARCH_HIPRI_INTERRUPT`. The handler returns normally when high-priority interrupt support is enabled; the fatal diagnostic remains when it is disabled. No Apps changes are required. ## Impact Fixes STM32H7 behavior with debug and high-priority interrupts enabled. No new feature, API, configuration option, build procedure, documentation requirement, or user migration. No intended security or compatibility change. ## Testing Hardware: 2G Conductor, STM32H743BI, out-of-tree `conductor:G005251/conductor_lua_eth` configuration with `CONFIG_DEBUG_FEATURES=y` and `CONFIG_ARCH_HIPRI_INTERRUPT=y`. Before: build 834 (NuttX 12.10.0-based 2G integration, 2026-10-02) built successfully but repeatedly panicked during early boot. The captured serial output includes: ```text Trying W25 flash stm32_pendsv: PANIC!!! PendSV received dump_assert_info: Current Version: NuttX 12.10.0 955452ac77c-dirty Oct 2 2026 14:32:09 arm ``` After: the identical two-line guard was applied in build 835, which the board operator reported passed hardware verification on 2026-10-02. No passing serial capture was supplied. It remained applied through checkpoint-06 build 866, built using `make -j1 V=1` on Linux x86_64 with arm-none-eabi-gcc 13.2.1, and hardware verified by the board operator on 2026-10-07. Archived ELF, BIN, HEX, map, configuration, checksums, build logs, and acceptance records identify the tested images. Build 866 completed compilation, linking, and HEX/BIN generation with exit status 0. All 41 host regression tests passed, including the PendSV handler test for high-priority interrupts enabled and disabled. These test images contain other 2G integration changes and local patches. They are not builds of the isolated Apache-master PR branch. The historical failure predates the Apache master baseline; current source inspection confirms the unconditional handler remains. There is no claim of captured passing runtime logs or pristine-Apache before/after hardware testing. ## PR verification Self-Check - [x] This PR introduces only one functional change. - [x] Summary and impact describe the final change. - [x] Contribution checks and human sign-off complete. - [ ] Work in progress. - [x] Ready for review; testing scope and evidence limitations are disclosed above. -- 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]
