RTEMS | MicroBlaze interrupts cleanup before enabling MER (!845)
Sam Price (@TheSamPrice)
gitlab at rtems.org
Mon Nov 24 04:49:15 UTC 2025
Sam Price started a new discussion on bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/845#note_136228
> mfs r3, rmsr
> swi r3, r1, MICROBLAZE_INTERRUPT_FRAME_MSR
>
> - /* Indicate unknown interrupt source */
> - braid _ISR_Handler
> + /* Indicate unknown interrupt source; 0xFF tells _ISR_Handler to query the INTC. */
> + /* Use addik so MSR flags stay unchanged before calling the handler. */
> + /* Keep the branch delay slot empty to avoid side effects. */
> addik r5, r0, 0xFF
> +
> + /* braid has a delay slot; use a harmless nop there. */
> + braid _ISR_Handler
> + nop
This needs reverted.
d stands for delay.
the instruction after braid will happen prior to the branch.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/845#note_136228
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20251124/7b5bea33/attachment-0001.htm>
More information about the bugs
mailing list