summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Rename _Scheduler_simple_Update()Sebastian Huber2013-08-086-22/+42
| | | | Rename _Scheduler_simple_Update() in _Scheduler_default_Update().
* score: Rename _Scheduler_simple_Allocate(), etc.Sebastian Huber2013-08-086-46/+63
| | | | | Rename _Scheduler_simple_Allocate() in _Scheduler_default_Allocate(). Rename _Scheduler_simple_Free() in _Scheduler_default_Free().
* score: Rename _Scheduler_priority_Release_job()Sebastian Huber2013-08-086-28/+24
| | | | | Rename _Scheduler_priority_Release_job() into _Scheduler_default_Release_job().
* PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber2013-08-0818-42/+0
|
* PR766: Delete __RTEMS_INSIDE__Sebastian Huber2013-08-085-11/+0
|
* PR766: Delete __RTEMS_APPLICATION__Sebastian Huber2013-08-081-14/+0
| | | | This define is no longer used.
* posix: Delete POSIX_Keys_Freechain typeSebastian Huber2013-08-085-80/+76
| | | | | | Use the POSIX configuration value directly. Use right type early and avoid casts. Use proper unlimited objects API. Check workspace allocation. Make functions static.
* posix: Add missing header.Chris Johns2013-08-081-8/+9
|
* posix: Use _Objects_Put() for POSIX keysSebastian Huber2013-08-063-10/+15
|
* posix: Create key implementation headerSebastian Huber2013-08-0616-254/+221
| | | | | | Move implementation specific parts of key.h and key.inl into new header file keyimpl.h. The key.h contains now only the application visible API.
* Unlimited objects support for POSIX keysZhongwei Yao2013-08-0612-170/+403
| | | | | | | This patch enables unlimited model in POSIX key manger and have a decent runtime on POSIX key searching, adding and deleting operations. Memory overhead is lower than current implementation when the size of key and key value becomes big.
* Fix compiler warningsR. Diez2013-08-063-7/+7
|
* correct comments about atomic apiWeiY2013-08-062-10/+10
|
* arm: Fix ISR level context initializationSebastian Huber2013-08-051-1/+2
|
* smp: Support ASR path in rtems_task_mode()Sebastian Huber2013-08-051-0/+14
|
* arm: Fix CPU_MODES_INTERRUPT_MASKSebastian Huber2013-08-052-4/+6
| | | | | The set of interrupt levels must be a continuous range of non-negative integers starting at zero.
* smp: Generalize _Thread_Start_multitasking()Sebastian Huber2013-08-054-47/+37
| | | | | | | | | | Add context parameter to _Thread_Start_multitasking() and use this function in rtems_smp_secondary_cpu_initialize(). This avoids duplication of code. Fix missing floating point context initialization in rtems_smp_secondary_cpu_initialize(). Now performed via _Thread_Start_multitasking().
* score: Delete SYSTEM_STATE_BEGIN_MULTITASKINGSebastian Huber2013-08-053-16/+2
| | | | | Nothing happened between the SYSTEM_STATE_BEGIN_MULTITASKING to SYSTEM_STATE_UP transition.
* bfin/cpu.h: Remove duplicate definition of CPU_SIMPLE_VECTORED_INTERRUPTSJoel Sherrill2013-08-011-13/+0
|
* score: Use an ISR lock for TODSebastian Huber2013-08-018-30/+90
| | | | | | | | | | | | | Two issues are addressed. 1. On single processor configurations the set/get of the now/uptime timestamps is now consistently protected by ISR disable/enable sequences. Previously nested interrupts could observe partially written values since 64-bit writes are not atomic on 32-bit architectures in general. This could lead to non-monotonic uptime timestamps. 2. The TOD now/uptime maintanence is now independent of the giant lock. This is the first step to remove the giant lock in _Thread_Dispatch().
* score: Move nanoseconds since last tick supportSebastian Huber2013-08-0111-91/+82
| | | | | | 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: Add and use _TOD_Is_set()Sebastian Huber2013-08-017-6/+11
|
* score: Delete _TOD_Activate and _TOD_DeactivateSebastian Huber2013-08-013-21/+0
|
* score: Rename tod.h to todimpl.hSebastian Huber2013-08-0151-54/+54
|
* score: ISR lock API changesSebastian Huber2013-08-012-26/+56
|
* score: Add and use _Thread_Update_cpu_time_used()Sebastian Huber2013-08-013-16/+38
| | | | Fix _times().
* score: Add and use ISR locksSebastian Huber2013-07-314-48/+177
| | | | | | | | | | | | 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.
* smp: Provide cache optimized Per_CPU_ControlSebastian Huber2013-07-314-21/+42
| | | | Delete _Per_CPU_Information_p.
* score: Format <rtems/score/percpu.h>Sebastian Huber2013-07-311-63/+60
|
* score/cpu: Fix _CPU_SMP_lock_Acquire()Sebastian Huber2013-07-302-2/+2
| | | | Avoid infinite loops due to compiler optimization.
* score/i386: Fix _CPU_Fatal_halt()Sebastian Huber2013-07-301-1/+2
|
* smp: Delete _SMP_Request_other_cores_to_dispatch()Sebastian Huber2013-07-307-39/+23
| | | | | Use an event triggered unicast to inform remote processors about a necessary thread dispatch instead.
* score: Move _Thread_Dispatch_if_necessary()Sebastian Huber2013-07-302-27/+20
| | | | Rename to _RTEMS_Tasks_Dispatch_if_necessary().
* posix: Simplify pthread_kill()Sebastian Huber2013-07-301-1/+0
| | | | | Delete _Thread_Signal_notification() since this is a side-effect of _POSIX_signals_Unblock_thread().
* score: Add and use _Thread_Signal_notification()Sebastian Huber2013-07-304-8/+10
|
* smp: Delete _ISR_Disable_on_this_core(), etc.Sebastian Huber2013-07-304-144/+33
| | | | | | | | | | | | | | | | | | | | Delete _ISR_Enable_on_this_core(), _ISR_Flash_on_this_core(), _ISR_SMP_Disable(), _ISR_SMP_Enable(), _ISR_SMP_Flash(). The ISR disable/enable interface has no parameter to pass a specific object. Thus it is only possible to implement a single global lock object with this interface. Using the ISR disable/enable as the giant lock on SMP configurations is not feasible. Potentially blocking resource obtain sequences protected by the thread dispatch disable level are subdivided into smaller ISR disabled critical sections. This works since on single processor configurations there is only one thread of execution that can block. On SMP this is different (image a mutex obtained concurrently by different threads on different processors). The thread dispatch disable level is currently used as the giant lock. There is not need to complicate things with this unused interface.
* smp: Delete _ISR_SMP_Initialize()Sebastian Huber2013-07-303-16/+0
|
* score: Critical section change in _Thread_DispatchSebastian Huber2013-07-301-2/+2
| | | | | | | | | | | | | | | | If we enter _Thread_Dispatch() then _Thread_Dispatch_disable_level must be zero. Single processor RTEMS assumes that stores of non-zero values to _Thread_Dispatch_disable_level are observed by interrupts as non-zero values. Move the _Thread_Dispatch_set_disable_level( 1 ) out of the first ISR disabled critical section. In case interrupts happen between the _Thread_Dispatch_set_disable_level( 1 ) and _ISR_Disable( level ) then the interrupt will observe a non-zero _Thread_Dispatch_disable_level and will not issue a _Thread_Dispatch() and we can enter the ISR disabled section directly after interrupt processing. This change leads to symmetry between the single processor and SMP configuration.
* score: Add assert to _Per_CPU_Get()Sebastian Huber2013-07-301-0/+3
| | | | | Thread dispatching must be repressed to use the per CPU control of the current processor consistently.
* score: Add _Assert_Thread_dispatching_repressed()Sebastian Huber2013-07-303-0/+41
|
* score: New header file <rtems/score/assert.h>Sebastian Huber2013-07-303-0/+50
|
* smp: Add and use _Per_CPU_Get()Sebastian Huber2013-07-306-39/+68
| | | | | | Add and use _Per_CPU_Get_by_index() and _Per_CPU_Get_index(). Add _Per_CPU_Send_interrupt(). This avoids direct access of _Per_CPU_Information.
* smp: Use Thread_Control.is_executingSebastian Huber2013-07-301-7/+4
| | | | FIXME: This area needs proper locking.
* score: Move object content to public APISebastian Huber2013-07-282-23/+23
|
* score: Move object MP content to public APISebastian Huber2013-07-282-14/+20
|
* Return the amount of data written when an error occurs rather thanChris Johns2013-07-271-3/+9
| | | | | | the error. The change lets the mrfs_fsrdwr test pass.
* libmisc: Provide libutf8proc conditionallySebastian Huber2013-07-263-0/+10
|
* score: Merge tod implementation into one fileSebastian Huber2013-07-2680-356/+87
| | | | | Delete TOD_MICROSECONDS_PER_SECOND, TOD_MICROSECONDS_TO_TICKS() and TOD_MILLISECONDS_TO_TICKS().
* score: Create object implementation headerSebastian Huber2013-07-26195-1401/+1187
| | | | | | 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.
* Include missing <rtems/score/threaddispatch.h>Sebastian Huber2013-07-2619-47/+29
|