summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-10-09score: Simplify _Timestamp_Add_to()Sebastian Huber1-7/+1
Update #2740.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber3-2/+37
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 condvarSebastian Huber2-2/+0
POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
2017-10-05posix: Implement self-contained POSIX rwlocksSebastian Huber4-91/+56
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 barriersSebastian Huber2-2/+0
POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
2017-10-05posix: Implement self-contained POSIX semaphoresSebastian Huber1-0/+73
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-10-05score: Make status codes unconditionalSebastian Huber1-9/+2
The internal status codes encode a Classic rtems_status_code and error codes used by the POSIX and C11/C++11 APIs. In case the POSIX API is disabled, the C11/C++11 support must still work. Close #3167.
2017-09-27score: Simplify red-black tree debug supportSebastian Huber1-8/+0
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-27score: Rename to _Scheduler_ControlSebastian Huber7-15/+15
Rename struct Scheduler_Control to _Scheduler_Control to allow its use in standard header files, e.g. <pthread.h>. Update #3112.
2017-09-22score: Include missing header fileSebastian Huber1-0/+2
Update #3059.
2017-08-25score: Remove <string.h> include from basedefs.hSebastian Huber1-7/+0
Close #2133.
2017-08-25score: Remove <limits.h> include from basedefs.hSebastian Huber1-7/+0
Close #2132.
2017-08-22heap: Fix integer typesSebastian Huber1-3/+3
Update #3082.
2017-07-31score: Add RTEMS_HAVE_MEMBER_SAME_TYPE()Sebastian Huber2-2/+25
This fixes some "variably modified" warnings and a clang compile error.
2017-07-25INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber1-1/+2
Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
2017-07-25score: Add optional _CPU_Context_Destroy()Sebastian Huber1-0/+7
Update #3077.
2017-07-12score: Fix typoSebastian Huber1-1/+1
Update #3059.
2017-07-12Add interrupt vector set/get affinitySebastian Huber1-0/+25
Close #3071.
2017-07-10score: Fix set schedulerSebastian Huber1-5/+13
Ensure that the thread processor affinity fits the new scheduler instance. Update #3059.
2017-07-10score: Add simple affinity support to EDF SMPSebastian Huber2-12/+205
Update #3059.
2017-07-07score: Pass scheduler nodes to processor allocatorSebastian Huber1-18/+14
This allows scheduler implementations to easily access scheduler-specific data. Update #3059.
2017-07-07score: Add scheduler node to set affinity opSebastian Huber3-0/+6
Update #3059.
2017-07-07score: Fix default set affinitySebastian Huber1-4/+3
The set of online processors must be a subset of the thread processor affinity for the schedulers without arbitrary processor affinity support to avoid problems in case of processor addition and removal. Update #3059.
2017-07-07score: Introduce _SMP_Get_online_processors()Sebastian Huber1-0/+9
Update #3059.
2017-07-07score: Use processor mask for set affinitySebastian Huber3-41/+13
Update #3059.
2017-07-07score: Add processor set to scheduler contextSebastian Huber2-20/+9
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-61/+8
Update #3059.
2017-07-06score: Add some processor mask functionsSebastian Huber1-0/+99
Update #3059.
2017-07-06score: Add processor mask to/from cpu_set_tSebastian Huber1-2/+50
Update #3059.
2017-07-06score: Use <sys/bitset.h> for Processor_maskSebastian Huber2-51/+44
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-06-29score: Add RTEMS_NO_INLINESebastian Huber1-1/+11
Update #3056.
2017-06-29score: Add SMP EDF schedulerSebastian Huber1-0/+137
Update #3056.
2017-06-29score: Add red-black tree node to Scheduler_NodeSebastian Huber3-22/+24
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-4/+0
This task variable is superfluous since we use thread-local storage now. Update #2289.
2017-06-12i386: Support thread-local storage (TLS)Sebastian Huber1-4/+19
Update #2468.
2017-06-07Fix CPU_COPY() usageSebastian Huber1-1/+1
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-5/+34
2017-03-07score: Fix scheduler yield in SMP configurationsSebastian Huber2-20/+7
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-23score: Add RTEMS_WEAK_ALIAS()Sebastian Huber1-0/+10
2017-02-03score: Move _Thread_Scheduler_ask_for_help()Sebastian Huber1-2/+0
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-132/+67
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 Huber5-34/+68
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-0/+3
2017-01-30score: Fix unused parameter warningSebastian Huber1-0/+2
Close #2890.
2017-01-27score: Clarify _Heap_Extend()Sebastian Huber1-5/+6
Update #1747.
2017-01-27score: Fix typoSebastian Huber1-1/+1
2017-01-26score: Fix user extensions orderSebastian Huber2-4/+4
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-16/+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-13posix: shared memory supportGedare Bloom2-2/+4
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.