summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: _Thread_queue_Flush() parameter changesSebastian Huber2016-04-062-2/+4
| | | | | | | | | | | | 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-063-11/+11
| | | | | | | | | | | 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: Objects_Thread_queue_Extract_calloutSebastian Huber2016-03-304-4/+8
| | | | | Change parameters of the objects thread queue extract callout to avoid a cast and explicit use of the thread wait information.
* score: Remove Thread_queue_Queue::operations fieldSebastian Huber2016-03-291-0/+1
| | | | | | | | | Remove the Thread_queue_Queue::operations field to reduce the size of this structure. Add a thread queue operations parameter to the _Thread_queue_First(), _Thread_queue_First_locked(), _Thread_queue_Enqueue(), _Thread_queue_Dequeue() and _Thread_queue_Flush() functions. This is a preparation patch to reduce the size of several synchronization objects.
* cpukit/rtems/include/rtems/rtems/sem.h: Remove junk in commentJoel Sherrill2016-03-221-2/+0
|
* rtems: Rework rate-monotonic schedulerSebastian Huber2016-03-222-92/+41
| | | | | | | | | | Use the default thread lock to protect rate-monotonic state changes. This avoids use of the Giant lock. Split rtems_rate_monotonic_period() body into several static functions. Introduce a new thread wait class THREAD_WAIT_CLASS_PERIOD for period objects to synchronize the blocking operation. Close #2631.
* rtems: Delete Rate_monotonic_Period_time_tSebastian Huber2016-03-212-12/+10
| | | | Variables with this type directly used the _Timestamp_*() functions.
* rtems: Inline _Rate_monotonic_Reset_statistics()Sebastian Huber2016-03-211-43/+16
| | | | Use inline function instead of macro.
* rtems: Avoid Giant lock in rtems_signal_catch()Sebastian Huber2016-03-171-6/+22
| | | | Update #2555.
* score: Add and use _Objects_Get_local()Sebastian Huber2016-03-141-3/+1
| | | | | | This simplifies the handling with local-only objects. Update #2555.
* score: Replace watchdog handler implementationSebastian Huber2016-03-043-142/+157
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* score: Delete Thread_CPU_usage_tSebastian Huber2016-03-012-5/+5
| | | | | This type is superfluous since all operations with it are done via the _Timestamp_*() functions.
* Use linker set for Classic User Tasks initSebastian Huber2016-02-031-9/+0
| | | | Update #2408.
* rtems: Delete empty _RTEMS_API_Initialize()Sebastian Huber2016-02-031-37/+0
|
* Optional Classic Barrier initializationSebastian Huber2016-02-031-22/+1
| | | | Update #2408.
* Optional Classic Rate Monotonic initializationSebastian Huber2016-02-031-20/+1
| | | | Update #2408.
* Optional Classic Dual-Ported Memory initializationSebastian Huber2016-02-031-18/+1
| | | | Update #2408.
* Optional Classic Region initializationSebastian Huber2016-02-031-24/+1
| | | | Update #2408.
* Optional Classic Partition initializationSebastian Huber2016-02-031-20/+1
| | | | Update #2408.
* Optional Classic Semaphore initializationSebastian Huber2016-02-031-23/+1
| | | | Update #2408.
* Optional Classic Message Queue initializationSebastian Huber2016-02-031-18/+1
| | | | Update #2408.
* Optional Classic Event initializationSebastian Huber2016-02-031-12/+0
| | | | Update #2408.
* Optional Classic Signal initializationSebastian Huber2016-02-031-9/+0
| | | | Update #2408.
* Optional Classic Timer initializationSebastian Huber2016-02-031-21/+2
| | | | Update #2408.
* Optional Classic Tasks initializationSebastian Huber2016-02-031-20/+1
| | | | Update #2408.
* sem.h: Delete junk in commentJoel Sherrill2016-01-181-3/+1
|
* ratemon.h: Fix commentsJoel Sherrill2016-01-181-7/+6
|
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-243-120/+1
| | | | | | | | | | | | | | | | | | | | | | | Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
* rtems: Delete empty functionSebastian Huber2015-12-151-7/+0
|
* score: Initialize thread control to zeroSebastian Huber2015-12-151-1/+1
| | | | This reduces the code size of the thread initialization.
* Remove <rtems/debug.h>Sebastian Huber2015-12-072-2/+0
| | | | Close #2477.
* Delete _Region_Debug_Walk()Sebastian Huber2015-12-071-20/+0
| | | | | | | The expensive heap walks are superfluous due to the heap protection enabled via RTEMS_DEBUG. Update #2477.
* Introduce general purpose system server eventSebastian Huber2015-11-121-2/+3
| | | | | Use this event for the interrupt server to avoid conflicts with application events used by interrupt handlers.
* basdefs.h: Add and use RTEMS_DEPRECATEDSebastian Huber2015-10-263-8/+8
|
* various .h files: Add missing C++ extern wrappersMartin Galvan2015-09-031-1/+5
| | | | Updates #2405.
* score: Introduce Thread_queue_HeadsSebastian Huber2015-07-231-2/+2
| | | | | | | | | | | | | 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: Simplify <rtems/score/thread.h>Sebastian Huber2015-06-251-0/+1
| | | | | | 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.
* rtems: Add rtems_interrupt_local_disable|enable()Sebastian Huber2015-06-221-0/+38
| | | | | | | | Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to emphasize that interrupts are only disabled on the current processor. Do not define the rtems_interrupt_disable|enable|flash() macros and functions on SMP configurations since they don't ensure system wide mutual exclusion.
* Remove use ticks for statistics configure option.Joel Sherrill2015-06-153-51/+23
| | | | | | | | | | 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.
* rtems: Do not switch off the FP attributeSebastian Huber2015-06-111-4/+0
| | | | This is necessary after commit 335e5caa9a9e0f28acf94fe4c2871017fcd71794.
* cpukit/rtems: Fix doc for rtems_clock_get_ticks_per_secondGedare Bloom2015-06-091-1/+1
| | | | closes #2357.
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-26/+5
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* score: Fine grained locking for message queuesSebastian Huber2015-05-191-0/+15
| | | | | | | | | | | Aggregate several critical sections into a bigger one. Sending and receiving messages is now protected by an ISR lock. Thread dispatching is only disabled in case a blocking operation is necessary. The message copy procedure is done inside the critical section (interrupts disabled). Thus this change may have a negative impact on the interrupt latency in case very large messages are transferred. Update #2273.
* score: Add Thread_queue_Control::LockSebastian Huber2015-05-193-0/+4
| | | | | | | | | | | Move the complete thread queue enqueue procedure into _Thread_queue_Enqueue_critical(). It is possible to use the thread queue lock to protect state of the object embedding the thread queue. This enables per object fine grained locking in the future. Delete _Thread_queue_Enter_critical_section(). Update #2273.
* score: New timer server implementationSebastian Huber2015-05-192-26/+30
| | | | | | | | Use mostly the standard watchdog operations. Use a system event for synchronization. This implementation is simpler and offers better SMP performance. Close #2131.
* score: Add header to _Watchdog_Remove()Sebastian Huber2015-05-191-3/+10
| | | | | | | | Add watchdog header parameter to _Watchdog_Remove() to be in line with the other operations. Add _Watchdog_Remove_ticks() and _Watchdog_Remove_seconds() for convenience. Update #2307.
* score: _Objects_Get_isr_disable()Sebastian Huber2015-04-211-3/+7
| | | | | | | Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
* score: Add Watchdog_HeaderSebastian Huber2015-04-131-2/+3
| | | | | | | This type is intended to encapsulate all state to manage a watchdog chain. Update #2307.
* cpukit: Remove old DESCRIPTION: in commentsJoel Sherrill2015-03-111-3/+5
| | | | These were remnants of pre-Doxygen comment style.
* cpukit: deprecate task variables. closes #2293.Gedare Bloom2015-03-102-4/+12
|