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]

Reply via email to