On Sat, 9 Mar 2024, Michael Schmitz wrote:
I notice legacy_timer_tick() states it must be called with interrupts disabled. We do not explicitly do that in via_timer_handler(), but rely on the IPL remaining high. Maybe adding local_irq_save(flags) / local_irq_restore(flags) around the legacy_timer_tick() call would help debug this?
If legacy_timer_tick() is sensitive to execution context, why not test the IPL with an assertion? That way you can catch that problem on Aranym as well as Qemu.