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