#4672 closed defect (fixed)

Thread-local storage should be usable once an idle thread exists

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 6.1
Component: score Version: 6
Severity: normal Keywords: qualification
Cc: Blocked By:
Blocking: #4560, #4668

Description

At some point during system initialization the idle threads are created. Afterwards the boot processor basically executes within the context of an idle thread with thread dispatching disabled. On some architectures, the thread-local storage state must be applied to processor registers. Add a new CPU port function to do this: _CPU_Use_thread_local_storage( Context_Control *executing ).

Change History (4)

comment:1 Changed on 07/01/22 at 09:52:49 by Sebastian Huber

Blocking: 4668 added

comment:2 Changed on 07/04/22 at 06:03:20 by Sebastian Huber <sebastian.huber@…>

In d07d6498/rtems:

samples/cdtest: Test exceptions during system init

Update #4668.
Update #4672.

comment:3 Changed on 07/05/22 at 05:38:53 by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In 03e4d1e9/rtems:

score: Add _CPU_Use_thread_local_storage()

At some point during system initialization, the idle threads are created.
Afterwards, the boot processor basically executes within the context of an idle
thread with thread dispatching disabled. On some architectures, the
thread-local storage area of the associated thread must be set in dedicated
processor registers. Add the new CPU port function to do this:

void _CPU_Use_thread_local_storage( const Context_Control *context )

Close #4672.

comment:4 Changed on 10/11/23 at 09:29:39 by Sebastian Huber

Keywords: qualification added
Note: See TracTickets for help on using tickets.