| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Close #3250.
Close #4081.
|
| |
|
|
|
|
|
|
|
| |
The T_now_tick() is a fall back time measurement using the CPU counter
in case no Clock Driver is configured. Some CPU counter may overflow
during the test execution. Accumulate the elapsed time to reduce the
chance of CPU counter overflows.
|
|
|
|
|
|
|
|
|
|
| |
If SMP support is enabled and the system has exactly one processor, then
it may use an uniprocessor scheduler. The ask for help, reconsider help
request, and withdraw node operations can be NULL in this case, since
they are only used if a thread has at least one helping scheduler node.
At least two schedulers are required to get a helping node and each
scheduler involved must own at least one processor. This is not
possible on a system with exactly one processor.
|
|
|
|
|
|
|
| |
Issue the new fatal SMP error
SMP_FATAL_SCHEDULER_REQUIRES_EXACTLY_ONE_PROCESSOR if the system starts
with not exactly one processor and an uniprocessor scheduler is
configured.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The uniprocessor schedulers do not support systems with more than more
processors. So they rivially support thread pinning and thus the
SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED cannot happen.
Add a second default implementation for SMP schedulers which do not
support thread pinning.
Change license to BSD-2-Clause according to file history and re-licensing
agreement.
Update #3053.
|
|
|
|
|
| |
Rename SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY in
SCHEDULER_DEFAULT_SET_AFFINITY_OPERATION. Add Doxygen comment.
|
|
|
|
|
| |
Rename SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELP in
SCHEDULER_DEFAULT_SMP_OPERATIONS. Add a Doxygen comment.
|
|
|
|
|
|
|
|
| |
psxdevctl is supposed to return the value in errno. Before, it was
returning -1 and setting errno. Changed the tests to reflect these
changes. Added code from RRADE's posix_devctl.c.
Closes #4506
|
| |
|
|
|
|
|
|
|
| |
Correct the description of the ``count`` parameter of
rtems_message_queue_flush().
Update #4508.
|
|
|
|
|
|
|
|
| |
- Trigger on a single character entering the RX FIFO
- Disable the RX timeout
- Send up to a FIFO full of data
|
|
|
|
| |
The linker flag to wrap putchar was lost in translation from make to waf.
|
| |
|
|
|
|
|
| |
Move the definition of the top-level Classic API implementation group to
an implementation header file.
|
| |
|
|
|
|
|
|
|
| |
Remove bogus return status from rtems_message_queue_receive(). Clarify
rtems_message_queue_flush().
Update #4508.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the duplicated description which is an out dated copy and paste
from the Classic API Guide. Instead, thoroughly document the individual
extensions.
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
|
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
Update #4513.
|
| |
|
|
|
|
| |
Close #4504.
|
|
|
|
| |
Added I2C drivers for ZynqMP and updated build system accordingly.
|
|
|
|
|
| |
Certain files related to the Zynq BSP's I2C driver are useable by the ZynqMP BSP as well.
Moved these files to shared directory in anticipation of I2C support for ZynqMP.
|
|
|
|
|
|
|
|
|
| |
The rtems_rate_monotonic_get_status() directive returns an arbitrary
number for the count of postponed jobs if it is called for a newly
created period object. Set the count of postponed jobs to zero during
object creation.
Close #4511.
|
|
|
|
| |
Update #4338.
|
|
|
|
|
|
|
|
|
|
| |
Split up rbtreenext.c since only _RBTree_Minimum() is used by the operating
system core services (thread queues and the EDF scheduler).
Change license to BSD-2-Clause according to file history and re-licensing
agreement.
Update #3053.
|
|
|
|
|
|
|
|
| |
This simplifies the implementation a bit. Declare _TOD_Days_to_date[] in
<rtems/score/todimpl.h>. Make _TOD_Days_per_month[] and
_TOD_Days_since_last_leap_year[] static.
Update #4338.
|
|
|
|
| |
Split up the multi line if statement into smaller parts.
|
|
|
|
|
| |
Limit the CLOCK_REALTIME setting to ensure that the CLOCK_REALTIME is defined
for a system uptime of at least 114 years.
|
|
|
|
|
|
| |
Move the TOD validation to the callers of _TOD_Set(). This avoids dead code in
case only rtems_clock_set() is used in an application because rtems_clock_set()
always calls _TOD_Set() with a valid time of day.
|
|
|
|
| |
Use _Watchdog_Ticks_per_second instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _Thread_Dispatch() function was customized over time and now the
work is done by _Thread_Do_dispatch() and specialized wrappers. The
plain _Thread_Dispatch() is now only used in some CPU ports. Move it to
a separate file to avoid dead code in the general.
Change license to BSD-2-Clause according to file history and
re-licensing agreement.
Update #3053.
|
| |
|
|
|
|
|
|
| |
Rename LEON3_FATAL_INVALID_CACHE_CONFIG_MAIN_PROCESSOR in
LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR since the term
"boot processor" is used elsewhere in the code base.
|
|
|
|
|
| |
Use a CPU set which is larger than the internal processor set
representation.
|
|
|
|
|
|
|
| |
Move the transition map members of the test context to a dedicated
structure. Move the transition variant pre-condition prepare, action,
and post-condition checks to a separate function to reduce the
indentation level and allow skipping of transition variants.
|
|
|
|
| |
This makes it similar to T_push_fixture().
|
|
|
|
|
|
|
|
| |
It wasn't possible to keep the CS line low between multiple message
descriptors in one transfer. This patch reworks the driver so that it is
possible.
Update #4180
|
|
|
|
|
|
| |
In _Thread_queue_Flush_critical(), update the priority of the thread
queue owner only if necessary. The scheduler update priority operation
could be expensive.
|
|
|
|
|
| |
This function was only used in one place. Replace it with a call to
_Thread_queue_Resume().
|
|
|
|
|
| |
The _Thread_queue_First_locked() was only used in one place. Move the code of
this inline function to this place.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to ensure FIFO fairness across schedulers, the thread queue
surrender operation must be used to dequeue a thread from the thread
queue. The thread queue extract operation is intended for timeouts.
Add _Thread_queue_Resume() which may be used to make extracted or
surrendered threads ready again.
Remove the now unused _Thread_queue_Extract_critical() function.
Close #4509.
|
|
|
|
|
|
|
|
|
|
|
| |
The priority queues in clustered scheduling configurations use a per
scheduler priority queue rotation to ensure FIFO fairness across
schedulers. This mechanism is implemented in the thread queue surrender
operation. Unfortunately some semaphore and message queue directives
used wrongly the thread queue extract operation. Fix this through the
use of _Thread_queue_Surrender().
Update #4358.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The behaviour of the futex operations is defined by Linux:
https://man7.org/linux/man-pages/man2/futex.2.html
Use EAGIN instead of EWOULDBLOCK to be in line with the Linux man page.
These error numbers have the same value in Newlib. Using the same error
numbers helps to avoid confusion.
When you look at the history of the Linux man page you see that they
replaced EWOULDBLOCK with EAGAIN over time. At the time of the RTEMS
futex implementation they used EWOULDBLOCK.
|
|
|
|
| |
Replace call to removed _Partition_Free() with a call to _Objects_Free().
|
|
|
|
| |
Update #3373.
|
|
|
|
|
| |
End the test on the processor which triggers the test condition. This avoids
endless power down loops in the sparc/leon3 BSP.
|
| |
|
| |
|