summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Unify pthread and gxx_wrapper once and move to score.Christian Mauderer2014-03-211-0/+48
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2187-87/+87
|
* score: Add _Assert_Not_reached()Sebastian Huber2014-03-191-0/+5
|
* score: Add _Debug_Is_owner_of_allocator()Sebastian Huber2014-03-191-0/+8
|
* score: Delete _Assert_Owner_of_giant()Sebastian Huber2014-03-192-8/+10
| | | | | Add _Debug_Is_owner_of_giant(). This makes it possible to assert the opposite.
* score: Delete _Assert_Thread_dispatching_repressedSebastian Huber2014-03-191-5/+3
| | | | | | | | Add _Debug_Is_thread_dispatching_allowed(). This makes it possible to assert the opposite. Use _ISR_Disable_without_giant()/_ISR_Enable_without_giant() to avoid misleading secondary assertion failures.
* posix: Use interal mutex for once implementationSebastian Huber2014-03-191-0/+12
| | | | | | Enable pthread_once() for all configurations. The pthread_once() function is one means to initialize POSIX keys. Another use case is the C++ support.
* score: Make _ISR_Enable_without_giant() availableSebastian Huber2014-03-181-4/+0
| | | | Make _ISR_Enable_without_giant() available for non-SMP configurations.
* score: Use only next field for chain on/offSebastian Huber2014-03-171-6/+6
| | | | | It is sufficient to use one field for the chain on/off indication. The chain API functions are highly performance critical.
* score: Add include for uintptr_t definition.Daniel Cederman2014-03-171-0/+1
|
* score: Add SMP lock profiling supportSebastian Huber2014-03-143-25/+421
|
* score: Add per-CPU profilingSebastian Huber2014-03-143-8/+216
| | | | | | | 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 function to destroy SMP locksSebastian Huber2014-03-112-4/+44
|
* score: Add local context to SMP lock APISebastian Huber2014-03-115-99/+241
| | | | | | | | | | | Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
* POSIX keys now enabled in all configurations.Joel Sherrill2014-03-071-1/+12
| | | | | | | Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
* Remove trailing whitespace in previous patchesJennifer Averett2014-03-072-4/+4
|
* score: Add cpuset support to Score.Jennifer Averett2014-03-073-0/+165
| | | | | | 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: Fix per-CPU state documentationSebastian Huber2014-03-061-3/+3
|
* score: Delete _Thread_Dispatch_set_disable_level()Sebastian Huber2014-03-061-20/+0
| | | | | This function was only used in some tests and can be replaced with other functions.
* score: Add _Atomic_Fence()Sebastian Huber2014-03-062-0/+14
|
* score: Add and use _Giant_Drop()Sebastian Huber2014-03-061-0/+12
| | | | New test smptests/smpfatal03.
* score: SMP initialization and shutdown changesSebastian Huber2014-03-062-46/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename _SMP_Request_other_cores_to_perform_first_context_switch() into _SMP_Request_start_multitasking() since this requests now a multitasking start on all configured and available processors. The name corresponds _Thread_Start_multitasking() and _SMP_Start_multitasking_on_secondary_processor() actions issued in response to this request. Move in source file to right place. Rename PER_CPU_STATE_READY_TO_BEGIN_MULTITASKING into PER_CPU_STATE_READY_TO_START_MULTITASKING. Rename PER_CPU_STATE_BEGIN_MULTITASKING into PER_CPU_STATE_REQUEST_START_MULTITASKING. Rename _SMP_Request_other_cores_to_shutdown() into _SMP_Request_shutdown(). Add a per-CPU state lock to protect all changes. This was necessary to offer a controlled shutdown of the system (atomic read/writes alone are not sufficient for this kind of synchronization). Add documentation for Per_CPU_State. Delete debug output. New tests smptests/smpfatal01 and smptests/smpfatal02.
* score: _CPU_SMP_Get_current_processor()Sebastian Huber2014-02-211-2/+1
| | | | | | | Remove RTEMS_COMPILER_PURE_ATTRIBUTE from _SMP_Get_current_processor() and all _CPU_SMP_Get_current_processor(). Make inline ASM statements volatile again. Test smptests/smpmigration01 showed that GCC optimizes too much otherwise.
* score: Rename _Internal_error_Occurred()Sebastian Huber2014-02-214-4/+4
| | | | Rename _Internal_error_Occurred() into _Terminate().
* score: _SMP_Inter_processor_interrupt_handler()Sebastian Huber2014-02-191-1/+23
| | | | | Inline _SMP_Inter_processor_interrupt_handler() to avoid function call overhead. Remove debug output.
* score: Rename rtems_smp_process_interrupt()Sebastian Huber2014-02-192-73/+5
| | | | | | Rename rtems_smp_process_interrupt() into _SMP_Inter_processor_interrupt_handler(). Delete unused header file <rtems/bspsmp.h>.
* score: Rename rtems_smp_secondary_cpu_initialize()Sebastian Huber2014-02-192-25/+27
| | | | | | Rename rtems_smp_secondary_cpu_initialize() into _SMP_Start_multitasking_on_secondary_processor(). Move declaration to <rtems/score/smpimpl.h>.
* score: Add and use <rtems/score/smpimpl.h>Sebastian Huber2014-02-193-71/+125
| | | | | Collect SMP implementation specific parts in the <rtems/score/smpimpl.h> header file.
* score: Delete bsp_smp_broadcast_interrupt()Sebastian Huber2014-02-191-14/+0
| | | | | | Since the per-CPU SMP lock must be acquired and released to send the message a single interrupt broadcast operations offers no benefits. If synchronization is required, then a SMP barrier must be used anyway.
* score: Rename bsp_smp_initialize()Sebastian Huber2014-02-191-18/+0
| | | | | Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU port must supply this function.
* score: Remove ASM guardSebastian Huber2014-02-191-4/+0
|
* score: Rename RTEMS_BSP_SMP_SHUTDOWNSebastian Huber2014-02-191-6/+6
| | | | | Rename RTEMS_BSP_SMP_SHUTDOWN in SMP_MESSAGE_SHUTDOWN since SMP messages have nothing to do with the BSP. Use UINT32_C() instead of casts.
* score: Add RTEMS_FATAL_SOURCE_SMPSebastian Huber2014-02-192-0/+14
| | | | | | Use rtems_fatal() instead of _CPU_Fatal_halt() to shutdown processors in SMP configurations since this allows intervention of BSP or application specific fatal extensions.
* score: Add RTEMS_FATAL_SOURCE_BSPSebastian Huber2014-02-191-12/+5
| | | | | | Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
* score: Delete INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UPSebastian Huber2014-02-191-1/+1
| | | | | This error case is no longer required since rtems_shutdown_executive() can be called anytime, anywhere
* score: Move _SMP_Request_other_cores_to_shutdown()Sebastian Huber2014-02-192-4/+12
| | | | | | Move _SMP_Request_other_cores_to_shutdown() invocation from rtems_shutdown_executive() to _Internal_error_Occurred() to allow a proper shutdown on SMP configurations even in the error case.
* score: Disable ISR in _Internal_error_Occurred()Sebastian Huber2014-02-192-3/+5
| | | | | | | Disable interrupts as the first step in _Internal_error_Occurred() to get a defined execution context for the fatal extensions. Make _ISR_Disable_without_giant() available for non-SMP configurations.
* score: Delete _Thread_BSP_contextSebastian Huber2014-02-191-63/+2
| | | | | | | | | | | | Do not return to BSP context in the exit() shutdown path. This makes it possible to re-use the initialization stack. It can be used for the interrupt stack for example. On targets with a small RAM this is a considerable benefit. This change eliminates also some special cases and simplifies the code. Delete _Thread_Set_global_exit_status(), _Thread_Get_global_exit_status() and _Thread_Stop_multitasking().
* score: Add SYSTEM_STATE_TERMINATEDSebastian Huber2014-02-192-18/+6
| | | | | | Merge systems states SYSTEM_STATE_SHUTDOWN and SYSTEM_STATE_FAILED into new system state SYSTEM_STATE_TERMINATED. This reflects that all system termination paths end up in _Internal_error_Occurred().
* score: Add SMP barrierSebastian Huber2014-02-171-0/+127
|
* score: Use atomic API for SMP lockSebastian Huber2014-02-171-15/+36
| | | | | Use a ticket lock implementation based on atomic operations. Delete CPU port specific SMP lock implementations.
* score: Add Atomic_UintSebastian Huber2014-02-142-0/+171
|
* score: Fix warnings, C++ compatibility, fix typosSebastian Huber2014-02-141-18/+22
|
* score: Format _Thread_Get_maximum_internal_threadsSebastian Huber2014-02-101-3/+2
|
* score: _CPU_Context_switch_to_first_task_smp()Sebastian Huber2014-02-051-17/+0
| | | | | Delete _CPU_Context_switch_to_first_task_smp() and use _CPU_Context_restore() instead.
* Add thread-local storage (TLS) supportSebastian Huber2014-02-043-2/+194
| | | | | Tested and implemented on ARM, m68k, PowerPC and SPARC. Other architectures need more work.
* score: Add _Thread_Get_maximum_internal_threads()Sebastian Huber2014-02-041-0/+19
|
* score: Add _Heap_Size_with_overhead()Sebastian Huber2014-02-041-0/+23
|
* score: Add _Workspace_Allocate_aligned()Sebastian Huber2014-02-041-0/+11
|
* cpukit/rtems: Add rtems_clock_get_uptime_nanoseconds to the RTEMS API.Chris Johns2013-12-243-0/+52
| | | | | | Add Timestamp support in the score to return a timestamp in nanoseconds. Add a test. Update the RTEMS API documentation.