| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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 );
| ^~~~~~~~~
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
The availability of a proper RTEMS_DEFINE_GLOBAL_SYMBOL() implementation
depends on __asm__() and thus __GNUC__.
Clarify documentation.
Update #4953.
|
|
|
|
| |
Update #4844.
|
|
|
|
|
| |
Move <rtems/score/gcov.h> to <rtems/test-gcov.h>. These functions do
not belong to an super core service.
|
|
|
|
| |
These functions do not belong to an super core service.
|
|
|
|
| |
This function is not a super core service.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The only use was in a test.
|
|
|
|
| |
Use the C/C++ standard API directly.
|
|
|
|
|
| |
All CPU ports used the same <rtems/score/cpustdatomic.h> header file to
provide the atomic operations. Remove the header file indirection.
|
|
|
|
|
|
|
|
| |
* _Protected_heap_Get_block_size
* _Protected_heap_Iterate
* _Protected_heap_Resize_block
Closes #4909.
|
|
|
|
|
| |
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use of this method was likely eliminated during the rework to use
FreeBSD bintime/sbintime.
Close #4905.
|
|
|
|
| |
Close #4863.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Several SMP message processing functions returned a value. This value
was always unused.
Close #4822.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Ensure that the IDLE storage allocator did allocate a suffiently large area.
Update #3835.
Update #4524.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Update #3835.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fix documentation.
|
|
|
|
|
|
|
| |
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935.
|
|
|
|
|
|
|
| |
All CPU ports used the same _CPU_Counter_difference() implementation. Remove
this CPU port interface and mandate a monotonically increasing CPU counter.
Close #3456.
|
| |
|
|
|
|
| |
Two interface specification items moved.
|
| |
|
|
|
|
|
|
| |
Use RTEMS_ZERO_LENGTH_ARRAY for flexible array member.
Update #4662.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #4706.
|
|
|
|
| |
Update #4706.
|
|
|
|
| |
UPdates #4706
|