summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* i386/score: fix assembly mnemonicGedare Bloom2020-09-121-1/+1
| | | | Closes #4076.
* score: Fix _Thread_Initialize()Sebastian Huber2020-09-111-5/+6
| | | | | | Fix an error cleanup path in SMP configurations to avoid a NULL pointer access. Update #3959.
* score: Add stack free handler to TCBSebastian Huber2020-08-319-24/+78
| | | | | | | This avoids a dependency to the stack free function in the thread destruction. Update #3959.
* score: Move _Stack_Allocator_free to separate fileSebastian Huber2020-08-313-2/+36
| | | | | | This decouples the task stack allocation from the deallocation. Update #3959.
* score: Add _Stack_Allocator_do_initialize()Sebastian Huber2020-08-317-21/+78
| | | | | | | | Do the stack allocator initialization and sanity check only if a user-provided stack allocator was configured. This avoids a dependency of _Thread_Handler_initialization() on the stack allocator. Update #3959.
* score: Use _Freechain_Push()Sebastian Huber2020-08-312-2/+2
| | | | | | The nodes are never NULL. Update #3959.
* score: Add <rtems/score/freechainimpl.h>Sebastian Huber2020-08-319-125/+169
| | | | | | Hide implementation details. Update #3959.
* score: Add _Freechain_Push()Sebastian Huber2020-08-312-4/+18
| | | | Update #3959.
* score: Fix debug assertSebastian Huber2020-08-311-4/+12
| | | | | Do not access executing->current_state outside the protection of the thread state lock. Add missing state with a comment.
* config: Add zero file descriptor data structuresSebastian Huber2020-08-312-0/+47
| | | | | Fix linker errors in the minimum test program on some BSPs introduced by ced28f2cfcee6d32ad7bb72e16b235212eb2eaaf.
* config: Provide file descriptors only if necessarySebastian Huber2020-08-311-9/+15
| | | | | | | | | | | | Only provide the file descriptor array if CONFIGURE_MAXIMUM_FILE_DESCRIPTORS > 0. If someone configured CONFIGURE_MAXIMUM_FILE_DESCRIPTORS == 0 and the appplication uses something which requires a file descriptor, then a linker error will show up. An alternative would be to add a zero-length array rtems_libio_iops[ 0 ] to librtemscpu.a which would be used in this case. Conditionally include some header files.
* score: Optimize _Objects_Name_to_id_u32()Sebastian Huber2020-08-312-3/+2
| | | | | | | Remove the superfluous invalid name check since the object creation directives ensure that objects with such a name cannot exist. Also finding an object with such a name would be no catastrophy if it really exists.
* rtems: Add _RTEMS_Name_to_id()Sebastian Huber2020-08-3116-228/+478
| | | | | | | | | | Simplify object name to identifier directives. Using _RTEMS_Name_to_id() to implement the directives enables a tail call optimization. Change license to BSD-2-Clause according to file history. Update #3053.
* score: Constify objects name to id functionsSebastian Huber2020-08-314-17/+17
|
* config: Conditionally include headerSebastian Huber2020-08-211-1/+4
|
* score: Fix set but not used warningSebastian Huber2020-08-211-1/+1
|
* confdefs: Fix cyclic dependencySebastian Huber2020-08-212-12/+8
| | | | Close #4061.
* sparc: Use RTEMS_XCONCAT()Sebastian Huber2020-08-201-4/+2
| | | | Prefer macros with a proper namespace.
* dd(1): Use a local swapbytes() function.eadler2020-08-201-1/+16
| | | | | | | swab(3) has restrict qualifiers for src and dst. Avoid relying on undefined overlapping swab behavior. Obtained From: OpenBSD
* Fix -Wchar-subscripts warningsAschref Ben Thabet2020-08-202-6/+6
| | | | | | | The argument to the ctype functions must be an int and the value of the character must be representable as an unsigned char or equal to the value of the macro EOF. If the argument has any other value, the behavior is undefined.
* ada: Add missing attributesSebastian Huber2020-08-191-0/+9
|
* rtems: Use unique option valuesSebastian Huber2020-08-191-1/+1
| | | | | | | | | The RTEMS_BARRIER_AUTOMATIC_RELEASE and RTEMS_BINARY_SEMAPHORE options had the same value. In order to better detect a misuse of option values (for example using RTEMS_BINARY_SEMAPHORE for rtems_barrier_create()), the options should have unique values. Close #4054.
* libtest: Add T_push_plan() and T_pop_plan()Sebastian Huber2020-08-182-0/+21
| | | | Update #3199.
* libtest: Use a destructorSebastian Huber2020-08-181-10/+5
| | | | | | Do not set up a new test steps environment. Update #3199.
* libtest: Change T_step() and T_assert_step()Sebastian Huber2020-08-182-6/+22
| | | | | | | | | | | Normally, the expected test step must be a compile time constant. Allow variable expected test steps for the T_step() and T_assert_step(). This can be used for parameterized test loops with individual fixtures. Remove the ability to use custom failure messages due to some implementation constraints. Update #3199.
* libtest: Add fixture stepsSebastian Huber2020-08-182-28/+58
| | | | | | Support a new test plan for each nested fixture. Update #3199.
* libtest: Add T_check_steps()Sebastian Huber2020-08-181-18/+13
| | | | Update #3199.
* libtest: Use line buffer in T_check()Sebastian Huber2020-08-181-31/+86
| | | | Update #3199.
* libtest: Add T_puts()Sebastian Huber2020-08-182-0/+26
| | | | Update #3199.
* libtest: Add T_do_is_runner()Sebastian Huber2020-08-181-30/+34
| | | | Update #3199.
* libtest: Add output buffer drain and fillSebastian Huber2020-08-181-25/+35
| | | | Update #3199.
* libtest: Change fixture scope methodSebastian Huber2020-08-182-63/+82
| | | | | | | Return the produced character count. There is no need for a NUL termination. Update #3199.
* rtems/printer.h Fix build warnings -Wclass-memaccessAschref Ben Thabet2020-08-171-1/+5
|
* posix: Only check shm_unlink obj_err if necessaryKinsey Moore2020-08-111-22/+23
| | | | | | | | | | In the nominal case checked by spsysinit01, obj_err is unmodified if _POSIX_Shm_Get_by_name returns non-NULL. In the case of shm_unlink, this means an uninitialized value is passed into the switch and it appears tests using it were passing by virtue of the stack having the right value on it in most cases. This now checks obj_err only if _POSIX_Shm_Get_by_name returns NULL. Close #4016
* libtest: Add T_thread_switch_record()Sebastian Huber2020-08-113-0/+211
| | | | | | | | Add support to record thread switch events. This can be used to check that a blocking operation results in the expected sequence of thread switches. Update #3199.
* libtest: ConstifySebastian Huber2020-08-101-1/+1
| | | | Update #3199.
* shell: Only clear std handles when the shell task exitsChris Johns2020-08-081-4/+22
| | | | | Clearing the std file handles when the main loop exited crashes telnetd as it reuses its session threads.
* libtest: Improve T_check_task_contextSebastian Huber2020-08-071-0/+46
| | | | Update #3199.
* Document application configuration optionsSebastian Huber2020-08-071-0/+4191
| | | | | | | | | Add a new directory for Doxygen-specific documentation content. Add a Doxygen only header file containing documentation of the application configuration options. The header file is generated from specification items. Close #3994.
* Remove accidentally committed fileSebastian Huber2020-08-062-3737/+0
|
* libtest: Fix T_interrupt_test() in SMP configsSebastian Huber2020-08-061-0/+45
| | | | Update #3199.
* dev/sc16is752: Fix declarationSebastian Huber2020-08-051-1/+1
|
* termios: Make rtems_termios_ttyMutex privateSebastian Huber2020-08-043-4/+3
| | | | This mutex is used to maintain termios internal data structures.
* score: Use flexible-array member for C99 and laterSebastian Huber2020-08-041-1/+5
| | | | | | | This addresses compiler warnings like this: warning: array subscript 0 is outside the bounds of an interior zero-length array 'abc[0]' [-Wzero-length-bounds]
* dosfs: Fix memory leak on failed mounts.Christian Mauderer2020-08-043-0/+13
| | | | | | | | | | | | | | | | | | | | Currently if mount fails, a converter isn't destroyed. We have to take care of two cases: 1. The user doesn't provide a converter. In this case mounting a dosfs creates a default converter. This patch makes sure that the converter is destroyed again if mount failes for this case. 2. The user provides a converter. In this case it's not sure that the dosfs specific routines are reached because mount can fail before that. Therefore the user has to destroy the converter himself again. This patch adds a documentation for that and implements it in the media server. Closes #4042.
* rtems: Add rtems_interrupt_server_create()Sebastian Huber2020-08-031-14/+129
| | | | | | | | | | | | | | | | | | Add rtems_interrupt_server_destroy(). Before this patch, the only way to create interrupt servers was rtems_interrupt_server_initialize(). This function creates the default interrupt server and in SMP configurations additional interrupt servers for the additional processors. The interrupt server is heavily used by libbsd. This includes the epoch based reclamation which performs time consuming resource and memory deallocation work. This does not work well with time critical services, for example an UART over SPI or I2C. One approach to address this problem is to allow the application to create custom interrupt servers with the right priority and task properties. The interrupt server API accounted for this, however, it was not implemented before this patch. Close #4034.
* i386: Fix possible race condition on first context restoreJan Sommer2020-07-291-1/+1
| | | | | | | | | | | | Make sure that the esp is restored before the eflags register. When the init task is initially restored, system interrupts are activated when the eflags register is loaded. If the esp register still points to an address in the interrupt stack area (from early system initlization) the ISR might overwrite its own stack. Closes #4031
* malloc: Make deferred free support optionalSebastian Huber2020-07-243-39/+46
| | | | | | | | | | | | | | | | | | | | Only include the deferred free support if free() is actually used by the application. The free() implementation in RTEMS supports that allocated memory is freed in interrupt context. Since the heap is protected by a mutex, the frees issued in interrupt context cannot immediately be freed to the heap, instead they are placed on a deferred free list. This list is emptied by the core allocation function rtems_heap_allocate_aligned_with_boundary(). This adds a dependency to free() in rtems_heap_allocate_aligned_with_boundary(). In order to better support applications which only allocate memory and never free it, this dependency should be avoided. Provide a weak default implementation of _Malloc_Process_deferred_frees() for rtems_heap_allocate_aligned_with_boundary(). In the free() module provide the strong implementation. Close #4032.
* score: Add RTEMS_WEAKSebastian Huber2020-07-241-0/+12
| | | | Update #4032.
* libtest: Add T_interrupt_test()Sebastian Huber2020-07-233-0/+472
| | | | Update #3199.