summaryrefslogtreecommitdiffstats
path: root/cpukit/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-101-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.
* score: Fix initialization of thread queue contextSebastian Huber2021-06-101-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.
* score: Remove unused _Per_CPU_Initialize() declSebastian Huber2021-06-081-7/+0
|
* Change filesystem utime_h handler to utimens_hRyan Long2021-05-283-31/+63
| | | | | | | Also updated licenses. Closes #4400 Updates #3899
* libcsupport: Added futimens() and utimensat()Ryan Long2021-05-282-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
* thread-API: Add rtems_*mutex_try_lockChristian Mauderer2021-05-281-0/+12
| | | | | | This adds a rtems_mutex_try_lock and a rtems_recursive_mutex_try_lock. Update #4440.
* cpukit: Add description of release version numbersChristian Mauderer2021-05-281-0/+21
| | | | | The release version in the git sources doesn't change. Add a note why that is the case.
* score: Add RTEMS_UNREACHABLE() to a groupSebastian Huber2021-05-281-0/+2
|
* rtems: Document new rtems_task_delete() errorSebastian Huber2021-05-271-0/+3
| | | | Update #4414.
* score: Simplify calling _Thread_Exit()Sebastian Huber2021-05-261-7/+6
| | | | | Move common code into _Thread_Exit(). This enables a tail call optimization in most cases.
* sysinit: Do not open console when just referencing reentrancy structure.Joel Sherrill2021-05-251-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.
* score: Simplify thread queue timeout handlingSebastian Huber2021-05-183-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.
* score: Add and use _Per_CPU_Is_ISR_in_progress()Sebastian Huber2021-05-173-12/+21
| | | | | Add _Per_CPU_Is_ISR_in_progress() as an optimized version of _ISR_Is_in_progress().
* score: Improve parameters in _Thread_Change_life()Sebastian Huber2021-05-171-10/+12
|
* rtems: Fix task restart within interrupt contextSebastian Huber2021-05-141-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.
* score: Return status in _Thread_Restart_other()Sebastian Huber2021-05-141-6/+9
| | | | This simplifies rtems_task_restart().
* rtems: Add TOD_Ticks_validationSebastian Huber2021-05-141-12/+19
| | | | | | Replace defines with an enum. Update #4406.
* rtems: Constify rtems_task_wake_when()Sebastian Huber2021-05-122-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.
* rtems: Document rtems_task_set_scheduler() errorsSebastian Huber2021-05-121-3/+20
|
* rtems: Clarify rtems_task_get_priority() docSebastian Huber2021-05-121-2/+2
|
* _TOD_Validate(): Fix incorrect return codeFrank Kühndel2021-05-121-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
* score: Rename _Stack_Free_nothing()Sebastian Huber2021-05-113-8/+8
| | | | | | | Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
* rtems: rtems_scheduler_get_processor_set() docsSebastian Huber2021-05-071-1/+1
| | | | | | Document changed error status. Update #4401.
* rtems_scheduler_ident_by_processor_set() docsSebastian Huber2021-05-071-0/+2
| | | | Document new error status.
* score: Make _Once_Lock() and _Once_Unlock() staticSebastian Huber2021-05-041-16/+0
| | | | These two functions are no longer used outside of _Once().
* libtest: Fix use of flexible array memberSebastian Huber2021-05-031-8/+10
| | | | Flexible array members must not appear in the middle of a structure.
* score: Add _Thread_Dispatch_direct_no_return()Sebastian Huber2021-05-021-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.
* basedefs: Add RTEMS_NOINITSebastian Huber2021-04-301-16/+26
| | | | Update #3866.
* Use alias for rtems_task_self() and pthread_self()Sebastian Huber2021-04-301-0/+7
| | | | This may reduce the code size a bit.
* rtems: Generate <rtems/rtems/tasks.h>Sebastian Huber2021-04-282-634/+1983
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/region.h>Sebastian Huber2021-04-281-180/+633
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/intr.h>Sebastian Huber2021-04-282-220/+750
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Fix typo "cod" -> "code"Sebastian Huber2021-04-281-3/+3
|
* rtems: Clarify constraints in documentationSebastian Huber2021-04-286-15/+26
|
* Return status code for _Thread_Start()Sebastian Huber2021-04-271-4/+3
| | | | | This avoids having conditional statements to get the API-specific status code.
* Return status code for _Scheduler_Set_affinity()Sebastian Huber2021-04-274-19/+35
| | | | | This avoids having conditional statements to get the API-specific status code.
* rtems: Change rtems_task_get_affinity() statusSebastian Huber2021-04-272-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.
* Return status code for _Scheduler_Get_affinity()Sebastian Huber2021-04-271-3/+4
| | | | | This avoids having conditional statements to get the API-specific status code.
* rtems: Constify timer fire when directivesSebastian Huber2021-04-271-2/+2
| | | | Close #4392.
* rtems: Generate <rtems/rtems/ratemon.h>Sebastian Huber2021-04-231-180/+554
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/message.h>Sebastian Huber2021-04-231-183/+720
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Mention timer server fire directivesSebastian Huber2021-04-221-2/+3
| | | | A timer may be also reinitiated by the timer server fire directives.
* rtems: Generate <rtems/rtems/support.h>Sebastian Huber2021-04-211-84/+320
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/mp.h>Sebastian Huber2021-04-211-30/+126
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/dpmem.h>Sebastian Huber2021-04-211-88/+280
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/init.h>Sebastian Huber2021-04-211-29/+103
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/fatal.h>Sebastian Huber2021-04-211-55/+229
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* clock:_TOD_To_seconds(): Fix year 2514 overflowFrank Kühndel2021-04-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | This patch fixes issue #4338 by changing _TOD_Validate() to only accept years till 2105. This requires another patch to change the documentation of rtems_clock_set() and other affected API functions (indicating the end date is 2105 not 2514). I tried to support till year 2514 but it turned out that this needs changing the Timer Manager too. That in turn would mean to change _TOD_Seconds_since_epoch( void ) from 32 to 64 bit. Sebastian pointed out that a naive extension leads to trouble with 32 bit processors. He deemed a safe re-implementation too costly performance wise considering that year 2106 is far away and current binaries using RTEMS Classic API are unlikely to be in use by 2106. The constant TOD_SECONDS_AT_2100_03_01_00_00 in cpukit/rtems/src/clocktodtoseconds.c happens to be wrong by 1 hour. When setting the date 2100-Feb-28 23:59:59 and then reading the date again you will find yourself in 2100-Feb-27. Update #4338
* malloc: Hide RTEMS_Malloc_Sbrk_amountSebastian Huber2021-04-201-6/+1
| | | | | | Move RTEMS_Malloc_Sbrk_amount to the only implementation file which uses it and make it private to hide implementation-details from an API header.
* score: Remove unused _Thread_queue_Dequeue()Sebastian Huber2021-04-201-51/+0
| | | | | | | | | | | | Last use was removed by: commit 54550e048d3a49435912797d2024f80671e93267 Author: Sebastian Huber <sebastian.huber@embedded-brains.de> Date: Fri May 13 08:16:30 2016 +0200 posix: Rework pthread_join() Rework pthread_join() to use _Thread_Join().