| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reject non-positive CONFIGURE_MICROSECONDS_PER_TICK values.
|
|
|
|
|
|
|
| |
Move it from the configuration to a separate variable.
Update #3117.
Update #3182.
|
|
|
|
|
| |
Update #3117.
Update #3182.
|
|
|
|
|
|
|
|
| |
A non-integer clock ticks per second value may lead to inaccurate time
format conversions.
Update #3117.
Update #3182.
|
|
|
|
|
|
|
|
| |
This value is frequently used. Avoid the function call overhead and the
integer division at run-time.
Update #3117.
Update #3182.
|
|
|
|
|
|
|
|
|
| |
Update #2674.
Close #3112.
Close #3113.
Close #3114.
Close #3115.
Close #3116.
|
| |
|
|
|
|
|
|
|
|
| |
POSIX mutexes are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3112.
|
|
|
|
|
|
|
|
| |
POSIX condition variables are now available in all configurations and no
longer depend on --enable-posix.
Update #2514.
Update #3113.
|
|
|
|
|
|
|
|
| |
POSIX rwlocks are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3115.
|
|
|
|
|
|
|
|
| |
POSIX barriers are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3114.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For semaphore object pointer and object validation see
POSIX_SEMAPHORE_VALIDATE_OBJECT().
Destruction or close of a busy semaphore returns an error status. The
object is not flushed.
POSIX semaphores are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3116.
|
|
|
|
|
|
|
| |
Remove the OBJECTS_UNLIMITED_OBJECTS flag for the memory size
configuration.
Update #3105.
|
|
|
|
|
|
| |
Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT.
Update #3077.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The EDF SMP scheduler supports simple thread processor affinities
(see #3059) with a small run-time overhead. The current default SMP
scheduler lacks support for thread processor affinities at all. The EDF
SMP scheduler offers a good feature set for most applications. So, use
it by default. Run-time libraries like libgomp, MTAPI, work stealing
schedulers, language interpreters (e.g. Erlang virtual machine),
maintainence of per-processor data (e.g. Universal Memory Allocator
(UMA)), etc. use a one-to-one thread processor affinity for example.
Update #3063.
|
|
|
|
| |
Update #3059.
|
|
|
|
| |
Update #3056.
|
|
|
|
|
|
|
|
|
|
|
| |
Do not use the processor count to determine if SMP is enabled. Instead
use a dedicated configuration option. Enable SMP by default in SMP
configurations.
Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail
otherwise.
Update #3001.
|
|
|
|
|
|
| |
Bug introduced by f778b7f3f177a39505aeea61206e95fc54f875be.
Update #3001.
|
|
|
|
| |
Update #3001.
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the SMP configuration by default in case SMP is enabled. Add
configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it
explicitly.
Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail
otherwise.
Update #3001.
|
|
|
|
| |
Update #2859.
|
| |
|
|
|
|
|
|
|
| |
Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS
since the SMP part is superfluous.
Update #2894.
|
|
|
|
| |
Close #2895.
|
| |
|
| |
|
|
|
|
|
|
| |
Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1.
Update #2893.
|
| |
|
|
|
|
|
|
|
|
|
| |
Add POSIX shared memory manager (Shm). Includes a hook-based
approach for the backing memory storage that defaults to the
Workspace, and a test is provided using the heap. A test is
also provided for the basic use of mmap'ing a shared memory
object. This test currently fails at the mmap stage due to
no support for mmap.
|
|
|
|
|
|
| |
Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE.
Update #2858.
|
| |
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
| |
Update #2825.
|
|
|
|
|
|
|
|
|
| |
The fatal is internal indicator is redundant since the fatal source and
error code uniquely identify a fatal error. Keep the fatal user
extension is internal parameter for backward compatibility and set it to
false always.
Update #2825.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resurrect RTEMS_LINKER_SET_BEGIN() and RTEMS_LINKER_SET_END().
Add new macros RTEMS_LINKER_SET_ITEM_COUNT(),
RTEMS_LINKER_SET_IS_EMPTY(), and
RTEMS_LINKER_SET_FOREACH().
Remove confusing RTEMS_LINKER_SET_ASSIGN_BEGIN() and
RTEMS_LINKER_SET_ASSIGN_END().
Fix RTEMS_LINKER_SET_SIZE() to return the size in characters as
specified by the documentation.
Update #2408.
Update #2790.
|
|
|
|
| |
Update #2825.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turn pthread_spinlock_t into a self-contained object. On uni-processor
configurations, interrupts are disabled in the lock/trylock operations
and the previous interrupt status is restored in the corresponding
unlock operations. On SMP configurations, a ticket lock is a acquired
and released in addition.
The self-contained pthread_spinlock_t object is defined by Newlib in
<sys/_pthreadtypes.h>.
typedef struct {
struct _Ticket_lock_Control _lock;
__uint32_t _interrupt_state;
} pthread_spinlock_t;
This implementation is simple and efficient. However, this test case of
the Linux Test Project would fail due to call of printf() and sleep()
during spin lock ownership:
https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c
There is only limited support for profiling on SMP configurations.
Delete CORE spinlock implementation.
Update #2674.
|
|
|
|
|
|
|
| |
Replace the expected thread dispatch disable level with a thread queue
enqueue callout. This enables the use of _Thread_Dispatch_direct() in
the thread queue enqueue procedure. This avoids impossible exection
paths, e.g. Per_CPU_Control::dispatch_necessary is always true.
|
|
|
|
|
|
|
|
|
|
|
|
| |
On SMP configurations, it is a fatal error to call blocking operating
system with interrupts disabled, since this prevents delivery of
inter-processor interrupts. This could lead to executing threads which
are not allowed to execute resulting in undefined behaviour.
The ARM Cortex-M port has a similar problem, since the interrupt state
is not a part of the thread context.
Update #2811.
|
|
|
|
|
|
|
|
|
|
| |
This function is useful for operations which synchronously block, e.g.
self restart, self deletion, yield, sleep. It helps to detect if these
operations are called in the wrong context. Since the thread dispatch
necessary indicator is not used, this is more robust in some SMP
situations.
Update #2751.
|
|
|
|
|
|
|
|
| |
Rename _Scheduler_Assignments into _Scheduler_Initial_assignments to
make it clear that they may not reflect the run-time scheduler
assignment.
Update #2797.
|
|
|
|
| |
Update #2556.
|
|
|
|
|
| |
Update #2408.
Update #2790.
|
|
|
|
| |
Update #2556.
|
| |
|