Age | Commit message (Collapse) | Author |
|
We must not clear the priority updates in _Thread_queue_Extract_locked()
since this function is used by the priority ceiling surrender operations
after the ceiling priority handover from the previous owner to the new
owner. This is especially important in SMP configurations.
Move the _Thread_queue_Context_clear_priority_updates() invocation to
the callers.
Close #3237.
|
|
The thread queue extract operations performed by the
_Thread_queue_Flush_critical() may result in a priority change of the
thread queue owner. Carry out the scheduler priority update operation.
This is especially important in SMP configurations.
Close #3236.
|
|
The _Semaphore_Get_operations() must return the proper operations for
priority inheritance semaphores.
Add a test case for rtems_semaphore_flush() with priority inheritance.
Close #3235.
|
|
The watchdog routines invoked by the timer server may use mutexes for
synchronization. Ensure that the resource count of the timer server is
zero after each watchdog routine invocation. This helps to detect
broken watchdog routines.
|
|
This assert helps to detect an invalid reference counting in RTEMS_DEBUG
configurations.
Update #3132.
|
|
Update #3217.
|
|
This fixes the legacy Makefile based build system which expects
RTEMS_API to be identical to the tool chain version.
Update #3220.
|
|
Change "==" to "=", since "==" for comparison is not available in POSIX
sh.
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
|
|
- Remove the macro defines and the need for tmacro.h by remapping the
symbols using ld's wrap option.
- Remove FLUSH_OUTPUT, it was empty.
- Move rtems_test_exit to libmisc/testsupport as a function.
Update #3199.
|
|
Add a tests enum and move all test banner test to the library in libmisc.
Update #3199.
|
|
Provide functions to get the version string, major, minor and revision
numbers and the version control identifer that is a unique tag for
the version control system.
Update #3199.
|
|
Update #3185.
|
|
Move basic timecounter API shared with BSD network stack to
<machine/_timecounter.h>.
Update #3185.
|
|
Tool name will be "rtems5", e.g. arm-rtems5-gcc.
Next release will 5.1.0. Branch version after release will be 5.1.1.
Next master will be 6.0.0.
|
|
Remove POSIX_API_Control::created_with_explicit_scheduler. Add
Thread_Control::was_created_with_inherited_scheduler. This fixes also
pthread_getattr_np() for Classic tasks.
Update #2514.
|
|
Use the thread CPU budget algorithm to determine the scheduler policy.
This fixes also pthread_getschedparam() for Classic tasks.
Update #2514.
|
|
In canonical mode, input is made available line by line. We must stop
the canonical buffer filling upon reception of an end-of-line character.
Close #3218.
|
|
|
|
Change the chain order relation to use a directly specified left hand
side value. This is similar to _RBTree_Insert_inline() and helps the
compiler to better optimize the code.
|
|
Update #3059.
|
|
Update #3170.
Update #3199.
|
|
The previous vprintk() implementation had a questionable licence header,
lacks support for the 'z' and 'j' format specifiers, is not robust
against invalid format specifiers, uses a global variable for output.
Replace it with a stripped down version of the FreeBSD kernel kvprintf()
function.
The new implementation allows a low overhead rtems_snprintf() if
necessary.
Update #3199.
Close #3216.
|
|
Close #3205.
|
|
* Use #ifdefs for 32/64 bit code
* Use unsigned long which is 32-bit on riscv32 and 64-bit on riscv64 (register size)
* Move the code to a new shared riscv folder to be shared between riscv32 and riscv64
* Rename RTEMS_CPU extracted from command line to shared riscv target s/riscv*/riscv
Update #3109
|
|
|
|
Update #3170.
Update #3199.
|
|
Statically initialize it to use printk().
Update #3170.
Update #3199.
|
|
Update #3109.
|
|
|
|
In case the user provides a stack with address and size, then do not
alter the stack size.
Close #3211.
|
|
There is no need to pass in the order relation since the scheduled
threads reside on an already ordered chain. The caller will decide what
to do with the lowest scheduled thread.
|
|
Limitations:
* NO FPU support [TODO]
Update #3109
|
|
|
|
|
|
|
|
Reject non-positive CONFIGURE_MICROSECONDS_PER_TICK values.
|
|
Add macro implementation for rtems_clock_get_ticks_per_second() for
C/C++ to avoid the function call overhead. A
rtems_clock_get_ticks_per_second() is still provided for language
bindings (e.g. Ada).
|
|
Update #3117.
Update #3182.
|
|
Rename _Thread_queue_Context_set_do_nothing_enqueue_callout() into
_Thread_queue_Context_set_enqueue_do_nothing_extra(). More
_Thread_queue_Context_set_enqueue_*() functions will follow.
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Move it from the configuration to a separate variable.
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Update #3117.
Update #3182.
|
|
Rename _Watchdog_Ticks_from_*() to _Watchdog_Realtime_from_*().
This highlights that these routines are used for the CLOCK_REALTIME
watchdogs (in contrast to CLOCK_MONOTONIC).
Update #3117.
Update #3182.
|
|
A non-integer clock ticks per second value may lead to inaccurate time
format conversions.
Update #3117.
Update #3182.
|
|
Remove the cast so that it can be used in C pre-processor directives.
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.
|