summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Improve C/C++ standard compatibilitySebastian Huber10 days3-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.
* rtems: Avoid -Wundef warnings in API headerSebastian Huber2024-03-231-6/+6
|
* score: Fix typo in nameSebastian Huber2023-11-211-1/+1
|
* score: Fix implicit integer conversion warningsSebastian Huber2023-11-021-6/+6
|
* cpukit/score: Convert Thread_Life_state to uint32_tKinsey Moore2023-10-301-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.
* mpci: Hide implementation detailsSebastian Huber2023-10-202-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 ); | ^~~~~~~~~
* rtems: rtems_configuration_get_interrupt_stack_size()Sebastian Huber2023-09-151-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.
* score: Fix TLS support for some code modelsSebastian Huber2023-09-151-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.
* score: Fix RTEMS_DEFINE_GLOBAL_SYMBOL()Sebastian Huber2023-09-131-2/+3
| | | | | | | | | The availability of a proper RTEMS_DEFINE_GLOBAL_SYMBOL() implementation depends on __asm__() and thus __GNUC__. Clarify documentation. Update #4953.
* score: Assert scheduler index validitySebastian Huber2023-07-282-1/+3
| | | | Update #4844.
* score: Move <rtems/score/gcov.h>Sebastian Huber2023-07-281-87/+0
| | | | | Move <rtems/score/gcov.h> to <rtems/test-gcov.h>. These functions do not belong to an super core service.
* score: Move formatted I/O functionsSebastian Huber2023-07-282-143/+1
| | | | These functions do not belong to an super core service.
* score: Move _IO_Relax() to new <rtems/dev/io.h>Sebastian Huber2023-07-241-8/+0
| | | | This function is not a super core service.
* Revert accidentally committed "Remove unused _IO_Relax"Joel Sherrill2023-07-031-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.
* Remove unused _IO_RelaxJoel Sherrill2023-07-031-8/+0
| | | | The only use was in a test.
* score: Remove CPU port atomic operations APISebastian Huber2023-06-122-1060/+888
| | | | Use the C/C++ standard API directly.
* score: Remove CPU port specific cpuatomic.hSebastian Huber2023-06-121-0/+0
| | | | | All CPU ports used the same <rtems/score/cpustdatomic.h> header file to provide the atomic operations. Remove the header file indirection.
* score/src/pheap*: Remove unreferenced methodsJoel Sherrill2023-05-261-69/+0
| | | | | | | | * _Protected_heap_Get_block_size * _Protected_heap_Iterate * _Protected_heap_Resize_block Closes #4909.
* Update company nameSebastian Huber2023-05-2053-53/+53
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* basedefs.h: Improve formattingSebastian Huber2023-05-191-2/+2
|
* basedefs.h: Add proper brief descriptionSebastian Huber2023-05-191-3/+2
|
* _TOD_Adjust method is unused. Remove it.Joel Sherrill2023-05-161-15/+0
| | | | | | | Use of this method was likely eliminated during the rework to use FreeBSD bintime/sbintime. Close #4905.
* score: Simplify _Objects_Is_api_valid()Sebastian Huber2023-04-261-3/+1
| | | | Close #4863.
* score: Avoid cyclic header file dependenciesSebastian Huber2023-04-252-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.
* doxygen: Add files to groups and fix group scopesSebastian Huber2023-03-171-1/+1
|
* doxygen: Fix group identifiersSebastian Huber2023-03-172-6/+6
|
* score: Fix Doxygen group identifierSebastian Huber2023-03-151-1/+1
|
* score: Add file to Doxygen groupSebastian Huber2023-03-151-0/+2
|
* score: Fix maybe uninitialized warningZhongjie Zhu2023-02-071-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.
* score: Remove unused return valueSebastian Huber2023-01-241-11/+4
| | | | | | | Several SMP message processing functions returned a value. This value was always unused. Close #4822.
* score: Fix minor Rhe->The typo in doxygenMartin Erik Werner2023-01-231-1/+1
|
* score: Fix _Processor_mask_To_uint32_t()Sebastian Huber2022-12-201-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.
* score: INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALLSebastian Huber2022-10-141-1/+2
| | | | | | | Ensure that the IDLE storage allocator did allocate a suffiently large area. Update #3835. Update #4524.
* config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZESebastian Huber2022-10-143-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.
* score: INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILEDSebastian Huber2022-10-141-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.
* score: Simplify castsSebastian Huber2022-10-141-8/+4
|
* score: Add CPU_THREAD_LOCAL_STORAGE_VARIANTSebastian Huber2022-10-141-119/+85
| | | | Update #3835.
* score: Move Thread_Control::Registers memberSebastian Huber2022-10-141-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.
* config: Changeable size for IDLE stack allocatorSebastian Huber2022-10-141-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.
* score: Simplify Chain_Node definitionSebastian Huber2022-09-231-16/+6
| | | | Fix documentation.
* Do not use RTEMS_INLINE_ROUTINESebastian Huber2022-09-1944-548/+548
| | | | | | | Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
* score: Remove _CPU_Counter_difference()Sebastian Huber2022-09-092-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.
* score: Improve formattingSebastian Huber2022-09-081-4/+10
|
* score: Regenerate <rtems/score/basedefs.h>Sebastian Huber2022-09-051-2/+2
| | | | Two interface specification items moved.
* Add items to Doxygen groupsSebastian Huber2022-09-051-0/+6
|
* Fix pedanic warnings without a storage increaseSebastian Huber2022-08-311-1/+1
| | | | | | Use RTEMS_ZERO_LENGTH_ARRAY for flexible array member. Update #4662.
* score: Do not expose <limits.h> to <rtems.h>Sebastian Huber2022-08-301-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.
* score: Fix formatSebastian Huber2022-08-291-1/+1
| | | | Update #4706.
* score: Fix formatSebastian Huber2022-08-292-3/+3
| | | | Update #4706.
* cpukit/include: Fix including in C++Chris Johns2022-08-222-3/+3
| | | | UPdates #4706