summaryrefslogtreecommitdiffstats
path: root/cpukit/score/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add scheduler node implementation headerSebastian Huber2016-09-081-0/+1
| | | | Update #2556.
* score: Move scheduler node to own header fileSebastian Huber2016-09-081-0/+1
| | | | | | | This makes it possible to add scheduler nodes to structures defined in <rtems/score/thread.h>. Update #2556.
* score: Add _Thread_queue_Surrender()Sebastian Huber2016-08-111-1/+0
| | | | | Add _Thread_queue_Surrender() to unify the mutex surrender procedures which involve a thread queue operation.
* score: Add thread priority to scheduler nodesSebastian Huber2016-06-221-3/+0
| | | | | | | | | | | | | | | | | | The thread priority is manifest in two independent areas. One area is the user visible thread priority along with a potential thread queue. The other is the scheduler. Currently, a thread priority update via _Thread_Change_priority() first updates the user visble thread priority and the thread queue, then the scheduler is notified if necessary. The priority is passed to the scheduler via a local variable. A generation counter ensures that the scheduler discards out-of-date priorities. This use of a local variable ties the update in these two areas close together. For later enhancements and the OMIP locking protocol implementation we need more flexibility. Add a thread priority information block to Scheduler_Node and synchronize priority value updates via a sequence lock on SMP configurations. Update #2556.
* score: Move _RBTree_Find()Sebastian Huber2016-06-221-1/+1
| | | | | | The _RBTree_Find() is no longer used in the score. Move it to sapi and make it rtems_rbtree_find(). Move corresponding types and support functions to sapi.
* score: Introduce map priority scheduler operationSebastian Huber2016-06-221-0/+1
| | | | | | | | | | | Introduce map/unmap priority scheduler operations to map thread priority values from/to the user domain to/from the scheduler domain. Use the map priority operation to validate the thread priority. The EDF schedulers use this new operation to distinguish between normal priorities and priorities obtain through a job release. Update #2173. Update #2556.
* score: Delete unused _Scheduler_Priority_compare()Sebastian Huber2016-06-221-2/+0
| | | | | By convention, thread priorities must be integers in RTEMS. Smaller values represent more important threads.
* score: Add an SMP sequence lock implementationSebastian Huber2016-06-091-0/+1
|
* score: Rework CORE inherit priority mutexSebastian Huber2016-05-301-2/+2
| | | | | Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
* score: Add libatomic supportSebastian Huber2016-05-301-0/+1
| | | | Close #2695.
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-0/+1
| | | | | | | | | | | Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
* score: Delete unused _Objects_Get_isr_disable()Sebastian Huber2016-05-201-1/+1
| | | | Delete now unused Objects_Locations.
* score: Remove the Giant lockSebastian Huber2016-05-201-5/+0
| | | | Update #2555.
* score: Delete unused _Objects_Get()Sebastian Huber2016-05-201-1/+1
| | | | Update #2555.
* SMP: Add Mellor-Crummey and Scott (MCS) lockSebastian Huber2016-05-191-0/+1
| | | | | | | | | | Added only for evaluation purposes. We have to compare the performance against the ticket lock on the interesting platforms via smptests/smplock01. The following GCC shortcoming affects the MCS lock: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66867
* SMP: Move ticket lock to separate header fileSebastian Huber2016-05-191-0/+1
|
* SMP: Move lock stats to separate header fileSebastian Huber2016-05-191-0/+1
|
* score: Add dummy Strong APA schedulerSebastian Huber2016-05-021-0/+2
| | | | | | Start with a copy of the Priority SMP scheduler implementation. Update #2510.
* score: __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__Sebastian Huber2016-05-021-2/+1
| | | | | Delete __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__ as a preparation to restructure the CORE mutex variants and reduce the branch complexity.
* score: Delete _Chain_Append()Sebastian Huber2016-04-061-1/+1
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get()Sebastian Huber2016-04-061-1/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Extract()Sebastian Huber2016-04-061-1/+1
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Insert()Sebastian Huber2016-04-061-1/+1
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get_with_empty_check()Sebastian Huber2016-04-061-1/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber2016-04-061-1/+1
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Append_with_empty_check()Sebastian Huber2016-04-061-1/+1
| | | | | | This function is not used in the score. Update #2555.
* score: _Thread_queue_Flush() parameter changesSebastian Huber2016-04-061-1/+1
| | | | | | | | | | | | Change _Thread_queue_Flush() into a macro that invokes _Thread_queue_Do_flush() with the parameter set defined by RTEMS_MULTIPROCESSING. For multiprocessing configurations add the object identifier to avoid direct use of the thread wait information. Use mp_ prefix for multiprocessing related parameters. Rename Thread_queue_Flush_callout to Thread_queue_MP_callout since this type will be re-used later for other operations as well.
* score: Delete Thread_Wait_information::idSebastian Huber2016-04-061-0/+1
| | | | | | | | | | | This field was only by the monitor in non-multiprocessing configurations. Add new field Thread_Wait_information::remote_id in multiprocessing configurations and use it for the remote procedure call thread queue. Add _Thread_Wait_get_id() to obtain the object identifier for debug and system information tools. Ensure the object layout via static asserts. Add test cases to sptests/spthreadq01.
* score: Avoid Giant lock for CORE spinlockSebastian Huber2016-03-181-1/+1
| | | | | | Use an ISR lock to protect the spinlock state. Remove empty attributes. Update #2555.
* score: Fix CPU time used by executing threadsSebastian Huber2016-03-171-0/+1
| | | | | | | | | | | | | | The CPU time used of a thread was previously maintained per-processor mostly during _Thread_Dispatch(). However, on SMP configurations the actual processor of a thread is difficult to figure out since thread dispatching is a highly asynchronous process (e.g. via inter-processor interrupts). Only the intended processor of a thread is known to the scheduler easily. Do the CPU usage accounting during thread heir updates in the context of the scheduler operations. Provide the function _Thread_Get_CPU_time_used() to get the CPU usage of a thread using proper locks to get a consistent value. Close #2627.
* score: Add and use _Objects_Get_local()Sebastian Huber2016-03-141-0/+1
| | | | | | This simplifies the handling with local-only objects. Update #2555.
* score: Replace watchdog handler implementationSebastian Huber2016-03-041-3/+2
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* score: Add Processor_mask, etc.Sebastian Huber2016-03-041-0/+1
|
* Delete unused API extensionsSebastian Huber2016-02-031-2/+1
|
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-111-0/+3
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* Use linker set for system initializationSebastian Huber2015-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization API available via #include <rtems/sysinit.h>. Update the documentation accordingly. This is no functional change, only the method to call the existing initialization routines changes. Instead of direct function calls a table of function pointers contained in the new RTEMS system initialization linker set is used. This table looks like this (the actual addresses depend on the target). nm *.exe | grep _Linker | sort 0201a2d0 D _Linker_set__Sysinit_begin 0201a2d0 D _Linker_set__Sysinit_bsp_work_area_initialize 0201a2d4 D _Linker_set__Sysinit_bsp_start 0201a2d8 D _Linker_set__Sysinit_rtems_initialize_data_structures 0201a2dc D _Linker_set__Sysinit_bsp_libc_init 0201a2e0 D _Linker_set__Sysinit_rtems_initialize_before_drivers 0201a2e4 D _Linker_set__Sysinit_bsp_predriver_hook 0201a2e8 D _Linker_set__Sysinit_rtems_initialize_device_drivers 0201a2ec D _Linker_set__Sysinit_bsp_postdriver_hook 0201a2f0 D _Linker_set__Sysinit_end Add test sptests/spsysinit01. Update #2408.
* Add RTEMS linker setsSebastian Huber2015-12-081-0/+1
| | | | Update #2408.
* Remove <rtems/debug.h>Sebastian Huber2015-12-071-1/+1
| | | | Close #2477.
* rbtree: Add _RBTree_Replace_node()Sebastian Huber2015-09-031-0/+1
|
* rbtree: Delete _RBTree_Initialize()Sebastian Huber2015-08-311-1/+1
| | | | This function has no internal use case.
* score: Add self-contained condition implementationSebastian Huber2015-07-301-0/+1
|
* score: Add scheduler <sys/lock.h> supportSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained futex implementationSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained semaphore implementationSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained mutex implementationSebastian Huber2015-07-301-0/+1
| | | | | | | 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: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber2015-07-281-0/+1
| | | | | | 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>.
* score: Move default _ISR_Is_in_progress()Sebastian Huber2015-06-251-0/+1
|
* score: Replace _API_Mutex_Is_locked()Sebastian Huber2015-05-271-1/+1
| | | | Replace _API_Mutex_Is_locked() with _API_Mutex_Is_owner().
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-12/+4
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* timecounter: Port to RTEMSAlexander Krutwig2015-05-201-0/+12
| | | | | | New test sptests/timecounter01. Update #2271.