summaryrefslogtreecommitdiffstats
path: root/cpukit/score/preinstall.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-4/+0
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* timecounter: Port to RTEMSAlexander Krutwig2015-05-201-0/+33
| | | | | | New test sptests/timecounter01. Update #2271.
* score: New thread queue implementationSebastian Huber2015-05-191-4/+0
| | | | | | | | | Use thread wait flags for synchronization. The enqueue operation is now part of the initial critical section. This is the key change and enables fine grained locking on SMP for objects using a thread queue like semaphores and message queues. Update #2273.
* score: Make <rtems/score/atomic.h> availableSebastian Huber2015-02-191-8/+8
| | | | | | | | Make <rtems/score/atomic.h> available for all RTEMS configurations. Use inline functions instead of macros. Use ISR disable/enable on uni-processor configurations to ensure atomicity. Update #2273.
* Regenerate all preinstall.am files.Chris Johns2014-08-291-3/+3
| | | | | With this patch the preinstall.am files are in a set order and not dependent on now perl implements a hash.
* Regenerate all preinstall.am files.Joel Sherrill2014-08-281-3/+3
| | | | | Apparently, at some point automake output changed and these were not updated.
* Add SMP Priority Scheduler with AffinityJoel Sherrill2014-06-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This scheduler attempts to account for needed thread migrations caused as a side-effect of a thread state, affinity, or priority change operation. This scheduler has its own allocate_processor handler named _Scheduler_SMP_Allocate_processor_exact() because _Scheduler_SMP_Allocate_processor() attempts to prevent an executing thread from moving off its current CPU without considering affinity. Without this, the scheduler makes all the right decisions and then they are discarded at the end. ==Side Effects of Adding This Scheduler== Added Thread_Control * parameter to Scheduler_SMP_Get_highest_ready type so methods looking for the highest ready thread can filter by the processor on which the thread blocking resides. This allows affinity to be considered. Simple Priority SMP and Priority SMP ignore this parameter. + Added get_lowest_scheduled argument to _Scheduler_SMP_Enqueue_ordered(). + Added allocate_processor argument to the following methods: - _Scheduler_SMP_Block() - _Scheduler_SMP_Enqueue_scheduled_ordered() - _Scheduler_SMP_Enqueue_scheduled_ordered() + schedulerprioritysmpimpl.h is a new file with prototypes for methods which were formerly static in schedulerprioritysmp.c but now need to be public to be shared with this scheduler. NOTE: _Scheduler_SMP_Get_lowest_ready() appears to have a path which would allow it to return a NULL. Previously, _Scheduler_SMP_Enqueue_ordered() would have asserted on it. If it cannot return a NULL, _Scheduler_SMP_Get_lowest_ready() should have an assertions.
* score: Add Resource HandlerSebastian Huber2014-06-031-0/+8
| | | | | | | | | | A resource is something that has at most one owner at a time and may have multiple rivals in case an owner is present. The owner and rivals are impersonated via resource nodes. A resource is represented via the resource control structure. The resource controls and nodes are organized as trees. It is possible to detect deadlocks via such a resource tree. The _Resource_Iterate() function can be used to iterate through such a resource tree starting at a top node.
* score: Multiprocessor Resource Sharing ProtocolSebastian Huber2014-05-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | Add basic support for the Multiprocessor Resource Sharing Protocol (MrsP). The Multiprocessor Resource Sharing Protocol (MrsP) is defined in A. Burns and A.J. Wellings, A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP, Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013), July 2013. It is a generalization of the Priority Ceiling Protocol to SMP systems. Each MrsP semaphore uses a ceiling priority per scheduler instance. These ceiling priorities can be specified with rtems_semaphore_set_priority(). A task obtaining or owning a MrsP semaphore will execute with the ceiling priority for its scheduler instance as specified by the MrsP semaphore object. Tasks waiting to get ownership of a MrsP semaphore will not relinquish the processor voluntarily. In case the owner of a MrsP semaphore gets preempted it can ask all tasks waiting for this semaphore to help out and temporarily borrow the right to execute on one of their assigned processors. The help out feature is not implemented with this patch.
* score: Introduce scheduler nodesSebastian Huber2014-05-141-0/+4
| | | | | | | | | | | | Rename scheduler per-thread information into scheduler nodes using Scheduler_Node as the base type. Use inheritance for specialized schedulers. Move the scheduler specific states from the thread control block into the scheduler node structure. Validate the SMP scheduler node state transitions in case RTEMS_DEBUG is defined.
* score: Add priority affinity smp scheduler.Jennifer Averett2014-04-031-0/+4
|
* score: Unify pthread and gxx_wrapper once and move to score.Christian Mauderer2014-03-211-0/+4
|
* score: Add per-CPU profilingSebastian Huber2014-03-141-0/+4
| | | | | | | Add per-CPU profiling stats API. Implement the thread dispatch disable level profiling. The interrupt profiling must be implemented in CPU port specific parts (mostly assembler code). Add a support function _Profiling_Outer_most_interrupt_entry_and_exit() for this purpose.
* score: Add cpuset support to Score.Jennifer Averett2014-03-071-0/+8
| | | | | | This new Score Handler provides a structure to manage a cpu_set_t plus helper routines to validate the contents against the current system configuration.
* score: Rename rtems_smp_process_interrupt()Sebastian Huber2014-02-191-4/+0
| | | | | | Rename rtems_smp_process_interrupt() into _SMP_Inter_processor_interrupt_handler(). Delete unused header file <rtems/bspsmp.h>.
* score: Add and use <rtems/score/smpimpl.h>Sebastian Huber2014-02-191-0/+4
| | | | | Collect SMP implementation specific parts in the <rtems/score/smpimpl.h> header file.
* score: Add SMP barrierSebastian Huber2014-02-171-0/+4
|
* Require presence of <stdatomic.h> for SMP supportSebastian Huber2014-02-171-9/+8
|
* Add thread-local storage (TLS) supportSebastian Huber2014-02-041-0/+4
| | | | | Tested and implemented on ARM, m68k, PowerPC and SPARC. Other architectures need more work.
* smp: Add Deterministic Priority SMP SchedulerSebastian Huber2013-08-201-0/+4
|
* smp: Replace Scheduler_simple_smp_ControlSebastian Huber2013-08-201-0/+8
| | | | | Replace Scheduler_simple_smp_Control with Scheduler_SMP_Control. Rename _Scheduler_simple_smp_Instance() to _Scheduler_SMP_Instance().
* score: PR2136: Fix _Thread_Change_priority()Sebastian Huber2013-08-201-0/+4
| | | | | | | | | | | | | | | Add call to _Scheduler_Schedule() in missing path after _Thread_Set_transient() in _Thread_Change_priority(). See also sptests/spintrcritical19. Add thread parameter to _Scheduler_Schedule(). This parameter is currently unused but may be used in future SMP schedulers. Do heir selection in _Scheduler_Schedule(). Use _Scheduler_Update_heir() for this in the particular scheduler implementation. Add and use _Scheduler_Generic_block().
* score: Move nanoseconds since last tick supportSebastian Huber2013-08-011-0/+4
| | | | | | Move the nanoseconds since last tick support from the Watchdog to the TOD handler. Now the TOD managment is encapsulated in the TOD_Control structure.
* score: Rename tod.h to todimpl.hSebastian Huber2013-08-011-3/+3
|
* score: Add and use ISR locksSebastian Huber2013-07-311-0/+4
| | | | | | | | | | | | ISR locks are low-level locks to protect critical sections accessed by threads and interrupt service routines. On single processor configurations the ISR locks degrade to simple ISR disable/enable sequences. No additional storage or objects are required. This synchronization primitive is supported on SMP configurations. Here SMP locks are used.
* score: New header file <rtems/score/assert.h>Sebastian Huber2013-07-301-0/+4
|
* score: Merge tod implementation into one fileSebastian Huber2013-07-261-4/+0
| | | | | Delete TOD_MICROSECONDS_PER_SECOND, TOD_MICROSECONDS_TO_TICKS() and TOD_MILLISECONDS_TO_TICKS().
* score: Create object implementation headerSebastian Huber2013-07-261-4/+4
| | | | | | Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
* score: Move mppkt implementation into mpciimpl.hSebastian Huber2013-07-261-5/+0
|
* score: Create mpci implementation headerSebastian Huber2013-07-261-0/+4
| | | | | Move implementation specific parts of mpci.h into new header file mpciimpl.h. The mpci.h contains now only the application visible API.
* score: Merge objectmp implementation into one fileSebastian Huber2013-07-261-4/+0
|
* score: Create threadq implementation headerSebastian Huber2013-07-261-8/+4
| | | | | | | | Move implementation specific parts of tqdata.h, threadq.h and threadq.inl into new header file threadqimpl.h. The threadq.h contains now only the application visible API. Delete tqdata.h.
* score: Delete threadq.inlSebastian Huber2013-07-261-4/+0
|
* score: Merge threadmp implementation into one fileSebastian Huber2013-07-261-4/+0
|
* score: Create states implementation headerSebastian Huber2013-07-261-4/+4
| | | | | | Move implementation specific parts of states.h and states.inl into new header file statesimpl.h. The states.h contains now only the application visible API.
* score: Create thread implementation headerSebastian Huber2013-07-261-4/+4
| | | | | | | | Move implementation specific parts of thread.h and thread.inl into new header file threadimpl.h. The thread.h contains now only the application visible API. Remove superfluous header file includes from various files.
* score: Create prioritybitmap implementation headerSebastian Huber2013-07-261-8/+4
| | | | | | | | Move implementation specific parts of prioritybitmap.h and prioritybitmap.inl into new header file prioritybitmapimpl.h. The prioritybitmap.h contains now only the application visible API. Move content of bitfield.h into prioritybitmapimpl.h.
* score: Create scheduler implementation headerSebastian Huber2013-07-261-4/+4
| | | | | | Move implementation specific parts of scheduler.h and scheduler.inl into new header file schedulerimpl.h. The scheduler.h contains now only the application visible API.
* score: Create schedulerpriority impl headerSebastian Huber2013-07-261-4/+4
| | | | | | | | | | | | | Move implementation specific parts of schedulerpriority.h and schedulerpriority.inl into new header file schedulerpriorityimpl.h. The schedulerpriority.h contains now only the application visible API. Add missing includes. Remove superfluous includes. Move declaration of _Priority_Bit_map to prioritybitmap.inl since this variable is used only here. Remove second declaration of _Priority_Major_bit_map.
* score: Create schedulersimple impl headerSebastian Huber2013-07-261-4/+4
| | | | | | Move implementation specific parts of schedulersimple.h and schedulersimple.inl into new header file schedulersimpleimpl.h. The schedulersimple.h contains now only the application visible API.
* score: Add freechainZhongwei Yao2013-07-241-0/+4
|
* score: Delete priority.inlSebastian Huber2013-07-241-4/+0
|
* score: Merge sysstate API into one fileSebastian Huber2013-07-241-4/+0
|
* score: Create stack implementation headerSebastian Huber2013-07-231-4/+4
| | | | | | Move implementation specific parts of stack.h and stack.inl into new header file stackimpl.h. The stack.h contains now only the application visible API.
* score: Create heap implementation headerSebastian Huber2013-07-231-4/+4
| | | | | | Move implementation specific parts of heap.h and heap.inl into new header file heapimpl.h. The heap.h contains now only the application visible API.
* score: Merge wkspace API into one fileSebastian Huber2013-07-231-4/+0
|
* score: Merge address API into one fileSebastian Huber2013-07-231-4/+0
|
* score: Create rbtree implementation headerSebastian Huber2013-07-231-4/+4
| | | | | | Move implementation specific parts of rbtree.h and rbtree.inl into new header file rbtreeimpl.h. The rbtree.h contains now only the application visible API.
* score: Create watchdog implementation headerSebastian Huber2013-07-221-4/+4
| | | | | | Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API.
* score: Create chain implementation headerSebastian Huber2013-07-221-4/+4
| | | | | | Move implementation specific parts of chain.h and chain.inl into new header file chainimpl.h. The chain.h contains now only the application visible API.