summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Change Timestamp_Control to sbintime_tSebastian Huber2017-10-093-34/+24
| | | | | | | | 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-091-46/+8
| | | | | | | Use the timestamps only for uptime based values. Use struct timespec for the absolute time values (TOD). Update #2740.
* score: Simplify _Timestamp_Add_to()Sebastian Huber2017-10-091-7/+1
| | | | Update #2740.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-053-2/+37
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX condvarSebastian Huber2017-10-052-2/+0
| | | | | | | | POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-054-91/+56
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX barriersSebastian Huber2017-10-052-2/+0
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* posix: Implement self-contained POSIX semaphoresSebastian Huber2017-10-051-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.
* posix: Optimize pthread_once_tSebastian Huber2017-10-051-1/+1
| | | | | | Reduce size of pthread_once_t and make it zero-initialized. Update #3142.
* score: Make status codes unconditionalSebastian Huber2017-10-051-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.
* score: Simplify red-black tree debug supportSebastian Huber2017-09-271-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.
* score: Rename to _Scheduler_ControlSebastian Huber2017-09-277-15/+15
| | | | | | | Rename struct Scheduler_Control to _Scheduler_Control to allow its use in standard header files, e.g. <pthread.h>. Update #3112.
* score: Include missing header fileSebastian Huber2017-09-221-0/+2
| | | | Update #3059.
* score: Remove <string.h> include from basedefs.hSebastian Huber2017-08-251-7/+0
| | | | Close #2133.
* score: Remove <limits.h> include from basedefs.hSebastian Huber2017-08-251-7/+0
| | | | Close #2132.
* heap: Fix integer typesSebastian Huber2017-08-221-3/+3
| | | | Update #3082.
* score: Add RTEMS_HAVE_MEMBER_SAME_TYPE()Sebastian Huber2017-07-312-2/+25
| | | | This fixes some "variably modified" warnings and a clang compile error.
* INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber2017-07-251-1/+2
| | | | | | Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
* score: Add optional _CPU_Context_Destroy()Sebastian Huber2017-07-251-0/+7
| | | | Update #3077.
* score: Fix typoSebastian Huber2017-07-121-1/+1
| | | | Update #3059.
* Add interrupt vector set/get affinitySebastian Huber2017-07-121-0/+25
| | | | Close #3071.
* score: Fix set schedulerSebastian Huber2017-07-101-5/+13
| | | | | | | Ensure that the thread processor affinity fits the new scheduler instance. Update #3059.
* score: Add simple affinity support to EDF SMPSebastian Huber2017-07-102-12/+205
| | | | Update #3059.
* score: Pass scheduler nodes to processor allocatorSebastian Huber2017-07-071-18/+14
| | | | | | | This allows scheduler implementations to easily access scheduler-specific data. Update #3059.
* score: Add scheduler node to set affinity opSebastian Huber2017-07-073-0/+6
| | | | Update #3059.
* score: Fix default set affinitySebastian Huber2017-07-071-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.
* score: Introduce _SMP_Get_online_processors()Sebastian Huber2017-07-071-0/+9
| | | | Update #3059.
* score: Use processor mask for set affinitySebastian Huber2017-07-073-41/+13
| | | | Update #3059.
* score: Add processor set to scheduler contextSebastian Huber2017-07-072-20/+9
| | | | | | | 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-61/+8
| | | | Update #3059.
* score: Add some processor mask functionsSebastian Huber2017-07-061-0/+99
| | | | Update #3059.
* score: Add processor mask to/from cpu_set_tSebastian Huber2017-07-061-2/+50
| | | | Update #3059.
* score: Use <sys/bitset.h> for Processor_maskSebastian Huber2017-07-062-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.
* score: Add RTEMS_NO_INLINESebastian Huber2017-06-291-1/+11
| | | | Update #3056.
* score: Add SMP EDF schedulerSebastian Huber2017-06-291-0/+137
| | | | Update #3056.
* score: Add red-black tree node to Scheduler_NodeSebastian Huber2017-06-293-22/+24
| | | | | | | 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-4/+0
| | | | | | This task variable is superfluous since we use thread-local storage now. Update #2289.
* i386: Support thread-local storage (TLS)Sebastian Huber2017-06-121-4/+19
| | | | Update #2468.
* Fix CPU_COPY() usageSebastian Huber2017-06-071-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.
* SMP: Simplify SMP multicast actionsSebastian Huber2017-04-052-5/+34
|
* score: Fix scheduler yield in SMP configurationsSebastian Huber2017-03-072-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.
* score: Add RTEMS_WEAK_ALIAS()Sebastian Huber2017-02-231-0/+10
|
* score: Move _Thread_Scheduler_ask_for_help()Sebastian Huber2017-02-031-2/+0
| | | | | 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-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.
* score: Add _Thread_queue_Object_nameSebastian Huber2017-01-315-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.
* score: Fix _Thread_Initialize()Sebastian Huber2017-01-311-0/+3
|
* score: Fix unused parameter warningSebastian Huber2017-01-301-0/+2
| | | | Close #2890.
* score: Clarify _Heap_Extend()Sebastian Huber2017-01-271-5/+6
| | | | Update #1747.
* score: Fix typoSebastian Huber2017-01-271-1/+1
|
* score: Fix user extensions orderSebastian Huber2017-01-262-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.