summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Change Timestamp_Control to sbintime_tSebastian Huber2017-10-091-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.
* score: Use struct timespec for TODSebastian Huber2017-10-093-11/+11
| | | | | | | Use the timestamps only for uptime based values. Use struct timespec for the absolute time values (TOD). Update #2740.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-051-10/+1
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-054-26/+21
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX semaphoresSebastian Huber2017-10-051-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.
* posix: Optimize pthread_once_tSebastian Huber2017-10-051-1/+1
| | | | | | Reduce size of pthread_once_t and make it zero-initialized. Update #3142.
* score: Simplify red-black tree debug supportSebastian Huber2017-09-272-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.
* score: Include missing <limits.h>Sebastian Huber2017-09-191-0/+2
| | | | | Update #2132. Close #3140.
* Include missing <limits.h>Sebastian Huber2017-08-251-0/+1
| | | | Update #2132.
* Include missing <string.h>Sebastian Huber2017-08-251-0/+2
| | | | Update #2133.
* score: Fix format specifierSebastian Huber2017-08-221-1/+1
| | | | Update #3082.
* score: Add optional _CPU_Context_Destroy()Sebastian Huber2017-07-251-1/+1
| | | | Update #3077.
* score: Fix warningSebastian Huber2017-07-181-1/+1
| | | | Update #3059.
* score: Add simple affinity support to EDF SMPSebastian Huber2017-07-106-92/+387
| | | | Update #3059.
* score: Add scheduler node to set affinity opSebastian Huber2017-07-073-14/+8
| | | | Update #3059.
* score: Introduce _SMP_Get_online_processors()Sebastian Huber2017-07-072-2/+5
| | | | Update #3059.
* score: Use processor mask for set affinitySebastian Huber2017-07-073-21/+27
| | | | Update #3059.
* score: Add processor set to scheduler contextSebastian Huber2017-07-071-3/+2
| | | | | | | Replace the simple processor count with the processor set owned by the scheduler instance. Update #3059.
* score: Move processor affinity to Thread_ControlSebastian Huber2017-07-075-81/+12
| | | | Update #3059.
* score: Add processor mask to/from cpu_set_tSebastian Huber2017-07-061-0/+75
| | | | Update #3059.
* score: Use <sys/bitset.h> for Processor_maskSebastian Huber2017-07-062-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.
* score: Fix formatSebastian Huber2017-07-051-14/+7
|
* score: Avoid clash with <strings.h> provided fls()Sebastian Huber2017-07-051-1/+2
|
* score: Add assert to _Thread_Dispatch()Sebastian Huber2017-07-041-0/+1
| | | | Update #3060.
* score: Add SMP EDF schedulerSebastian Huber2017-06-293-16/+515
| | | | Update #3056.
* score: Add red-black tree node to Scheduler_NodeSebastian Huber2017-06-294-17/+23
| | | | | | | In SMP configurations, add a red-black tree node to Scheduler_Node to enable an EDF scheduler implementation. Update #3056.
* score: Remove rtems_ada_selfSebastian Huber2017-06-141-8/+0
| | | | | | This task variable is superfluous since we use thread-local storage now. Update #2289.
* Fix CPU_COPY() usageSebastian Huber2017-06-071-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.
* SMP: Simplify SMP multicast actionsSebastian Huber2017-04-052-58/+51
|
* score: Fix scheduler yield in SMP configurationsSebastian Huber2017-03-071-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.
* score: Fix warningSebastian Huber2017-02-151-0/+2
|
* score: Fix warning in _Thread_Set_name()Sebastian Huber2017-02-141-1/+1
|
* score: Move _Thread_Scheduler_ask_for_help()Sebastian Huber2017-02-032-34/+34
| | | | | Move _Thread_Scheduler_ask_for_help(), rename it to _Thread_Ask_for_help() and make it static.
* score: Improve scheduler helping protocolSebastian Huber2017-02-0311-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.
* score: Add _Thread_queue_Object_nameSebastian Huber2017-01-3113-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.
* score: Fix _Thread_Initialize()Sebastian Huber2017-01-311-2/+2
|
* score: Fix user extensions orderSebastian Huber2017-01-261-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.
* score: Delete _CPU_Context_Fp_start()Sebastian Huber2017-01-261-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.
* configure: Remove HAVE_STRUCT__THREAD_QUEUE_QUEUESebastian Huber2017-01-136-24/+0
|
* score: Add _Thread_Set_name()Sebastian Huber2017-01-131-0/+20
| | | | | | Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE. Update #2858.
* score: Add and use _Thread_Get_name()Sebastian Huber2017-01-131-0/+37
| | | | Update #2858.
* score: Add Thread_queue_Queue::nameSebastian Huber2017-01-135-9/+15
| | | | Update #2858.
* score: Add and use _Objects_Name_to_string()Sebastian Huber2017-01-131-27/+58
| | | | Update #2858.
* Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__Joel Sherrill2017-01-114-61/+46
|
* score: Improve SMP lock debug supportSebastian Huber2017-01-112-3/+3
| | | | | The CPU index starts with zero. Increment it by one, to allow global SMP locks to reside in the BSS section.
* score: Add STATES_THREAD_QUEUE_WITH_IDENTIFIERSebastian Huber2017-01-1111-19/+11
| | | | | Add thread state bit to identify thread queues that are embedded in an object with identifier.
* score: Relax <sys/lock.h> static assertionsSebastian Huber2016-12-235-9/+9
| | | | Only require that the Newlib defined structure is big enough.
* score: Introduce _Internal_error()Sebastian Huber2016-12-1212-35/+24
|
* score: Remove fatal is internal indicatorSebastian Huber2016-12-0914-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.
* score: Initialize thread queue context earlySebastian Huber2016-12-022-3/+6
| | | | | | | | Initialize thread queue context early preferably outside the critical section. Remove implicit _Thread_queue_Context_initialize() from _Thread_Wait_acquire().