[RTEMS Project] #4627: Multitasking start is broken on SMP targets which do not restore the interrupt state during context switching
RTEMS trac
trac at rtems.org
Wed Mar 9 20:01:38 UTC 2022
#4627: Multitasking start is broken on SMP targets which do not restore the
interrupt state during context switching
-----------------------------+------------------------------
Reporter: Sebastian Huber | Owner: Sebastian Huber
Type: defect | Status: closed
Priority: normal | Milestone: 6.1
Component: score | Version: 5
Severity: normal | Resolution: fixed
Keywords: qualification | Blocked By:
Blocking: |
-----------------------------+------------------------------
Changes (by Sebastian Huber <sebastian.huber@…>):
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"32f0f11a68d3aa521f0398c9b8eec3d47f114c5e/rtems"
32f0f11/rtems]:
{{{
#!CommitTicketReference repository="rtems"
revision="32f0f11a68d3aa521f0398c9b8eec3d47f114c5e"
SMP: Fix start multitasking for some targets
The previous SMP multitasking start assumed that the initial heir thread
of a
processor starts execution in _Thread_Handler(). The _Thread_Handler()
sets
the interrupt state explicitly by _ISR_Set_level() before it calls the
thread
entry. Under certain timing conditions, processors may perform an initial
context switch to a thread which already executes its thread body (see
smptests/smpstart01). In this case, interrupts are disabled after the
context
switch on targets which do not save/restore the interrupt state during a
context switch (aarch64, arm, and riscv).
Close #4627.
}}}
--
Ticket URL: <http://devel.rtems.org/ticket/4627#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list