summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-201-4/+4
| | | | | | | 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.
* 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.
* rtems: Add rtems_get_copyright_notice()Sebastian Huber2020-05-061-2/+12
| | | | Update #3973.
* Use rtems_get_version_string()Sebastian Huber2020-05-061-3/+3
| | | | Update #3970.
* doxygen: Switch @brief and @ingroupSebastian Huber2020-04-2829-29/+58
| | | | This order change fixes the Latex documentation build via Doxygen.
* Canonicalize config.h includeSebastian Huber2020-04-1612-20/+20
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* libmisc/shell: Fix the handling of joel scripts in telnetChris Johns2020-04-151-101/+268
| | | | | | | | | | | | - Fix the passing of std[in/out] to child threads - Fix deleting of managed memory in the key destructor - Only set the key in the main loop thread - Only allocate a shell env outside of the main loop - Fix memory leak if the task start fails - Remove error level from shell env, it cannot be returned this way. Add exit_code but the API is broken so it cannot be returned. Closes #3859
* score: Fix context switch extensions (SMP)Sebastian Huber2020-02-281-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In uniprocessor and SMP configurations, the context switch extensions were called during _Thread_Do_dispatch(): void _Thread_Do_dispatch( Per_CPU_Control *cpu_self, ISR_Level level ) { Thread_Control *executing; executing = cpu_self->executing; ... do { Thread_Control *heir; heir = _Thread_Get_heir_and_make_it_executing( cpu_self ); ... _User_extensions_Thread_switch( executing, heir ); ... _Context_Switch( &executing->Registers, &heir->Registers ); ... } while ( cpu_self->dispatch_necessary ); ... } In uniprocessor configurations, this is fine and the context switch extensions are called for all thread switches except the very first thread switch to the initialization thread. However, in SMP configurations, the context switch may be invalidated and updated in the low-level _Context_Switch() routine. See: https://docs.rtems.org/branches/master/c-user/symmetric_multiprocessing_services.html#thread-dispatch-details In case such an update happens, a thread will execute on the processor which was not seen in the previous call of the context switch extensions. This can confuse for example event record consumers which use events generated by a context switch extension. Fixing this is not straight forward. The context switch extensions call must move after the low-level context switch. The problem here is that we may end up in _Thread_Handler(). Adding the context switch extensions call to _Thread_Handler() covers now also the thread switch to the initialization thread. We also have to save the last executing thread (ancestor) of the processor. Registers or the stack cannot be used for this purpose. We have to add it to the per-processor information. Existing extensions may be affected, since now context switch extensions use the stack of the heir thread. The stack checker is affected by this. Calling the thread switch extensions in the low-level context switch is difficult since at this point an intermediate stack is used which is only large enough to enable servicing of interrupts. Update #3885.
* config: Add _SMP_Is_enabledSebastian Huber2020-02-251-1/+1
| | | | | | | | | | Move the is SMP enabled configuration constant out of the configuration table. Since this was the last configuration constant in rtems_configuration_table, remove this type. Update #3875.
* config: Simplify initialization task configSebastian Huber2020-02-252-4/+8
| | | | | | | | | | With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration option at most one Classic API user initialization task can be configured. Provide an RTEMS API configuration table for backward compatibility. Update #3873.
* monitor: Use proper API for all config constantsSebastian Huber2020-02-171-7/+4
|
* stackchk: Add RTEMS_SYSINIT_ISR_STACKSebastian Huber2020-02-041-2/+2
| | | | | | | Use a dedicated system initialization step for the stack checker interrupt stack support. Update #3838.
* libmisc/top: Fix the idle time and priorities on SMPChris Johns2019-12-191-11/+27
| | | | | | | - This patch is based on the patch attached to #3552 submitted by jameszxj. Closes #3552
* config: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORSSebastian Huber2019-12-191-1/+1
| | | | | | | Rename CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS into CONFIGURE_MAXIMUM_FILE_DESCRIPTORS. Update #3753.
* config: Add _MPCI_ConfigurationSebastian Huber2019-12-133-15/+7
| | | | | | | Replace the user MPCI configuration table with a system provided _MPCI_Configuration. Update #3735.
* rtems: Optimize semaphore control blockSebastian Huber2019-12-111-5/+9
| | | | | | | Move variant, discipline, and global information to flags stored in a node pointer of active semaphores. Update #3833.
* untar: Properly make parent pathSebastian Huber2019-11-261-144/+46
| | | | Close #3823.
* untar: Make path also for symbolic linksSebastian Huber2019-11-251-9/+8
| | | | Close #3823.
* untar: Unify untar supportSebastian Huber2019-11-251-94/+87
| | | | Update #3823.
* Move feature macro before "config.h" includeSebastian Huber2019-11-194-9/+12
| | | | | | | This allows to use header includes in "config.h" to reduce the build configuration checks. Update #3818.
* Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZESebastian Huber2019-07-301-1/+1
|
* misc/rtemsdefaultconfig: Add bdbuf so libbsd can be used with configure.Chris Johns2019-07-021-1/+2
|
* score: Add and use _Thread_Get_unmapped_priority().Sebastian Huber2019-06-282-6/+3
| | | | Add and use _Thread_Get_unmapped_real_priority().
* shell: Avoid rtems_error()Sebastian Huber2019-05-141-9/+0
| | | | | | | Do not use the rtems_error() function since this function pulls in exit() and abort(). The abort() function pulls in raise() which pulls in the whole POSIX signals support. This change saves about 16KiB of text/rodata on ARM Thumb-2 systems.
* rtems: Add rtems_scheduler_get_processor_maximum()Sebastian Huber2019-04-094-6/+6
| | | | | | | | | | | Add rtems_scheduler_get_processor_maximum() as a replacement for rtems_get_processor_count(). The rtems_get_processor_count() is a bit orphaned. Adopt it by the Scheduler Manager. The count is also misleading, since the processor set may have gaps and the actual count of online processors may be less than the value returned by rtems_get_processor_count(). Update #3732.
* rtems: Add rtems_scheduler_get_processor()Sebastian Huber2019-04-091-2/+2
| | | | | | | | | | | Add rtems_scheduler_get_processor() as a replacement for rtems_get_current_processor(). The rtems_get_current_processor() is a bit orphaned. Adopt it by the Scheduler Manager. This is in line with the glibc sched_getcpu() function. Deprecate rtems_get_current_processor(). Update #3731.
* build: Move test support to librtemstest.aSebastian Huber2019-03-265-546/+0
| | | | | | | | One reason to move the test support into a dedicated library are the standard output __wrap_*() functions. They may conflict with application level wrappers. Update #3199.
* main_edit.c: Use strncpy() to eliminate potential buffer overflow.Joel Sherrill2019-03-141-4/+5
|
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-144-4/+0
|
* shell: Correct argument order of `mfill`Jonathan Brandmeyer2019-03-081-1/+1
| | | | Close #3720.
* Remove explicit file names from @fileSebastian Huber2019-02-281-1/+1
| | | | | | This makes the @file documentation independent of the actual file name. Update #3707.
* libmisc: Fix rtems_print_bufferChris Johns2019-02-091-1/+1
| | | | Closes #3684
* libmisc: Fix swapped parameters and enable floating point usage.Maksim E. Kozlov2019-01-231-1/+1
|
* Fix format warnings due to ino_t changesSebastian Huber2019-01-102-4/+8
|
* Fix format warningsSebastian Huber2019-01-072-7/+11
|
* drvmgr: Improve LP64 compatibilitySebastian Huber2018-12-271-1/+2
|
* rtems: Use object information to get config maxSebastian Huber2018-12-141-9/+9
| | | | | | | Use functions instead of macros. Add missing rtems_configuration_get_maximum_*() functions. Update #3621.
* testsupport: Include missing <rtems/bspIo.h>Sebastian Huber2018-12-031-0/+1
|
* score: Remove support for RTEMS_USE_16_BIT_OBJECTSebastian Huber2018-11-212-8/+0
| | | | | | | | | The RTEMS_USE_16_BIT_OBJECT define is not set by an RTEMS port. Remove support for 16-bit object identifiers. If someone really wants to use RTEMS on a 16-bit target, then it is better to use self-contained objects instead of playing around with object identifier optimizations. Update #3603.
* rtems: Move internal structures to extensiondata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to tasksdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to regiondata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to partdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* m32c: Remove this targetSebastian Huber2018-11-121-8/+4
| | | | Update #3599.
* rtems: Deprecate region_information_blockSebastian Huber2018-11-092-2/+2
| | | | | | | The region_information_block typedef as no corresponding API. It has no proper namespace prefix. A user can do nothing with it. Close #3591.
* monitor: Remove dead codeSebastian Huber2018-11-082-19/+0
| | | | | Update #3587. Update #3589.
* score: Rename interrupt stack symbolsSebastian Huber2018-11-081-1/+1
| | | | | | | | | | | | | Rename * _Configuration_Interrupt_stack_area_begin in _ISR_Stack_area_begin, * _Configuration_Interrupt_stack_area_end in _ISR_Stack_area_end, and * _Configuration_Interrupt_stack_size in _ISR_Stack_size. Move definitions to <rtems/score/isr.h>. The new names are considerable shorter and in the right namespace. Update #3459.
* posix: Provide threads by defaultSebastian Huber2018-10-292-10/+2
| | | | Update #2514.
* build: Merge libmisc/Makefile.amSebastian Huber2018-10-101-199/+0
|