summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-10-09score: Change Timestamp_Control to sbintime_tSebastian Huber1-0/+19
The timestamp are based on the uptime. There is no need for a 64-bit seconds part. The signed 32-bit seconds part of the sbintime_t limits the uptime to roughly 68 years. Close #2740.
2017-10-09score: Use struct timespec for TODSebastian Huber3-11/+11
Use the timestamps only for uptime based values. Use struct timespec for the absolute time values (TOD). Update #2740.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber1-10/+1
POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
2017-10-05posix: Implement self-contained POSIX rwlocksSebastian Huber4-26/+21
POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
2017-10-05posix: Implement self-contained POSIX semaphoresSebastian Huber1-60/+13
For semaphore object pointer and object validation see POSIX_SEMAPHORE_VALIDATE_OBJECT(). Destruction or close of a busy semaphore returns an error status. The object is not flushed. POSIX semaphores are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3116.
2017-10-05posix: Optimize pthread_once_tSebastian Huber1-1/+1
Reduce size of pthread_once_t and make it zero-initialized. Update #3142.
2017-09-27score: Simplify red-black tree debug supportSebastian Huber2-5/+17
Make the RBTree_Node layout independent of RTEMS_DEBUG (and all other build configuration options). This allows the use of this structure in Newlib. Update #3112.
2017-09-19score: Include missing <limits.h>Sebastian Huber1-0/+2
Update #2132. Close #3140.
2017-08-25Include missing <limits.h>Sebastian Huber1-0/+1
Update #2132.
2017-08-25Include missing <string.h>Sebastian Huber1-0/+2
Update #2133.
2017-08-22score: Fix format specifierSebastian Huber1-1/+1
Update #3082.
2017-07-25score: Add optional _CPU_Context_Destroy()Sebastian Huber1-1/+1
Update #3077.
2017-07-18score: Fix warningSebastian Huber1-1/+1
Update #3059.
2017-07-10score: Add simple affinity support to EDF SMPSebastian Huber6-92/+387
Update #3059.
2017-07-07score: Add scheduler node to set affinity opSebastian Huber3-14/+8
Update #3059.
2017-07-07score: Introduce _SMP_Get_online_processors()Sebastian Huber2-2/+5
Update #3059.
2017-07-07score: Use processor mask for set affinitySebastian Huber3-21/+27
Update #3059.
2017-07-07score: Add processor set to scheduler contextSebastian Huber1-3/+2
Replace the simple processor count with the processor set owned by the scheduler instance. Update #3059.
2017-07-07score: Move processor affinity to Thread_ControlSebastian Huber5-81/+12
Update #3059.
2017-07-06score: Add processor mask to/from cpu_set_tSebastian Huber1-0/+75
Update #3059.
2017-07-06score: Use <sys/bitset.h> for Processor_maskSebastian Huber2-12/+12
Implement the Processor_mask via <sys/bitset.h>. Provide _Processor_mask_To_uint32_t() to enable its use in device specific routines, e.g. interrupt affinity register in an interrupt controller. Update #3059.
2017-07-05score: Fix formatSebastian Huber1-14/+7
2017-07-05score: Avoid clash with <strings.h> provided fls()Sebastian Huber1-1/+2
2017-07-04score: Add assert to _Thread_Dispatch()Sebastian Huber1-0/+1
Update #3060.
2017-06-29score: Add SMP EDF schedulerSebastian Huber3-16/+515
Update #3056.
2017-06-29score: Add red-black tree node to Scheduler_NodeSebastian Huber4-17/+23
In SMP configurations, add a red-black tree node to Scheduler_Node to enable an EDF scheduler implementation. Update #3056.
2017-06-14score: Remove rtems_ada_selfSebastian Huber1-8/+0
This task variable is superfluous since we use thread-local storage now. Update #2289.
2017-06-07Fix CPU_COPY() usageSebastian Huber1-2/+2
The original CPU_COPY() support of Newlib <sys/cpuset.h> had the parameters in the wrong order. This is fixed in Newlib since 2017-05-22. Update #3023.
2017-04-05SMP: Simplify SMP multicast actionsSebastian Huber2-58/+51
2017-03-07score: Fix scheduler yield in SMP configurationsSebastian Huber1-0/+38
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.
2017-02-15score: Fix warningSebastian Huber1-0/+2
2017-02-14score: Fix warning in _Thread_Set_name()Sebastian Huber1-1/+1
2017-02-03score: Move _Thread_Scheduler_ask_for_help()Sebastian Huber2-34/+34
Move _Thread_Scheduler_ask_for_help(), rename it to _Thread_Ask_for_help() and make it static.
2017-02-03score: Improve scheduler helping protocolSebastian Huber11-37/+21
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.
2017-01-31score: Add _Thread_queue_Object_nameSebastian Huber13-22/+62
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.
2017-01-31score: Fix _Thread_Initialize()Sebastian Huber1-2/+2
2017-01-26score: Fix user extensions orderSebastian Huber1-11/+22
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.
2017-01-26score: Delete _CPU_Context_Fp_start()Sebastian Huber1-1/+0
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.
2017-01-13configure: Remove HAVE_STRUCT__THREAD_QUEUE_QUEUESebastian Huber6-24/+0
2017-01-13score: Add _Thread_Set_name()Sebastian Huber1-0/+20
Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE. Update #2858.
2017-01-13score: Add and use _Thread_Get_name()Sebastian Huber1-0/+37
Update #2858.
2017-01-13score: Add Thread_queue_Queue::nameSebastian Huber5-9/+15
Update #2858.
2017-01-13score: Add and use _Objects_Name_to_string()Sebastian Huber1-27/+58
Update #2858.
2017-01-11Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__Joel Sherrill4-61/+46
2017-01-11score: Improve SMP lock debug supportSebastian Huber2-3/+3
The CPU index starts with zero. Increment it by one, to allow global SMP locks to reside in the BSS section.
2017-01-11score: Add STATES_THREAD_QUEUE_WITH_IDENTIFIERSebastian Huber11-19/+11
Add thread state bit to identify thread queues that are embedded in an object with identifier.
2016-12-23score: Relax <sys/lock.h> static assertionsSebastian Huber5-9/+9
Only require that the Newlib defined structure is big enough.
2016-12-12score: Introduce _Internal_error()Sebastian Huber12-35/+24
2016-12-09score: Remove fatal is internal indicatorSebastian Huber14-81/+20
The fatal is internal indicator is redundant since the fatal source and error code uniquely identify a fatal error. Keep the fatal user extension is internal parameter for backward compatibility and set it to false always. Update #2825.
2016-12-02score: Initialize thread queue context earlySebastian Huber2-3/+6
Initialize thread queue context early preferably outside the critical section. Remove implicit _Thread_queue_Context_initialize() from _Thread_Wait_acquire().