summaryrefslogtreecommitdiff
path: root/cpukit (follow)
AgeCommit message (Collapse)Author
2020-09-12i386/score: fix assembly mnemonicGedare Bloom
Closes #4076.
2020-09-11score: Fix _Thread_Initialize()Sebastian Huber
Fix an error cleanup path in SMP configurations to avoid a NULL pointer access. Update #3959.
2020-08-31score: Add stack free handler to TCBSebastian Huber
This avoids a dependency to the stack free function in the thread destruction. Update #3959.
2020-08-31score: Move _Stack_Allocator_free to separate fileSebastian Huber
This decouples the task stack allocation from the deallocation. Update #3959.
2020-08-31score: Add _Stack_Allocator_do_initialize()Sebastian Huber
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.
2020-08-31score: Use _Freechain_Push()Sebastian Huber
The nodes are never NULL. Update #3959.
2020-08-31score: Add <rtems/score/freechainimpl.h>Sebastian Huber
Hide implementation details. Update #3959.
2020-08-31score: Add _Freechain_Push()Sebastian Huber
Update #3959.
2020-08-31score: Fix debug assertSebastian Huber
Do not access executing->current_state outside the protection of the thread state lock. Add missing state with a comment.
2020-08-31config: Add zero file descriptor data structuresSebastian Huber
Fix linker errors in the minimum test program on some BSPs introduced by ced28f2cfcee6d32ad7bb72e16b235212eb2eaaf.
2020-08-31config: Provide file descriptors only if necessarySebastian Huber
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.
2020-08-31score: Optimize _Objects_Name_to_id_u32()Sebastian Huber
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.
2020-08-31rtems: Add _RTEMS_Name_to_id()Sebastian Huber
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.
2020-08-31score: Constify objects name to id functionsSebastian Huber
2020-08-21config: Conditionally include headerSebastian Huber
2020-08-21score: Fix set but not used warningSebastian Huber
2020-08-21confdefs: Fix cyclic dependencySebastian Huber
Close #4061.
2020-08-20sparc: Use RTEMS_XCONCAT()Sebastian Huber
Prefer macros with a proper namespace.
2020-08-20dd(1): Use a local swapbytes() function.eadler
swab(3) has restrict qualifiers for src and dst. Avoid relying on undefined overlapping swab behavior. Obtained From: OpenBSD
2020-08-20Fix -Wchar-subscripts warningsAschref Ben Thabet
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.
2020-08-19ada: Add missing attributesSebastian Huber
2020-08-19rtems: Use unique option valuesSebastian Huber
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.
2020-08-18libtest: Add T_push_plan() and T_pop_plan()Sebastian Huber
Update #3199.
2020-08-18libtest: Use a destructorSebastian Huber
Do not set up a new test steps environment. Update #3199.
2020-08-18libtest: Change T_step() and T_assert_step()Sebastian Huber
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.
2020-08-18libtest: Add fixture stepsSebastian Huber
Support a new test plan for each nested fixture. Update #3199.
2020-08-18libtest: Add T_check_steps()Sebastian Huber
Update #3199.
2020-08-18libtest: Use line buffer in T_check()Sebastian Huber
Update #3199.
2020-08-18libtest: Add T_puts()Sebastian Huber
Update #3199.
2020-08-18libtest: Add T_do_is_runner()Sebastian Huber
Update #3199.
2020-08-18libtest: Add output buffer drain and fillSebastian Huber
Update #3199.
2020-08-18libtest: Change fixture scope methodSebastian Huber
Return the produced character count. There is no need for a NUL termination. Update #3199.
2020-08-17rtems/printer.h Fix build warnings -Wclass-memaccessAschref Ben Thabet
2020-08-11posix: Only check shm_unlink obj_err if necessaryKinsey Moore
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
2020-08-11libtest: Add T_thread_switch_record()Sebastian Huber
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.
2020-08-10libtest: ConstifySebastian Huber
Update #3199.
2020-08-08shell: Only clear std handles when the shell task exitsChris Johns
Clearing the std file handles when the main loop exited crashes telnetd as it reuses its session threads.
2020-08-07libtest: Improve T_check_task_contextSebastian Huber
Update #3199.
2020-08-07Document application configuration optionsSebastian Huber
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.
2020-08-06Remove accidentally committed fileSebastian Huber
2020-08-06libtest: Fix T_interrupt_test() in SMP configsSebastian Huber
Update #3199.
2020-08-05dev/sc16is752: Fix declarationSebastian Huber
2020-08-04termios: Make rtems_termios_ttyMutex privateSebastian Huber
This mutex is used to maintain termios internal data structures.
2020-08-04score: Use flexible-array member for C99 and laterSebastian Huber
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]
2020-08-04dosfs: Fix memory leak on failed mounts.Christian Mauderer
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.
2020-08-03rtems: Add rtems_interrupt_server_create()Sebastian Huber
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.
2020-07-29i386: Fix possible race condition on first context restoreJan Sommer
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
2020-07-24malloc: Make deferred free support optionalSebastian Huber
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.
2020-07-24score: Add RTEMS_WEAKSebastian Huber
Update #4032.
2020-07-23libtest: Add T_interrupt_test()Sebastian Huber
Update #3199.