summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sparc in_cksum: Use __sparc__ which is available in -ansi modeJoel Sherrill2013-06-202-2/+2
|
* Added in_cksum_sparc.h to optimize IP checksum calculations for SPARC.Jiri Gaisler2013-06-192-0/+312
|
* documentation: Fix Doxygen commentsSebastian Huber2013-06-1410-28/+28
|
* scheduler: New simple SMP scheduler implementationSebastian Huber2013-06-1412-412/+294
| | | | | | | | | | | | | | | | | The new Simple SMP Scheduler allocates a processor for the processor count highest priority ready threads. The thread priority and position in the ready chain are the only information to determine the scheduling decision. Threads with an allocated processor are in the scheduled chain. After initialization the scheduled chain has exactly processor count nodes. Each processor has exactly one allocated thread after initialization. All enqueue and extract operations may exchange threads with the scheduled chain. One thread will be added and another will be removed. The scheduled and ready chain is ordered according to the thread priority order. The chain insert operations are O(count of ready threads), thus this scheduler is unsuitable for most real-time applications. The thread preempt mode will be ignored.
* scheduler: Simplify simple schedulerSebastian Huber2013-06-143-43/+50
| | | | | | | Add and use _Scheduler_simple_Insert_priority_fifo_order(), _Scheduler_simple_Insert_priority_lifo_order(), _Scheduler_simple_Insert_priority_fifo() and _Scheduler_simple_Insert_priority_lifo().
* scheduler: Add and use _Scheduler_default_Tick()Sebastian Huber2013-06-149-139/+32
| | | | | Delete _Scheduler_priority_Tick(). Use _SMP_Get_processor_count() for default tick operation. Delete _Scheduler_simple_smp_Tick().
* scheduler: Specify thread of yield operationSebastian Huber2013-06-1412-52/+74
| | | | | | The yielding thread of the yield operation is now specified by a parameter. The tick operation may be performed for each executing thread in a SMP configuration.
* scheduler: Add start idle thread operationSebastian Huber2013-06-1413-14/+96
| | | | Add and use _Scheduler_Start_idle().
* score: Simplify _Thread_Create_idle()Sebastian Huber2013-06-141-23/+12
|
* score: Rename rtems_smp_get_number_of_processors()Sebastian Huber2013-06-1410-73/+74
| | | | | | | | | Rename in rtems_smp_get_processor_count(). Always provide <rtems/score/smp.h> and <rtems/rtems/smp.h>. Add _SMP_Get_processor_count(). This function will be a compile time constant defined to be one on uni-processor configurations. This allows iterations over all processors without overhead on uni-processor configurations.
* score: Add and use _Thread_Dispatch_if_necessary()Sebastian Huber2013-06-142-30/+27
| | | | | | | | | Delete _Thread_Evaluate_is_dispatch_needed(). Use _Thread_Dispatch_is_enabled() in rtems_task_mode() instead of the system state to determine if a thread dispatch is allowed. Signales are now delivered in rtems_task_mode() even if preemption is disabled. This is in line with rtems_signal_send().
* score: Add and use _Thread_Dispatch_is_enabled()Sebastian Huber2013-06-1411-49/+22
| | | | | Delete _Thread_Dispatch_in_critical_section() and _Thread_Is_dispatching_enabled().
* score: Add _Chain_Insert_ordered_unprotected()Sebastian Huber2013-06-141-0/+41
|
* rtems: Simplify rtems_task_mode()Sebastian Huber2013-06-141-6/+4
|
* smp: Fix _Thread_Dispatch_decrement_disable_levelSebastian Huber2013-06-121-1/+7
| | | | | | We must obtain the processor ID after interrupts are disabled since a non-optimizing compiler may store the value on the stack and read it back.
* smp: Protect decrement operationSebastian Huber2013-06-121-4/+4
|
* smp: Add and use _Per_CPU_Lock_acquire()Sebastian Huber2013-06-122-6/+12
| | | | Add and use _Per_CPU_Lock_release().
* score: Avoid cyclic include dependencySebastian Huber2013-06-121-1/+2
|
* score: Add missing includeSebastian Huber2013-06-121-0/+1
|
* termios: SMP supportSebastian Huber2013-06-122-20/+30
|
* termios: Notify driver about inactive transmitSebastian Huber2013-06-121-0/+3
| | | | | | Returning this state in the return value leads to race conditions on SMP. The inactive state notification must be inside the critical section.
* termios: Expand critical sectionSebastian Huber2013-06-121-8/+4
| | | | | | Use interrupt disable/enable to protect the complete refill state change. This avoids race conditions for the task driven configuration and a later SMP support.
* termios: Move wake up writer task actionSebastian Huber2013-06-121-2/+8
|
* termios: Avoid second return pathSebastian Huber2013-06-121-10/+9
|
* rtems: Add interrupt locksSebastian Huber2013-06-121-0/+135
| | | | | Interrupt locks are low-level lock to protect critical sections accessed by threads and interrupt service routines.
* score: Always provide <rtems/score/smplock.h>Sebastian Huber2013-06-124-8/+12
|
* configure: DocumentationSebastian Huber2013-06-122-2/+6
|
* smp: Set state PER_CPU_STATE_UP on main processorSebastian Huber2013-06-071-4/+6
|
* score: Add and use _Objects_Put()Sebastian Huber2013-06-07114-209/+253
| | | | | | Add and use _Objects_Put_without_thread_dispatch(). These two functions pair with the _Objects_Get() function. This helps to introduce object specific SMP locks to avoid lock contention.
* score: Add _Objects_Put_for_get_isr_disable()Sebastian Huber2013-06-074-0/+23
| | | | | Provide SMP support. The ISR disable/enable is not enough to ensure mutual exclusion for SMP configurations.
* score: Align _Objects_Get_isr_disable()Sebastian Huber2013-06-071-2/+1
| | | | | Align ISR disable/enable sequence in _Objects_Get_isr_disable() with thread dispatch disable/enable sequence in _Objects_Get().
* score: Move thread dispatch content to new fileSebastian Huber2013-06-0725-247/+291
| | | | | | | Move thread dispatch declarations and inline functions to new header <rtems/score/threaddispatch.h> to make it independent of the Thread_Control structure. This avoids a cyclic dependency in case thread dispatch functions are used for the object implementation.
* score: Simplify _CORE_mutex_Seize_interrupt_try*Sebastian Huber2013-06-073-17/+17
|
* score: Simplify _CORE_semaphore_Seize_isr_disableSebastian Huber2013-06-072-6/+6
|
* score: Simplify _Thread_Create_idle_helper()Sebastian Huber2013-06-071-9/+0
| | | | | The _Thread_Initialize() function has nothing to do with thread dispatching it simply initializes the thread control.
* rtems: Move unnest dispatch after ISR enableSebastian Huber2013-06-071-1/+1
| | | | This prevents a lock order reversal.
* rtems: Fix system event send for remote threadsSebastian Huber2013-06-071-0/+1
|
* dosfs: DocumentationSebastian Huber2013-06-071-0/+8
|
* termios: Fix warningSebastian Huber2013-06-071-1/+1
|
* nfsclient: Add rpcSetXIDs()Sebastian Huber2013-06-052-0/+30
|
* nfsclient: Fix warningsSebastian Huber2013-06-052-8/+3
|
* nfsclient: Delete superfluous mask operationSebastian Huber2013-06-051-1/+1
|
* nfsclient: Delete superfluous assignmentSebastian Huber2013-06-051-1/+0
|
* libblock: Use UTF-8 converter in media managerSebastian Huber2013-06-041-3/+10
|
* dosfs: DocumentationRalf Kirchner2013-06-031-6/+97
|
* dosfs: UTF-8 Support: Multibyte conversionsRalf Kirchner2013-06-034-10/+340
| | | | | | | | | | | | Add optional conversion methods for multibyte strings. With these conversions which make use of iconv and utf8proc it becomes possible to use strings from any language (Czech, Chinese, Arabian, Hebrew, Corean, ...) for file names and directory names. NOTE: Iconv support must be activated during the build of the tool chain for these conversion methods (options --enable-newlib-iconv --enable-newlib-iconv-encodings=[ENCODINGS_YOU_WANT]). Alternatively you can provide your own conversion methods.
* libmisc: Add utf8proc-v1.1.5Ralf Kirchner2013-06-039-0/+14552
| | | | | | | utf8proc is a small library for processing UTF-8 encoded Unicode strings. Some features are Unicode normalization, stripping of default ignorable characters, case folding and detection of grapheme cluster boundaries. For the time beeing utf8proc is intended to be used for normalizing and folding UTF-8 strings for comparison purposes when adding UTF-8 support to the FAT file system.
* dosfs: UTF-8 Support: UI, backwards compatibilityRalf Kirchner2013-06-0311-560/+1781
| | | | | | | | | User interface and backwards compatibility for UTF-8 support in the FAT file system. Purpose of UTF-8 support is to permit file names and directory names with characters from all kinds of languages (Czech, Chinese, Arabian, Hebrew, Korean, ...). This commit does not yet support multibyte characters. It only contains the user interface and the backwards compatibility.
* smp: Add ARM supportSebastian Huber2013-05-317-3/+181
|
* smp: Add PowerPC supportSebastian Huber2013-05-315-2/+117
|