[Bug 2082] Nested interrupts broken since inclusion of smp changes

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Fri Nov 30 13:49:58 UTC 2012


https://www.rtems.org/bugzilla/show_bug.cgi?id=2082

Gedare <gedare at rtems.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gedare at rtems.org

--- Comment #1 from Gedare <gedare at rtems.org> 2012-11-30 07:49:58 CST ---
(In reply to comment #0)
> Commit 0bd3f7e5d12fdbfb5bf4aa4a4169c67bfd92c988 changed
> c/src/lib/libbsp/sparc/shared/irq_asm.S in a way that allows the current
> register window of the interrupted code to be stored in its own stack frame,
> instead of in the interrupt stack frame, as expected by simple_return.
> 
> To avoid this, interrupts must stay disabled until after the "mov %sp, %fp"
> instruction is executed.
> 
> That instruction points the %sp of the interrupted code to the ISF, so a window
> overflow puts the register contents there(at CPU_STACK_FRAME_*). The correct
> %sp of the interrupted code is restored from the ISF_I6_OFFSET of the ISF
> during simple_return.
> 
> In the non-smp case, simply exchanging the whole stack switch with the code
> manipulating the psr works.

Could you submit a patch?

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list