summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpukit/cache: Report coherent add area failuresKinsey Moore2024-01-261-1/+6
| | | | | | 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.
* doxygen: Replace and move main pageSebastian Huber2023-10-231-951/+0
| | | | | | | | | | | | | | | 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.
* mpci: Hide implementation detailsSebastian Huber2023-10-201-2/+4
| | | | | | | | | | 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 ); | ^~~~~~~~~
* rtems: Improve task entry wordingSebastian Huber2023-07-251-3/+3
|
* rtems: Fix typoSebastian Huber2023-07-201-1/+1
| | | | Update #4772.
* rtems: Update references to rtems_task_wake_afterKinsey Moore2023-07-201-8/+13
| | | | | | | | | | 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
* Update company nameSebastian Huber2023-05-2029-29/+29
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* rtems: Reference types in construct directivesSebastian Huber2023-05-192-2/+4
|
* rtems: Add constraint to typesSebastian Huber2023-05-191-0/+42
|
* rtems: Conditionally include MPCI headerSebastian Huber2023-05-191-1/+1
|
* doxygen: Add Doxygen files to a groupSebastian Huber2023-02-161-1/+4
| | | | Update #3707.
* doxygen: Harmonize header file referencesSebastian Huber2023-02-141-3/+3
|
* doxygen: Use @anchor for appl config optionsSebastian Huber2023-02-1413-99/+103
| | | | | | | | | | | 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.
* rtems: Fix typoMartin Erik Werner2023-01-231-1/+1
|
* rtems: Fix type in descriptionSebastian Huber2022-11-081-1/+1
|
* rtems: Clarify application config info APISebastian Huber2022-10-041-54/+162
| | | | Update #3993.
* rtems: Fix formatSebastian Huber2022-09-301-1/+1
|
* Do not use RTEMS_INLINE_ROUTINESebastian Huber2022-09-1917-83/+83
| | | | | | | Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
* rtems: Include <rtems/score/cpuopts.h>Sebastian Huber2022-09-082-0/+2
| | | | | Directly include <rtems/score/cpuopts.h> in header files using CPU build options.
* rtems: Add constraints for rtems_clock_tick()Sebastian Huber2022-09-051-0/+12
|
* Add items to Doxygen groupsSebastian Huber2022-09-0513-17/+43
|
* score: Use priority inheritance for thread joinSebastian Huber2022-07-281-7/+21
| | | | | | | | | | | | | | | | | | | | | 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.
* rtems: Clarify scheduler of created taskSebastian Huber2022-03-291-3/+3
|
* bsps/irq: Improve affinity set handlingSebastian Huber2022-03-161-1/+8
| | | | | | | | 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.
* cpukit/include/rtems/rtems/*.h: Change license to BSD-2Joel Sherrill2022-02-2834-102/+748
| | | | Updates #3053.
* rtems: Fix Clock Manager parameter descriptionsSebastian Huber2021-12-221-8/+8
| | | | Update #4572.
* rtems: Improve ordering in <rtems/rtems/intr.h>Sebastian Huber2021-12-131-284/+284
| | | | | Move the data structure definitions closer to the directives which use them.
* Avoid ISR_LOCK_MEMBER() since it confuses DoxygenSebastian Huber2021-12-092-2/+6
| | | | | If RTEMS_SMP is not defined, then Doxygen adds the comments intended for conditional the lock member to the next member.
* rtems: Move all Interrupt Manager stuff to intr.hSebastian Huber2021-12-021-19/+2270
| | | | | | 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>.
* rtems: Move scheduler directives to own headerSebastian Huber2021-12-023-479/+560
| | | | | | Move all rtems_scheduler_* directives to the new header file <rtems/rtems/scheduler.h>. Add a Scheduler Manager API and implementation group.
* rtems: Replace "precision" with "resolution"Sebastian Huber2021-11-231-32/+32
| | | | Resolution is the right term for the documented property.
* score: Simplify thread wait state handlingSebastian Huber2021-11-231-3/+0
| | | | | | | | | | 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.
* rtems: Fix rtems_scheduler_remove_processor()Sebastian Huber2021-11-231-3/+6
| | | | | | | | | | | | | | | | | | 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.
* rtems: Use RTEMS_WHO_AM_I for rtems_task_ident()Sebastian Huber2021-11-181-1/+2
|
* rtems: Add signal header to implementation groupSebastian Huber2021-11-172-0/+4
|
* rtems: Add new clock manager directivesSebastian Huber2021-11-151-0/+592
| | | | Update #4527.
* score: Introduce CPU budget operationsSebastian Huber2021-11-151-3/+5
| | | | | | | | | | | | | | 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).
* rtems: rtems_rate_monotonic_get_status()Sebastian Huber2021-10-251-3/+4
| | | | | | | | | 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.
* rtems: Fix rate monotonic statisticsSebastian Huber2021-10-251-5/+2
| | | | | | | | | | | | | | | 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.
* rtems: Add ASR implementation to existing groupSebastian Huber2021-10-061-2/+2
| | | | Update #3706.
* rtems: Fix message manager documentationSebastian Huber2021-09-161-2/+2
| | | | | | | Correct the description of the ``count`` parameter of rtems_message_queue_flush(). Update #4508.
* rtems: Add header files to Doxygen groupsSebastian Huber2021-09-157-0/+14
|
* rtems: Move Doxygen group definitionSebastian Huber2021-09-152-10/+8
| | | | | Move the definition of the top-level Classic API implementation group to an implementation header file.
* rtems: Fix message manager documentationSebastian Huber2021-09-151-8/+10
| | | | | | | Remove bogus return status from rtems_message_queue_receive(). Clarify rtems_message_queue_flush(). Update #4508.
* rtems: Generate <rtems/rtems/cache.h>Sebastian Huber2021-09-151-150/+512
| | | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993. Update #4513.
* rtems: Document time of day constraintsSebastian Huber2021-09-061-4/+13
| | | | Update #4338.
* rtems: Fix rtems_partition_return_buffer()Sebastian Huber2021-08-121-5/+10
| | | | | | | | 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.
* rtems: Add rtems_interrupt_raise()Sebastian Huber2021-07-261-37/+125
| | | | | | | | 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.
* rtems: Fix Doxygen commentSebastian Huber2021-07-151-2/+2
|
* rtems: Fix rtems_task_set_affinity() docsSebastian Huber2021-06-171-1/+1
|