summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Updating default termios initialization for dedicated input/output baud ratesKevin Kirspel2017-04-101-1/+4
| | | | updates #2897.
* sys/event.h: Update to FreeBSD head 2017-02-13Sebastian Huber2017-04-041-7/+9
|
* bsps: Fix baud settingsSebastian Huber2017-04-031-4/+2
| | | | Update #2897.
* termios: Avoid invalid memory accessSebastian Huber2017-03-271-1/+3
| | | | Update #2897.
* termios: Synchronize with latest FreeBSD headersKevin Kirspel2017-03-2224-286/+642
| | | | | | | | | | | Adding modified FreeBSD headers to synchronize RTEMS termios with FreeBSD. Modify termios to support dedicated input and output baud for termios structure. Updated BSPs to use dedicated input and output baud in termios structure. Updated tools to use dedicated input and output baud in termios structure. Updated termios testsuites to use dedicated input and output baud in termios structure. Close #2897.
* libio: Fix deadlock in location managementSebastian Huber2017-03-167-13/+17
| | | | | | | | Perform a context-dependent deferred location release to avoid a deadlock on the file system instance locks, for example during a chdir(). Update #2936.
* posix_devctl: Fix for pre C99Sebastian Huber2017-03-021-5/+5
| | | | | Use __restrict just like in <devctl.h> to avoid compiler errors with older GCC, e.g. 4.8 or 4.9.
* termios: Simplify some calculationsSebastian Huber2017-02-281-4/+3
| | | | Use the modular arithmetic addition rule.
* termios: Implement non-blocking writeSebastian Huber2017-02-281-4/+6
|
* termios: Make write POSIX compatibleSebastian Huber2017-02-281-34/+81
| | | | | | | | Currently only blocking read/write operations are implemented. A blocking write must transfer at least one character. It should not wait for the device for the second character and so on. Close #2917.
* termios: Introduce doTransmit()Sebastian Huber2017-02-281-10/+15
|
* 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>.