| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Set CPU_ENABLE_ROBUST_THREAD_DISPATCH to TRUE. In this case the
interrupts are always enabled during a context switch even after
interrupt processing (see #2751). Remove the CPSR from the context
control since it contains only volatile bits.
Close #2954.
|
|
|
|
| |
Do not touch the FPSCR[QC] bit since this is DNM/RAZ on Cortex-R4.
|
| |
|
|
|
|
|
|
|
|
|
| |
Check that no ask help request is registered during unblock and yield
scheduler operations. There is no need to ask for help if a scheduled
thread yields, since this is already covered by the pre-emption
detection.
Update #2556.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Move _Thread_Scheduler_ask_for_help(), rename it to
_Thread_Ask_for_help() and make it static.
|
|
|
|
|
|
|
|
|
|
|
| |
Only register ask for help requests in the scheduler unblock and yield
operations. The actual ask for help operation is carried out during
_Thread_Do_dispatch() on a processor related to the thread. This yields
a better separation of scheduler instances. A thread of one scheduler
instance should not be forced to carry out too much work for threads on
other scheduler instances.
Update #2556.
|
|
|
|
|
|
|
| |
Do not adjust the stack pointer, since this is already done by the
restor instruction.
Update #2270.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the special thread queue name _Thread_queue_Object_name to mark
thread queues embedded in an object with identifier. Using the special
thread state STATES_THREAD_QUEUE_WITH_IDENTIFIER is not reliable for
this purpose since the thread wait information and thread state are
protected by different SMP locks in separate critical sections. Remove
STATES_THREAD_QUEUE_WITH_IDENTIFIER.
Add and use _Thread_queue_Object_initialize().
Update #2858.
|
| |
|
|
|
|
| |
Close #2890.
|
|
|
|
|
|
|
|
|
| |
It is necessary to enable the DWT using a special initialization
sequence before the CYCCNT can be enabled. See for example the
RESET_CYCLE_COUNTER in libbsp/arm/atsam/utils/utility.h.
Note that this problem only occurs if no debugger is connected. A
debugger most likely already enables the necessary module.
|
|
|
|
| |
Update #1747.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Use forward and reverse order for initial and dynamic extensions. This
is the behaviour documented in the C Users Guide. Change thread
terminate order to backward to be in line with the thread delete order.
Change fatal error order to forward to ensure that initial extensions
are called first due the peculiar execution context of fatal error
extensions, see _Terminate() documentation.
Update #2692.
|
|
|
|
|
|
|
|
|
|
| |
Since the FP area pointer is passed by reference in
_CPU_Context_Initialize_fp() the optional FP area adjustment via
_CPU_Context_Fp_start() is superfluous. It is also wrong with respect
to memory management, e.g. pointer passed to _Workspace_Free() may be
not the one returned by _Workspace_Allocate().
Close #1400.
|
| |
|
|
|
|
| |
Close #2352.
|
|
|
|
|
|
| |
Use de-facto standard BYTE_ORDER instead.
Close #2803.
|
|
|
|
|
|
|
|
|
| |
Add POSIX shared memory manager (Shm). Includes a hook-based
approach for the backing memory storage that defaults to the
Workspace, and a test is provided using the heap. A test is
also provided for the basic use of mmap'ing a shared memory
object. This test currently fails at the mmap stage due to
no support for mmap.
|
| |
|
|
|
|
|
|
| |
Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE.
Update #2858.
|
|
|
|
| |
Update #2858.
|
|
|
|
| |
Update #2858.
|
|
|
|
| |
Update #2858.
|
| |
|
|
|
|
|
|
|
|
| |
Replace STATES_DELAYING with STATES_WAITING_FOR_TIME.
There is no need for separate timeout thread states. The
Thread_Control::Timer::header and Watchdog_Control::cpu members can be
used to figure out the kind of timeout.
|
| |
|
|
|
|
|
| |
The CPU index starts with zero. Increment it by one, to allow global
SMP locks to reside in the BSS section.
|
| |
|
|
|
|
|
| |
Add thread state bit to identify thread queues that are embedded in an
object with identifier.
|
| |
|
|
|
|
| |
Specify all 32-bits in a thread state define.
|
|
|
|
| |
Only require that the Newlib defined structure is big enough.
|
| |
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|