summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* configure: Remove envlock supportSebastian Huber2017-01-132-121/+1
| | | | This is provided by Newlib itself.
* Fix documentation commentSebastian Huber2017-01-121-4/+4
|
* Add and use rtems_assoc_thread_states_to_string()Sebastian Huber2017-01-123-0/+75
|
* Add rtems_assoc_32_to_string()Sebastian Huber2017-01-123-1/+94
|
* Add support for posix_devctl()Joel Sherrill2017-01-112-1/+74
|
* sys/event.h: Update to FreeBSD head 2017-01-02Sebastian Huber2017-01-091-29/+31
|
* libio: Use CONSOLE_DEVICE_NAMESebastian Huber2016-12-231-3/+4
|
* termios: Add TERMIOS_IRQ_SERVER_DRIVENAlexander Krutwig2016-12-162-5/+8
| | | | | | | | | | Add a new interrupt server driven Termios mode (TERMIOS_IRQ_DRIVEN). This mode is identical to the interrupt driven mode except that a mutex is used for device level locking. The intended use case for this mode are device drivers that use the interrupt server, e.g. SPI or I2C connected devices. Update #2839.
* termios: Use mutex for task driven modeSebastian Huber2016-12-162-7/+97
| | | | | | | | | | Termios has a task driven mode (TERMIOS_TASK_DRIVEN). This mode aims to avoid long sections with disabled interrupts. This is only partly implemented since the device level state is still protected by disabled interrupts. Use a mutex to protect the device level state in task driven mode to fix this issue. Update #2838.
* Add INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILEDSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* Add INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILEDSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* libio: Ensure proper std file descriptorsSebastian Huber2016-12-121-9/+8
|
* Add INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILEDSebastian Huber2016-12-121-2/+3
| | | | Update #2825.
* INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILEDSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* score: Introduce _Internal_error()Sebastian Huber2016-12-122-3/+3
|
* score: Remove fatal is internal indicatorSebastian Huber2016-12-092-15/+3
| | | | | | | | | The fatal is internal indicator is redundant since the fatal source and error code uniquely identify a fatal error. Keep the fatal user extension is internal parameter for backward compatibility and set it to false always. Update #2825.
* posix: Add self-contained pthread spinlockSebastian Huber2016-11-232-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn pthread_spinlock_t into a self-contained object. On uni-processor configurations, interrupts are disabled in the lock/trylock operations and the previous interrupt status is restored in the corresponding unlock operations. On SMP configurations, a ticket lock is a acquired and released in addition. The self-contained pthread_spinlock_t object is defined by Newlib in <sys/_pthreadtypes.h>. typedef struct { struct _Ticket_lock_Control _lock; __uint32_t _interrupt_state; } pthread_spinlock_t; This implementation is simple and efficient. However, this test case of the Linux Test Project would fail due to call of printf() and sleep() during spin lock ownership: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c There is only limited support for profiling on SMP configurations. Delete CORE spinlock implementation. Update #2674.
* Provide kernel space header filesSebastian Huber2016-11-084-0/+221
| | | | | These kernel space header files must be provided for Newlib 172e2050d95b41861db858dd9bc43a3fb4a28987.
* Size optimization for resource snapshotsSebastian Huber2016-11-041-23/+37
| | | | Do not reference the objects information directly.
* rtems: Add rtems_task_iterate()Sebastian Huber2016-11-021-2/+4
| | | | Update #2423.
* sys/sockio.h: Update to FreeBSD head 2016-05-03Sebastian Huber2016-10-261-2/+7
|
* sys/event.h: Update to FreeBSD head 2016-06-27Sebastian Huber2016-10-261-12/+30
|
* termios: Add IO control handlerSebastian Huber2016-09-192-2/+20
| | | | Update #2785.
* termios: Use IMFS nodes for new Termios devicesSebastian Huber2016-09-192-235/+281
| | | | | | | | This makes the new Termios devices independent of device major/minor numbers. It enables BSP independent Termios device drivers which may reside in the cpukit domain. These drivers require an IMFS and do not work with the device file system. However, the device file system should go away in the future.
* score: Add debug support to chainsSebastian Huber2016-07-225-1/+9
| | | | | | | This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
* rtems+bsps/cache: Define cache manager operations for code synchronization ↵Pavel Pisa2016-07-041-1/+1
| | | | | | | | | | | | | | and maximal alignment. There is need for unambiguous named and defined cache function which should be called when code is updated, loaded or is self-modifying. There should be function to obtain maximal cache line length as well. This function can and should be used for allocations which can be used for data and or code and ensures that there are no partial cache lines overlaps on start and end of allocated region.
* libcsupport: Add dummy for setgroups().Christian Mauderer2016-06-282-1/+27
| | | | | The dummy for setgroups() allows applications using it to build (for example civetweb webserver).
* Add printer taskSebastian Huber2016-06-222-0/+204
|
* Move printer initialization to separate headerSebastian Huber2016-06-224-10/+4
| | | | | | The RTEMS print user need to know nothing about a particular printer implementation. In particular get rid of the <stdio.h> include which would be visible via <rtems.h>.
* Make rtems/print.h independent of rtems/bspIo.hSebastian Huber2016-06-221-0/+1
|
* Make rtems_fprintf_plugin() staticSebastian Huber2016-06-221-1/+1
|
* Make rtems_printf_plugin() staticSebastian Huber2016-06-221-6/+6
|
* Make printk_plugin() staticSebastian Huber2016-06-221-10/+9
|
* Fix rtems_print_printer_fprintf()Sebastian Huber2016-05-311-1/+6
| | | | We must use vfprintf().
* libcsupport: Fix printk warnings.Chris Johns2016-05-251-2/+2
|
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-258-36/+132
| | | | | | | | | | | | | | | | | | | This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
* score: Add Thread_Change_life()Sebastian Huber2016-05-201-4/+6
| | | | | | | | | Add _Thread_Change_life_locked() as a general function to alter the thread life state. Use it to implement _Thread_Set_life_protection() as a first step. Update #2555. Update #2626.
* posix: Simplify message queuesSebastian Huber2016-05-022-2/+0
| | | | | | | | | | | | The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
* score: Simplify _Objects_Get_next()Sebastian Huber2016-04-211-3/+1
| | | | Remove unused location parameter.
* malloc: Avoid memory leaks during task deleteSebastian Huber2016-04-061-1/+3
| | | | | Call _Malloc_Process_deferred_frees() owning the allocator lock to prevent deletion of the executing thread while doing the deferred frees.
* malloc: Fix early realloc() allocationSebastian Huber2016-04-063-46/+51
|
* Move various driver interface definition headers file libcsupport/ to include/Joel Sherrill2016-03-307-579/+1
| | | | | | | | | | | These were in libcsupport for historical reasons and the placement no longer made sense. As part of this move, some of the files were placed under subdirectories which reflect their installed location. Thank you git for allowing us to move files. Years of CVS resulted in files being somewhere they no longer belonged.
* posix: Use per-thread lookup tree for POSIX KeysSebastian Huber2016-03-181-17/+10
| | | | | | Yields higher performance on SMP systems. Close #2625.
* score: Fix CPU time used by executing threadsSebastian Huber2016-03-171-15/+11
| | | | | | | | | | | | | | The CPU time used of a thread was previously maintained per-processor mostly during _Thread_Dispatch(). However, on SMP configurations the actual processor of a thread is difficult to figure out since thread dispatching is a highly asynchronous process (e.g. via inter-processor interrupts). Only the intended processor of a thread is known to the scheduler easily. Do the CPU usage accounting during thread heir updates in the context of the scheduler operations. Provide the function _Thread_Get_CPU_time_used() to get the CPU usage of a thread using proper locks to get a consistent value. Close #2627.
* malloc: Fix function definitionSebastian Huber2016-03-011-1/+1
| | | | Close #2617.
* malloc: Add _Malloc_System_state()Sebastian Huber2016-02-257-115/+79
| | | | | | | | | | Replace malloc_is_system_state_OK() with _Malloc_System_state() to allow early allocations, e.g. in bsp_start(). Here the _Thread_Executing is NULL, thus an _API_Mutex_Lock() would lead to a NULL pointer access. Move malloc() support code to general case rtems_heap_allocate_aligned_with_boundary(). Use rtems_heap_allocate_aligned_with_boundary() to avoid duplicated code.
* malloc: Use dedicated lock for deferred freesSebastian Huber2016-02-251-9/+26
|
* malloc: Clean up "malloc_p.h" header fileSebastian Huber2016-02-252-8/+8
|
* Use linker set for libio initializationSebastian Huber2016-02-034-47/+14
| | | | Update #2408.
* Use atexit() handler to close std file descriptorsSebastian Huber2016-02-033-5/+3
|