summaryrefslogtreecommitdiff
path: root/cpukit/include/rtems/score (follow)
AgeCommit message (Collapse)Author
2020-09-18score: Document _Scheduler_Try_to_schedule_node()Sebastian Huber
2020-09-18score: Improve Scheduler Handler documentationSebastian Huber
2020-09-17CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZESebastian Huber
Add this application configuration option. This configuration option can be used to reserve space for the dynamic linking of modules with thread-local storage objects. Add RTEMS_TASK_STORAGE_ALIGNMENT to define the minium alignment of a thread-local storage size. Update #4074.
2020-09-17rtems: Add RTEMS_ALIGN_UP()Sebastian Huber
Update #3959. Update #4074.
2020-09-17rtems: Add RTEMS_ALIGN_DOWN()Sebastian Huber
Update #3959. Update #4074.
2020-08-31score: Add stack free handler to TCBSebastian Huber
This avoids a dependency to the stack free function in the thread destruction. Update #3959.
2020-08-31score: Add _Stack_Allocator_do_initialize()Sebastian Huber
Do the stack allocator initialization and sanity check only if a user-provided stack allocator was configured. This avoids a dependency of _Thread_Handler_initialization() on the stack allocator. Update #3959.
2020-08-31score: Add <rtems/score/freechainimpl.h>Sebastian Huber
Hide implementation details. Update #3959.
2020-08-31score: Add _Freechain_Push()Sebastian Huber
Update #3959.
2020-08-31rtems: Add _RTEMS_Name_to_id()Sebastian Huber
Simplify object name to identifier directives. Using _RTEMS_Name_to_id() to implement the directives enables a tail call optimization. Change license to BSD-2-Clause according to file history. Update #3053.
2020-08-31score: Constify objects name to id functionsSebastian Huber
2020-08-04score: Use flexible-array member for C99 and laterSebastian Huber
This addresses compiler warnings like this: warning: array subscript 0 is outside the bounds of an interior zero-length array 'abc[0]' [-Wzero-length-bounds]
2020-07-24score: Add RTEMS_WEAKSebastian Huber
Update #4032.
2020-07-21score: Improve _Thread_Start() descriptionSebastian Huber
2020-07-14score: Remove deprecated ThreadSebastian Huber
This type was deprecated in RTEMS 5.1. Close #3991.
2020-07-14rtems: Remove deprecated proc_ptr definitionSebastian Huber
Close #3586.
2020-07-14rtems: Remove support for RTEMS_DEPRECATED_TYPESSebastian Huber
Close #3584.
2020-07-14rtems: Remove deprecated rtems_extensionSebastian Huber
This type was deprecated in RTEMS 5.1. Close #3988.
2020-07-14rtems: Move declartion of _RTEMS_versionSebastian Huber
Close #3978.
2020-04-14score: Return status in _TOD_Set()Sebastian Huber
Update #3949.
2020-04-08score: Delete RTEMS_DECLARE_GLOBAL_SYMBOL()Sebastian Huber
Delete unused RTEMS_DECLARE_GLOBAL_SYMBOL(). Update #3799.
2020-04-08score: Add and use RTEMS_SYMBOL_NAME()Sebastian Huber
Update #3799.
2020-03-23score: Document _TLS_AlignmentSebastian Huber
2020-03-23score: Fix size of TLS_Thread_control_blockSebastian Huber
On most architectures, the size of the thread-local storage TCB must be 8 bytes. Fix the definition for 64-bit targets.
2020-03-16score: Add _IO_Base64()Sebastian Huber
Update #3904.
2020-02-28score: Fix context switch extensions (SMP)Sebastian Huber
In uniprocessor and SMP configurations, the context switch extensions were called during _Thread_Do_dispatch(): void _Thread_Do_dispatch( Per_CPU_Control *cpu_self, ISR_Level level ) { Thread_Control *executing; executing = cpu_self->executing; ... do { Thread_Control *heir; heir = _Thread_Get_heir_and_make_it_executing( cpu_self ); ... _User_extensions_Thread_switch( executing, heir ); ... _Context_Switch( &executing->Registers, &heir->Registers ); ... } while ( cpu_self->dispatch_necessary ); ... } In uniprocessor configurations, this is fine and the context switch extensions are called for all thread switches except the very first thread switch to the initialization thread. However, in SMP configurations, the context switch may be invalidated and updated in the low-level _Context_Switch() routine. See: https://docs.rtems.org/branches/master/c-user/symmetric_multiprocessing_services.html#thread-dispatch-details In case such an update happens, a thread will execute on the processor which was not seen in the previous call of the context switch extensions. This can confuse for example event record consumers which use events generated by a context switch extension. Fixing this is not straight forward. The context switch extensions call must move after the low-level context switch. The problem here is that we may end up in _Thread_Handler(). Adding the context switch extensions call to _Thread_Handler() covers now also the thread switch to the initialization thread. We also have to save the last executing thread (ancestor) of the processor. Registers or the stack cannot be used for this purpose. We have to add it to the per-processor information. Existing extensions may be affected, since now context switch extensions use the stack of the heir thread. The stack checker is affected by this. Calling the thread switch extensions in the low-level context switch is difficult since at this point an intermediate stack is used which is only large enough to enable servicing of interrupts. Update #3885.
2020-02-25config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and rtems_configuration_is_smp_enabled() were added during the SMP support development cycle as a workaround to fix some testsuite failures in SMP configurations. All use cases were replaced with tests for specific conditions. The configuration option and test macro were undocumented. Close #3876.
2020-02-25score: _Scheduler_Is_non_preempt_mode_supported()Sebastian Huber
If the non-preempt mode for threads is supported depends on the scheduler implementation. Add _Scheduler_Is_non_preempt_mode_supported() to indicate this. Update #3876.
2020-02-25score: Add _SMP_Need_inter_processor_interrupts()Sebastian Huber
Test for the proper system condition instead of using the rtems_configuration_is_smp_enabled() workaround. Update #3876.
2020-02-25libio: Add POSIX user environment pointer to TCBSebastian Huber
The IO library used a POSIX key to store an optional POSIX user environment pointer. This pulled in the POSIX keys support in every application configuration. Add a user environment pointer to the thread control block (TCB) instead. Applications which do not need the POSIX user environment will just get an overhead of one pointer per thread. Close #3882.
2020-02-25config: Add _SMP_Is_enabledSebastian Huber
Move the is SMP enabled configuration constant out of the configuration table. Since this was the last configuration constant in rtems_configuration_table, remove this type. Update #3875.
2020-02-25config: Add _SMP_Processor_configure_maximumSebastian Huber
Move the processor maximum configuration constant out of the configuration table. Update #3875.
2020-02-25config: Add _Workspace_Is_unifiedSebastian Huber
Move the unified workspace configuration constant out of the configuration table. Provide a default definition of the unified workspace constant. Update #3875.
2020-02-25config: Add _Workspace_SizeSebastian Huber
Move the workspace size configuration constant out of the configuration table. Update #3875.
2020-02-25config: Add _Thread_Idle_bodySebastian Huber
Move the idle thread body configuration constant out of the configuration table. Provide a default definition of the idle thread body constant. Update #3875.
2020-02-25config: Add _Thread_Idle_stack_sizeSebastian Huber
Move the idle thread stack size configuration constant out of the configuration table. Add THREAD_IDLE_STACK_SIZE_DEFAULT and use it to provide a default definition of the idle thread stack size constant. Update #3875.
2020-02-25config: Add _Watchdog_Ticks_per_timesliceSebastian Huber
Move the ticks per timeslice configuration constant out of the configuration table. Add WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT and use it to provide a default definition of the watchdog ticks per timeslice constant. Update #3875.
2020-02-25config: Add _Watchdog_Microseconds_per_tickSebastian Huber
Move the microseconds per tick configuration constant out of the configuration table. Add WATCHDOG_MICROSECONDS_PER_TICK_DEFAULT and use it to provide a default definition of the watchdog ticks constants. Update #3875.
2020-02-17score: Remove unused _Workspace_Allocate_aligned()Sebastian Huber
2020-02-14objectdata.h, objectimpl.h: Change structure member from free to deallocateJoel Sherrill
Without this change, rtems-libbsd does not compile. A macro turns free into bsd_free. Also the use of a standard library element as a program identifier is a violation of a MISRA rule. Turns out that was a good rule. :)
2020-02-12score: Simplify _Thread_Initialize()Sebastian Huber
Allocate new thread queue heads during objects information extend. This removes an error case and the last dependency on the workspace in _Thread_Initialize(). Update #3835.
2020-02-12score: Add _Objects_Allocate_with_extend()Sebastian Huber
Update #3835.
2020-02-12score: Add _Objects_Activate_unlimited()Sebastian Huber
Update #3835.
2020-02-12score: Add _Freechain_Extend()Sebastian Huber
Update #3835.
2020-02-12score: Add _Freechain_Pop()Sebastian Huber
Update #3835.
2020-02-12score: Add _Freechain_Is_empty()Sebastian Huber
Update #3835.
2020-02-12score: _Objects_Extend_information()Sebastian Huber
Return block index in _Objects_Extend_information(). This allows to customize the objects information extend. Update #3835.
2020-02-12score: Inline _Objects_Namespace_remove_u32()Sebastian Huber
This function is simple enough to be inlined. Update #3835.
2020-02-12score: Split up objects freeSebastian Huber
Split up the different objects free methods into separate functions. This helps to avoid a dependency on the workspace in case no objects or a static set of objects is configured. Update #3835.
2020-02-12score: Split up objects allocationSebastian Huber
Split up the different objects allocation methods into separate functions. This helps to avoid a dependency on the workspace in case no objects or a static set of objects is configured. Change license to BSD-2-Clause according to file histories. Update #3053. Update #3835.