summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-04-09score: Improve C/C++ standard compatibilitySebastian Huber3-379/+439
The processor mask implementation uses flsl() from <strings.h> which is only BSD visible. Move the implementation to a separate header file to hide it from the API level. This fixes build errors with GCC 14.
2024-03-23rtems: Avoid -Wundef warnings in API headerSebastian Huber1-6/+6
2023-11-21score: Fix typo in nameSebastian Huber1-1/+1
2023-11-02score: Fix implicit integer conversion warningsSebastian Huber1-6/+6
2023-10-30cpukit/score: Convert Thread_Life_state to uint32_tKinsey Moore1-40/+40
Thread_Life_state is used as a bitfield, but is declared as an enum. This converts the enum typedef to a uint32_t typedef and associated bit definitions.
2023-10-20mpci: Hide implementation detailsSebastian Huber2-3/+3
This improves the standard compatibility of API headers. It fixes errors like this if RTEMS_MULTIPROCESSING is enabled: cpukit/include/rtems/score/processormask.h: In function 'uint32_t _Processor_mask_Find_last_set(const Processor_mask*)': cpukit/include/rtems/score/processormask.h:339:21: error: 'flsl' was not declared in this scope 339 | return (uint32_t) __BIT_FLS( CPU_MAXIMUM_PROCESSORS, a ); | ^~~~~~~~~
2023-09-15rtems: rtems_configuration_get_interrupt_stack_size()Sebastian Huber1-1/+13
Fix rtems_configuration_get_interrupt_stack_size() for some code models. The _ISR_Stack_size symbol has an arbitrary absolute address and may not be representable in the code model used by the compiler. Update #4953.
2023-09-15score: Fix TLS support for some code modelsSebastian Huber1-53/+67
Store symbols with an arbitrary absolute address such as _TLS_Size, _TLS_Alignment, _TLS_Data_size, and _TLS_BSS_size in an object to avoid issues with some code models. Update #4953.
2023-09-13score: Fix RTEMS_DEFINE_GLOBAL_SYMBOL()Sebastian Huber1-2/+3
The availability of a proper RTEMS_DEFINE_GLOBAL_SYMBOL() implementation depends on __asm__() and thus __GNUC__. Clarify documentation. Update #4953.
2023-07-28score: Assert scheduler index validitySebastian Huber2-1/+3
Update #4844.
2023-07-28score: Move <rtems/score/gcov.h>Sebastian Huber1-87/+0
Move <rtems/score/gcov.h> to <rtems/test-gcov.h>. These functions do not belong to an super core service.
2023-07-28score: Move formatted I/O functionsSebastian Huber2-143/+1
These functions do not belong to an super core service.
2023-07-24score: Move _IO_Relax() to new <rtems/dev/io.h>Sebastian Huber1-8/+0
This function is not a super core service.
2023-07-03Revert accidentally committed "Remove unused _IO_Relax"Joel Sherrill1-0/+8
Sebastian has agreed to move this out of score. I should have removed this patch from my tree but accidentally committed it with another patch.
2023-07-03Remove unused _IO_RelaxJoel Sherrill1-8/+0
The only use was in a test.
2023-06-12score: Remove CPU port atomic operations APISebastian Huber2-1060/+888
Use the C/C++ standard API directly.
2023-06-12score: Remove CPU port specific cpuatomic.hSebastian Huber1-0/+0
All CPU ports used the same <rtems/score/cpustdatomic.h> header file to provide the atomic operations. Remove the header file indirection.
2023-05-26score/src/pheap*: Remove unreferenced methodsJoel Sherrill1-69/+0
* _Protected_heap_Get_block_size * _Protected_heap_Iterate * _Protected_heap_Resize_block Closes #4909.
2023-05-20Update company nameSebastian Huber53-53/+53
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2023-05-19basedefs.h: Improve formattingSebastian Huber1-2/+2
2023-05-19basedefs.h: Add proper brief descriptionSebastian Huber1-3/+2
2023-05-16_TOD_Adjust method is unused. Remove it.Joel Sherrill1-15/+0
Use of this method was likely eliminated during the rework to use FreeBSD bintime/sbintime. Close #4905.
2023-04-26score: Simplify _Objects_Is_api_valid()Sebastian Huber1-3/+1
Close #4863.
2023-04-25score: Avoid cyclic header file dependenciesSebastian Huber2-60/+66
There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from assert.h in basedefs.h. Fix this by introducing _Debug_Unreachable() in basedefs.h. Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and assert.h. Close #4900.
2023-03-17doxygen: Add files to groups and fix group scopesSebastian Huber1-1/+1
2023-03-17doxygen: Fix group identifiersSebastian Huber2-6/+6
2023-03-15score: Fix Doxygen group identifierSebastian Huber1-1/+1
2023-03-15score: Add file to Doxygen groupSebastian Huber1-0/+2
2023-02-07score: Fix maybe uninitialized warningZhongjie Zhu1-3/+4
There are different cases for _ISR_lock_ISR_disable() and _ISR_lock_ISR_enable() in the case RTEMS_SMP is defined or RTEMS_PROFILING is defined, so remove the related code. ../../../cpukit/include/rtems/score/threaddispatch.h: In function '_Thread_Dispatch_disable': ../../../cpukit/include/rtems/score/threaddispatch.h:231:14: warning: 'lock_context' may be used uninitialized [-Wmaybe-uninitialized] 231 | cpu_self = _Thread_Dispatch_disable_critical( &lock_context ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../cpukit/include/rtems/score/threaddispatch.h:210:32: note: by argument 1 of type 'const ISR_lock_Context *' to '_Thread_Dispatch_disable_critical' declared here 210 | static inline Per_CPU_Control *_Thread_Dispatch_disable_critical( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../cpukit/include/rtems/score/threaddispatch.h:225:21: note: 'lock_context' declared here 225 | ISR_lock_Context lock_context; | ^~~~~~~~~~~~ Update #4662.
2023-01-24score: Remove unused return valueSebastian Huber1-11/+4
Several SMP message processing functions returned a value. This value was always unused. Close #4822.
2023-01-23score: Fix minor Rhe->The typo in doxygenMartin Erik Werner1-1/+1
2022-12-20score: Fix _Processor_mask_To_uint32_t()Sebastian Huber1-2/+2
Correctly calculate the array index and shift value in _Processor_mask_To_uint32_t(). The bugs had no impact yet since this function was always called with a zero value for the index in RTEMS.
2022-10-14score: INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALLSebastian Huber1-1/+2
Ensure that the IDLE storage allocator did allocate a suffiently large area. Update #3835. Update #4524.
2022-10-14config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZESebastian Huber3-11/+57
By default, allocate the IDLE task storage areas from the RTEMS Workspace. This avoids having to estimate the thread-local storage size in the default configuration. Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to request a static allocation of the task storage area for IDLE tasks. Update #3835. Update #4524.
2022-10-14score: INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILEDSebastian Huber1-0/+1
Add the INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED fatal error in case the creation of an idle thread fails. This may happen due to a failing create extension provided by the application.
2022-10-14score: Simplify castsSebastian Huber1-8/+4
2022-10-14score: Add CPU_THREAD_LOCAL_STORAGE_VARIANTSebastian Huber1-119/+85
Update #3835.
2022-10-14score: Move Thread_Control::Registers memberSebastian Huber1-2/+9
Place this member placed directly after the end of the common block so that the structure offsets are as small as possible. This helps on instruction set architectures with a very limited range for intermediate values. For example, see the __aeabi_read_tp() implementation for ARM Thumb-1. Update #3835.
2022-10-14config: Changeable size for IDLE stack allocatorSebastian Huber1-5/+12
Allow the IDLE stack allocator to change the stack size. This can be used by applications with a very dynamic thread-local storage size to adjust the thread storage area of the IDLE tasks dynamically. Update #4524.
2022-09-23score: Simplify Chain_Node definitionSebastian Huber1-16/+6
Fix documentation.
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber44-548/+548
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-09-09score: Remove _CPU_Counter_difference()Sebastian Huber2-6/+3
All CPU ports used the same _CPU_Counter_difference() implementation. Remove this CPU port interface and mandate a monotonically increasing CPU counter. Close #3456.
2022-09-08score: Improve formattingSebastian Huber1-4/+10
2022-09-05score: Regenerate <rtems/score/basedefs.h>Sebastian Huber1-2/+2
Two interface specification items moved.
2022-09-05Add items to Doxygen groupsSebastian Huber1-0/+6
2022-08-31Fix pedanic warnings without a storage increaseSebastian Huber1-1/+1
Use RTEMS_ZERO_LENGTH_ARRAY for flexible array member. Update #4662.
2022-08-30score: Do not expose <limits.h> to <rtems.h>Sebastian Huber1-3/+1
The <rtems.h> header file should not unnecessarily include standard C header files. The <string.h> and <limits.h> header includes were removed in 2017. Update #4662.
2022-08-29score: Fix formatSebastian Huber1-1/+1
Update #4706.
2022-08-29score: Fix formatSebastian Huber2-3/+3
Update #4706.
2022-08-22cpukit/include: Fix including in C++Chris Johns2-3/+3
UPdates #4706