summaryrefslogtreecommitdiffstats
path: root/cpukit (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-12i386/score: fix assembly mnemonicGedare Bloom1-1/+1
Closes #4076.
2020-09-11score: Fix _Thread_Initialize()Sebastian Huber1-5/+6
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 Huber9-24/+78
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 Huber3-2/+36
This decouples the task stack allocation from the deallocation. Update #3959.
2020-08-31score: Add _Stack_Allocator_do_initialize()Sebastian Huber7-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.
2020-08-31score: Use _Freechain_Push()Sebastian Huber2-2/+2
The nodes are never NULL. Update #3959.
2020-08-31score: Add <rtems/score/freechainimpl.h>Sebastian Huber9-125/+169
Hide implementation details. Update #3959.
2020-08-31score: Add _Freechain_Push()Sebastian Huber2-4/+18
Update #3959.
2020-08-31score: Fix debug assertSebastian Huber1-4/+12
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 Huber2-0/+47
Fix linker errors in the minimum test program on some BSPs introduced by ced28f2cfcee6d32ad7bb72e16b235212eb2eaaf.
2020-08-31config: Provide file descriptors only if necessarySebastian Huber1-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.
2020-08-31score: Optimize _Objects_Name_to_id_u32()Sebastian Huber2-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.
2020-08-31rtems: Add _RTEMS_Name_to_id()Sebastian Huber16-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.
2020-08-31score: Constify objects name to id functionsSebastian Huber4-17/+17
2020-08-21config: Conditionally include headerSebastian Huber1-1/+4
2020-08-21score: Fix set but not used warningSebastian Huber1-1/+1
2020-08-21confdefs: Fix cyclic dependencySebastian Huber2-12/+8
Close #4061.
2020-08-20sparc: Use RTEMS_XCONCAT()Sebastian Huber1-4/+2
Prefer macros with a proper namespace.
2020-08-20dd(1): Use a local swapbytes() function.eadler1-1/+16
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 Thabet2-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.
2020-08-19ada: Add missing attributesSebastian Huber1-0/+9
2020-08-19rtems: Use unique option valuesSebastian Huber1-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.
2020-08-18libtest: Add T_push_plan() and T_pop_plan()Sebastian Huber2-0/+21
Update #3199.
2020-08-18libtest: Use a destructorSebastian Huber1-10/+5
Do not set up a new test steps environment. Update #3199.
2020-08-18libtest: Change T_step() and T_assert_step()Sebastian Huber2-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.
2020-08-18libtest: Add fixture stepsSebastian Huber2-28/+58
Support a new test plan for each nested fixture. Update #3199.
2020-08-18libtest: Add T_check_steps()Sebastian Huber1-18/+13
Update #3199.
2020-08-18libtest: Use line buffer in T_check()Sebastian Huber1-31/+86
Update #3199.
2020-08-18libtest: Add T_puts()Sebastian Huber2-0/+26
Update #3199.
2020-08-18libtest: Add T_do_is_runner()Sebastian Huber1-30/+34
Update #3199.
2020-08-18libtest: Add output buffer drain and fillSebastian Huber1-25/+35
Update #3199.
2020-08-18libtest: Change fixture scope methodSebastian Huber2-63/+82
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 Thabet1-1/+5
2020-08-11posix: Only check shm_unlink obj_err if necessaryKinsey Moore1-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
2020-08-11libtest: Add T_thread_switch_record()Sebastian Huber3-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.
2020-08-10libtest: ConstifySebastian Huber1-1/+1
Update #3199.
2020-08-08shell: Only clear std handles when the shell task exitsChris Johns1-4/+22
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 Huber1-0/+46
Update #3199.
2020-08-07Document application configuration optionsSebastian Huber1-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.
2020-08-06Remove accidentally committed fileSebastian Huber2-3737/+0
2020-08-06libtest: Fix T_interrupt_test() in SMP configsSebastian Huber1-0/+45
Update #3199.
2020-08-05dev/sc16is752: Fix declarationSebastian Huber1-1/+1
2020-08-04termios: Make rtems_termios_ttyMutex privateSebastian Huber3-4/+3
This mutex is used to maintain termios internal data structures.
2020-08-04score: Use flexible-array member for C99 and laterSebastian Huber1-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]
2020-08-04dosfs: Fix memory leak on failed mounts.Christian Mauderer3-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.
2020-08-03rtems: Add rtems_interrupt_server_create()Sebastian Huber1-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.
2020-07-29i386: Fix possible race condition on first context restoreJan Sommer1-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
2020-07-24malloc: Make deferred free support optionalSebastian Huber3-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.
2020-07-24score: Add RTEMS_WEAKSebastian Huber1-0/+12
Update #4032.
2020-07-23libtest: Add T_interrupt_test()Sebastian Huber3-0/+472
Update #3199.