| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This alters the API for rtems_cache_coherent_add_area to allow reporting
of failures that can occur during the process of adding a new area to
the coherent cache heap.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the main page with a high level description of the RTEMS feature
set similar to:
https://docs.rtems.org/branches/master/user/overview/index.html#features
The replaced content can be found in the RTEMS Classic API Guide:
https://docs.rtems.org/branches/master/c-user/overview.html
https://docs.rtems.org/branches/master/c-user/key_concepts.html
Update #3705.
|
|
|
|
|
|
|
|
|
|
| |
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 );
| ^~~~~~~~~
|
| |
|
|
|
|
| |
Update #4772.
|
|
|
|
|
|
|
|
|
|
| |
rtems_task_wake_after takes a parameter in terms of a count of clock
ticks and not a measure in a subunit of seconds. This updates
documentation to reflect that. This also makes obvious the caveat about
the first tick wait not being a whole tick and points the user at a
replacement for better accuracy.
Updates #4772
|
|
|
|
|
| |
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
| |
|
| |
|
| |
|
|
|
|
| |
Update #3707.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The application configuration options are documented in
"cpukit/doxygen/appl-config.h". Since the application configuration
option defines are also present in multiple test program sources, the
"#OPTION" references cannot be mapped to a unique definition. Add an
anchor for each option and reference it to avoid the issues with the
multiple definitions.
Update #3994.
|
| |
|
| |
|
|
|
|
| |
Update #3993.
|
| |
|
|
|
|
|
|
|
| |
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935.
|
|
|
|
|
| |
Directly include <rtems/score/cpuopts.h> in header files using CPU build
options.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Threads may join the thread termination of another thread using the
pthread_join() or rtems_task_delete() directives. The thread cancel operation
used a special case priority boosting mechanism implemented by
_Thread_Raise_real_priority(). The problem was that this approach
* is not transitive,
* does not account for priority adjustments of the calling task
while waiting for the join,
* does not support clustered scheduling, and
* does not detect deadlocks.
All these problems are fixed by using a priority inheritance thread queue for
the join operation.
Close #4679.
|
| |
|
|
|
|
|
|
|
|
| |
Restrict the affinity set to the set of online processors. Make sure
the affinity set for an interrupt vector contains at least one online
processor.
Update #3269.
|
|
|
|
| |
Updates #3053.
|
|
|
|
| |
Update #4572.
|
|
|
|
|
| |
Move the data structure definitions closer to the directives which use
them.
|
|
|
|
|
| |
If RTEMS_SMP is not defined, then Doxygen adds the comments intended for
conditional the lock member to the next member.
|
|
|
|
|
|
| |
Since the previous Interrupt Manager Extension API moved to the
Interrupt Manager, we can move the interfaces to <rtems/rtems/intr.h> so
that they are available via #include <rtems.h>.
|
|
|
|
|
|
| |
Move all rtems_scheduler_* directives to the new header file
<rtems/rtems/scheduler.h>. Add a Scheduler Manager API and
implementation group.
|
|
|
|
| |
Resolution is the right term for the documented property.
|
|
|
|
|
|
|
|
|
|
| |
Remove the THREAD_WAIT_STATE_READY_AGAIN and simply use the initial value to
indicate that a thread does not wait on something. Rename
THREAD_WAIT_FLAGS_INITIAL to THREAD_WAIT_STATE_READY. This change is necessary
so that _Thread_Continue() can be called for threads which never waited on
something (for example dormant threads).
Update #4546.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Return an error status for the following error condition in
rtems_scheduler_remove_processor():
While an attempt is made to remove a processor from a scheduler, while
the processor is the only processor owned by the scheduler, if a thread
exists which uses the scheduler as a helping scheduler, then the
processor shall not be removed.
The reason is that ask for help requests and withdraw node requests are
processed asynchronously in any order. An ask for help request carried
out on a scheduler without a processor is undefined behaviour.
Update error status description.
Update #4544.
|
| |
|
| |
|
|
|
|
| |
Update #4527.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch set replaces the CPU budget algorithm enumeration with a set of CPU
budget operations which implement a particular CPU budget algorithm. This
helps to hide the CPU budget algorithm implementation details from the general
thread handling. The CPU budget callouts are turned into CPU budget
operations. This slightly reduces the size of the thread control block.
All schedulers used the default scheduler tick implementation. The tick
scheduler operation is removed and the CPU budget operations are directly used
in _Watchdog_Tick() if the executing thread uses a CPU budget algorithm. This
is performance improvement for all threads which do not use a CPU budget
algorithm (default behaviour).
|
|
|
|
|
|
|
|
|
| |
Mention that resetting the processor usage time of tasks has no impact
on the period status and statistics.
Remove no longer relevant RTEMS_NOT_DEFINED error status.
Update #4528.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rate monotonic period statistics were affected by
rtems_cpu_usage_reset(). The logic to detect and work around a CPU
usage reset was broken.
The Thread_Contol::cpu_time_used is changed to contain the processor
time used throughout the entire lifetime of the thread. The new member
Thread_Contol::cpu_time_used_at_last_reset is added to contain the
processor time used at the time of the last reset through
rtems_cpu_usage_reset(). This decouples the resets of the CPU usage and
the rate monotonic period statistics.
Update #4528.
|
|
|
|
| |
Update #3706.
|
|
|
|
|
|
|
| |
Correct the description of the ``count`` parameter of
rtems_message_queue_flush().
Update #4508.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
Update #4513.
|
|
|
|
| |
Update #4338.
|
|
|
|
|
|
|
|
| |
The rtems_partition_return_buffer() wrongly accepted which were exactly
at the buffer area end. Use the buffer area limit address for the range
checking.
Close #4490.
|
|
|
|
|
|
|
|
| |
Add rtems_interrupt_raise_on(). Document the currently not implemented
rtems_interrupt_clear(). Remove the not implemented and badly named
rtems_interrupt_cause() directive.
Update #3269.
|
| |
|
| |
|