summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Fix return status of mutex try acquireSebastian Huber2015-09-011-9/+9
| | | | This fixes a copy and paste error (from libbsd).
* arm: Replace __sync_synchronize() implementationSebastian Huber2015-09-011-8/+19
|
* arm: Use compiler memory barrier by defaultSebastian Huber2015-09-011-1/+7
|
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-011-25/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* rbtree: Delete unused RBTREE_NODE_*() macrosSebastian Huber2015-08-311-12/+0
|
* rbtree: Delete _RBTree_Initialize()Sebastian Huber2015-08-313-72/+1
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Get()Sebastian Huber2015-08-311-31/+0
| | | | This function has no internal use case.
* rbheap: Drop direction from _RBTree_Iterate()Sebastian Huber2015-08-312-9/+3
|
* rbtree: Delete _RBTree_Is_first()Sebastian Huber2015-08-311-20/+0
|
* rbtree: Add _RBTree_Minimum(), _RBTree_Maximum()Sebastian Huber2015-08-313-2/+32
|
* Add __synch_synchronize function for armJan Sommer2015-08-012-0/+10
| | | | Fixes link failure when linking Ada programs on the raspberry pi
* score: Add self-contained condition implementationSebastian Huber2015-07-303-0/+313
|
* score: Add scheduler <sys/lock.h> supportSebastian Huber2015-07-302-0/+71
|
* score: Add self-contained futex implementationSebastian Huber2015-07-303-0/+203
|
* score: Add self-contained semaphore implementationSebastian Huber2015-07-303-0/+145
|
* score: Add self-contained mutex implementationSebastian Huber2015-07-303-0/+446
| | | | | | | This mutex implementation uses a thread priority queue with a simple priority inheritance mechanism (similar to the object based mutexes). The storage space must be supplied by the user (16 bytes on 32-bit targets).
* score: Add thread queue for self-contained objectsSebastian Huber2015-07-302-0/+54
|
* score: Use a plain ticket lock for thread locksSebastian Huber2015-07-309-45/+149
| | | | | | This enables external libraries to use thread locks since they are independent of the actual RTEMS build configuration, e.g. profiling enabled or disabled.
* score: Add potpourri lock statisticsSebastian Huber2015-07-303-0/+14
| | | | | | | These SMP lock statistics are used for all lock objects that lack a storage space for the statistics. Examples are lock objects used in external libraries which are independent of the actual RTEMS build configuration.
* score: Provide struct _Thread_queue_HeadsSebastian Huber2015-07-301-1/+7
| | | | | Use a leading underscore in the structure name to allow forward declarations in standard header files provided by Newlib and GCC.
* score: Rename struct Thread_ControlSebastian Huber2015-07-303-7/+10
| | | | | Add a leading underscore to the structure name to allow forward declarations in standard header files provided by Newlib and GCC.
* score: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber2015-07-283-0/+117
| | | | | | Rename _POSIX_Absolute_timeout_to_ticks() to _TOD_Absolute_timeout_to_ticks() and move it to the score directory. Delete empty <rtems/posix/time.h>.
* m68k: Include proper header fileSebastian Huber2015-07-241-3/+3
|
* score: Add commentSebastian Huber2015-07-241-0/+5
|
* arm: Include proper header fileSebastian Huber2015-07-231-3/+3
|
* score: Move wait flag update to tq extractSebastian Huber2015-07-233-15/+34
| | | | | | This makes it possible to use _Thread_queue_Extract_locked() for barrier operations which extract all threads on the queue in one critical section.
* score: Introduce Thread_queue_HeadsSebastian Huber2015-07-2310-80/+257
| | | | | | | | | | | | | Move the storage for the thread queue heads to the threads. Each thread provides a set of thread queue heads allocated from a dedicated memory pool. In case a thread blocks on a queue, then it lends its heads to the queue. In case the thread unblocks, then it takes a free set of threads from the queue. Since a thread can block on at most one queue this works. This mechanism is used in FreeBSD. The motivation for this change is to reduce the memory demands of the synchronization objects. On a 32-bit uni-processor configuration the Thread_queue_Control size is now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced the size as well).
* score: Introduce Thread_queue_QueueSebastian Huber2015-07-2317-158/+229
| | | | | | Separate the thread queue heads and lock from the operations. This enables the support for light weight objects which only support one queuing discipline.
* sparc64/rtems/score/cpu.h: Delete dead declarationJoel Sherrill2015-07-161-16/+0
|
* powerpc: Do not use the ATB for e500 multilibSebastian Huber2015-07-151-1/+1
| | | | | | The e500v1 has no support for the ATB. Update #2369.
* powerpc: Fix _CPU_Counter_read()Nick Withers2015-07-151-1/+1
| | | | | | The mftb is not available on Book E processors. Use SPR 268 instead. Close #2369.
* score: Simplify _Thread_Lock_set()Sebastian Huber2015-07-131-11/+56
| | | | | Exploit the fact that the current thread lock must be the default thread lock and interrupts are disabled if we call _Thread_Lock_set().
* score: TypoSebastian Huber2015-07-131-2/+2
|
* powerpc: Add BUCSR register definesSebastian Huber2015-07-081-0/+2
|
* score: Simplify _SMP_ticket_lock_Release()Sebastian Huber2015-07-012-12/+13
| | | | | Add a SMP lock statistics pointer to SMP_lock_Stats_context and drop the SMP lock statistics parameter from _SMP_ticket_lock_Release().
* score: Accept NULL pointer in _Freechain_Put()Sebastian Huber2015-07-012-2/+5
| | | | With this a _Freechain_Put( _Freechain_Get() ) works always.
* score: Freechain handler API changesSebastian Huber2015-07-012-37/+70
| | | | | Replace the extend function with an allocator since this fits better to the current use case.
* score: Hide SMP lock profiling impl if disabledSebastian Huber2015-06-264-82/+131
| | | | The problem is that empty structures have a different size in C and C++.
* score: Simplify <rtems/score/scheduler.h>Sebastian Huber2015-06-262-4/+5
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-267-4/+7
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* score: Fix extern "C" in <rtems/score/heap.h>Sebastian Huber2015-06-251-2/+1
|
* score: Simplify <rtems/score/thread.h>Sebastian Huber2015-06-253-44/+42
| | | | | | Avoid Thread_Control typedef in <rtems/score/percpu.h>. This helps to get rid of the <rtems/score/percpu.h> include in <rtems/score/thread.h> which exposes a lot of implementation details.
* score: Move default _ISR_Is_in_progress()Sebastian Huber2015-06-253-35/+53
|
* score: Move SMP CPU_USE_DEFERRED_FP_SWITCH checkSebastian Huber2015-06-252-4/+4
|
* score: Assert proper node sizeSebastian Huber2015-06-241-3/+4
|
* arm: Implement _CPU_ISR_Get_level() for ARMv7-MSebastian Huber2015-06-151-3/+3
|
* Remove use ticks for statistics configure option.Joel Sherrill2015-06-154-29/+7
| | | | | | | | | | This was obsolete and broken based upon recent time keeping changes. Thie build option was previously enabled by adding USE_TICKS_FOR_STATISTICS=1 to the configure command line. This propagated into the code as preprocessor conditionals using the __RTEMS_USE_TICKS_FOR_STATISTICS__ conditional.
* score: Add _Watchdog_Preinitialize()Sebastian Huber2015-06-132-2/+23
| | | | | | Add an assert to ensure that the watchdog is the proper state for a _Watchdog_Initialize(). This helps to detect invalid initializations which may lead to a corrupt watchdog chain.
* score: Delete unused state WATCHDOG_REMOVE_ITSebastian Huber2015-06-133-24/+2
|
* Revert "timecounter: No _Timecounter_Tick_simple() for SMP"Sebastian Huber2015-06-111-6/+0
| | | | | | | | | This reverts commit 46ae1d7a2b49b8f973dd6ba44fbbd38383798524. The _Timecounter_Tick_simple() function actually doesn't switch to the next timehand, so it is all right to use the simple timecounter approach even on SMP configurations. The use of simple timecounters is not recommended however since they impose a performance penalty.