[Bug 2082] New: Nested interrupts broken since inclusion of smp changes
bugzilla-daemon at rtems.org
bugzilla-daemon at rtems.org
Fri Nov 30 10:36:15 UTC 2012
https://www.rtems.org/bugzilla/show_bug.cgi?id=2082
Bug #: 2082
Summary: Nested interrupts broken since inclusion of smp
changes
Classification: Unclassified
Product: RTEMS
Version: HEAD
Platform: sparc
OS/Version: RTEMS
Status: NEW
Severity: normal
Priority: P3
Component: bsps
AssignedTo: joel.sherrill at oarcorp.com
ReportedBy: Pierre.Willenbrock at dfki.de
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.
--
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