summaryrefslogtreecommitdiffstats
path: root/cpukit/include (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-06-22i2c: Add non blocking read / writeChristian Mauderer1-1/+43
This adds the possibility to open an I2C bus with O_NONBLOCK (or set it later via fcntl) to get non-blocking transmissions. This means that if the bus is busy, a read, write or transfer ioctl will return with a EAGAIN errno.
2021-06-17rtems: Fix rtems_task_set_affinity() docsSebastian Huber1-1/+1
2021-06-15Use a common phrase for pointer parametersSebastian Huber14-181/+180
Mention the type of the pointer in the parameter description. Use the more general term "object" instead of "variable". Update #3993.
2021-06-10score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber1-0/+14
Make the initialization of the per-CPU data optional. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
2021-06-10score: Fix initialization of thread queue contextSebastian Huber1-3/+9
Set Thread_queue_Context::timeout_absolute in _Thread_queue_Context_set_timeout_argument() to avoid using it uninitialized. The bug was introduced by a89ecaa1a94d49ddae7753d6b83923e9d2a00486.
2021-06-08score: Remove unused _Per_CPU_Initialize() declSebastian Huber1-7/+0
2021-05-28Change filesystem utime_h handler to utimens_hRyan Long3-31/+63
Also updated licenses. Closes #4400 Updates #3899
2021-05-28libcsupport: Added futimens() and utimensat()Ryan Long2-15/+123
Created futimens.c and utimensat.c to add support for the POSIX methods futimens() and utimensat(). utime() and utimes() are considered obsolote by POSIX, but RTEMS will continue to support them. Closes #4396
2021-05-28thread-API: Add rtems_*mutex_try_lockChristian Mauderer1-0/+12
This adds a rtems_mutex_try_lock and a rtems_recursive_mutex_try_lock. Update #4440.
2021-05-28cpukit: Add description of release version numbersChristian Mauderer1-0/+21
The release version in the git sources doesn't change. Add a note why that is the case.
2021-05-28score: Add RTEMS_UNREACHABLE() to a groupSebastian Huber1-0/+2
2021-05-27rtems: Document new rtems_task_delete() errorSebastian Huber1-0/+3
Update #4414.
2021-05-26score: Simplify calling _Thread_Exit()Sebastian Huber1-7/+6
Move common code into _Thread_Exit(). This enables a tail call optimization in most cases.
2021-05-25sysinit: Do not open console when just referencing reentrancy structure.Joel Sherrill1-0/+21
This change eliminates a system initialization dependentcy which resulted in an application without a file system or console referencing errno being forced to include the code to open(/dev/console), close(), atexit(), and the unmount infrastructure. Closes #4439.
2021-05-18score: Simplify thread queue timeout handlingSebastian Huber3-13/+48
Add Thread_queue_Context::timeout_absolute to specify an absolute or relative timeout. This avoid having to get the current time twice for timeouts relative to the current time. It moves also functionality to common code.
2021-05-17score: Add and use _Per_CPU_Is_ISR_in_progress()Sebastian Huber3-12/+21
Add _Per_CPU_Is_ISR_in_progress() as an optimized version of _ISR_Is_in_progress().
2021-05-17score: Improve parameters in _Thread_Change_life()Sebastian Huber1-10/+12
2021-05-14rtems: Fix task restart within interrupt contextSebastian Huber1-14/+1
rtems_task_restart() may be called from within interrupt context. So checking only that the thread to restart is equal to the executing thread is insufficient to determine a self restart. We have to also check that no ISR is in progress. Merge _Thread_Restart_other() and _Thread_Restart_self() into one _Thread_Restart() since they share a lot of common code. Close #4412.
2021-05-14score: Return status in _Thread_Restart_other()Sebastian Huber1-6/+9
This simplifies rtems_task_restart().
2021-05-14rtems: Add TOD_Ticks_validationSebastian Huber1-12/+19
Replace defines with an enum. Update #4406.
2021-05-12rtems: Constify rtems_task_wake_when()Sebastian Huber2-6/+21
Add a parameter to _TOD_Validate() to disable the validation of the ticks member. There are two reasons for this change. Firstly, in rtems_task_wake_when() was a double check for time_buffer == NULL (one in rtems_task_wake_when() and one in _TOD_Validate()). Secondly, the ticks member is ignored by rtems_task_wake_when(). This was done with a write of zero to the ticks member and thus a modification of the user-provided structure. Now the structure is no longer modified. Using a mask parameter is quite efficient. You just have to load an immediate value and there are no additional branches in _TOD_Validate(). Close #4406.
2021-05-12rtems: Document rtems_task_set_scheduler() errorsSebastian Huber1-3/+20
2021-05-12rtems: Clarify rtems_task_get_priority() docSebastian Huber1-2/+2
2021-05-12_TOD_Validate(): Fix incorrect return codeFrank Kühndel1-7/+7
This patch fixes bug #4403. Directives * rtems_timer_fire_when() * rtems_timer_server_fire_when() * rtems_task_wake_when() are documented to return RTEMS_INVALID_ADDRESS when their time-of-day argument is NULL. But actually they return RTEMS_INVALID_CLOCK. To fix the issue this patch changes _TOD_Validate() to return a status code instead of just true/false. Close #4403
2021-05-11score: Rename _Stack_Free_nothing()Sebastian Huber3-8/+8
Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
2021-05-07rtems: rtems_scheduler_get_processor_set() docsSebastian Huber1-1/+1
Document changed error status. Update #4401.
2021-05-07rtems_scheduler_ident_by_processor_set() docsSebastian Huber1-0/+2
Document new error status.
2021-05-04score: Make _Once_Lock() and _Once_Unlock() staticSebastian Huber1-16/+0
These two functions are no longer used outside of _Once().
2021-05-03libtest: Fix use of flexible array memberSebastian Huber1-8/+10
Flexible array members must not appear in the middle of a structure.
2021-05-02score: Add _Thread_Dispatch_direct_no_return()Sebastian Huber1-0/+11
The __builtin_unreachable() cannot be used with current GCC versions to tell the compiler that a function does not return to the caller, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99151 Add a no return variant of _Thread_Dispatch_direct() to avoid generation of dead code.
2021-04-30basedefs: Add RTEMS_NOINITSebastian Huber1-16/+26
Update #3866.
2021-04-30Use alias for rtems_task_self() and pthread_self()Sebastian Huber1-0/+7
This may reduce the code size a bit.
2021-04-28rtems: Generate <rtems/rtems/tasks.h>Sebastian Huber2-634/+1983
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-28rtems: Generate <rtems/rtems/region.h>Sebastian Huber1-180/+633
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-28rtems: Generate <rtems/rtems/intr.h>Sebastian Huber2-220/+750
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-28rtems: Fix typo "cod" -> "code"Sebastian Huber1-3/+3
2021-04-28rtems: Clarify constraints in documentationSebastian Huber6-15/+26
2021-04-27Return status code for _Thread_Start()Sebastian Huber1-4/+3
This avoids having conditional statements to get the API-specific status code.
2021-04-27Return status code for _Scheduler_Set_affinity()Sebastian Huber4-19/+35
This avoids having conditional statements to get the API-specific status code.
2021-04-27rtems: Change rtems_task_get_affinity() statusSebastian Huber2-1/+3
In case the processor set is not large enough to contain the processor affinity set of the task return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4393.
2021-04-27Return status code for _Scheduler_Get_affinity()Sebastian Huber1-3/+4
This avoids having conditional statements to get the API-specific status code.
2021-04-27rtems: Constify timer fire when directivesSebastian Huber1-2/+2
Close #4392.
2021-04-23rtems: Generate <rtems/rtems/ratemon.h>Sebastian Huber1-180/+554
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-23rtems: Generate <rtems/rtems/message.h>Sebastian Huber1-183/+720
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-22rtems: Mention timer server fire directivesSebastian Huber1-2/+3
A timer may be also reinitiated by the timer server fire directives.
2021-04-21rtems: Generate <rtems/rtems/support.h>Sebastian Huber1-84/+320
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-21rtems: Generate <rtems/rtems/mp.h>Sebastian Huber1-30/+126
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-21rtems: Generate <rtems/rtems/dpmem.h>Sebastian Huber1-88/+280
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-21rtems: Generate <rtems/init.h>Sebastian Huber1-29/+103
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
2021-04-21rtems: Generate <rtems/fatal.h>Sebastian Huber1-55/+229
Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.