summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* termios: Simplify oproc()Sebastian Huber2017-02-281-19/+36
| | | | Call rtems_termios_puts() only once. Adjust column in one place.
* termios: Fix infinite loop in receive pathSebastian Huber2017-02-281-5/+9
| | | | | | | In canonical mode, the raw input buffer or the canonical buffer may overflow without an end of line. Avoid an infinite loop in this case. Close #2915.
* termios: Change receive callback invocationSebastian Huber2017-02-281-11/+47
| | | | | | | | Call the receive callback in case a read will succeed without to block. This enables the use of the receive callback for a poll() and select() support. Increase raw input buffer size to allow buffering of one line. Close #2916.
* termios: Change tty_rcvwakeup to boolSebastian Huber2017-02-282-10/+10
| | | | Optimize callout invocation check.
* termios: Ignore carriage return early if desiredSebastian Huber2017-02-281-6/+19
| | | | | | | In case carriage return characters should be ignored in the input (IGNCR), then drop them early before they reach the raw input buffer. This makes it easier to calculate the content size of the raw input buffer.
* termios: Protect raw input buffer with device lockSebastian Huber2017-02-281-16/+36
| | | | | | | Use the device lock to protect the raw input buffer management, e.g. tail, head and buffer content updates. Close #2914.
* termios: Simplify rtems_termios_read_tty()Sebastian Huber2017-02-281-11/+4
| | | | | | Remove dead code. Update #2914.
* termios: Add kqueue() and poll() supportSebastian Huber2017-02-232-2/+22
| | | | Real implementation is provided by libbsd.
* termios: Fix static device initalizationSebastian Huber2017-02-032-7/+23
| | | | | | This enables early printk() support. Update #2838.
* score: Add _Thread_queue_Object_nameSebastian Huber2017-01-311-1/+0
| | | | | | | | | | | | | Add the special thread queue name _Thread_queue_Object_name to mark thread queues embedded in an object with identifier. Using the special thread state STATES_THREAD_QUEUE_WITH_IDENTIFIER is not reliable for this purpose since the thread wait information and thread state are protected by different SMP locks in separate critical sections. Remove STATES_THREAD_QUEUE_WITH_IDENTIFIER. Add and use _Thread_queue_Object_initialize(). Update #2858.
* 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.