summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/termios.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-11-07termios: Move default lock functionsSebastian Huber1-18/+0
Move rtems_termios_device_lock_acquire_default() and rtems_termios_device_lock_release_default() to a file separate from the general Termios support. This avoids complex dependencies in printk() only scenarios.
2018-10-02Use rtems_task_exit()Sebastian Huber1-2/+2
Update #3530. Update #3533.
2018-02-22termios: Fix use of uninitialized variableSebastian Huber1-4/+4
Update #2840.
2018-02-02termios: Use self-contained objectsSebastian Huber1-151/+75
Update #2840.
2017-11-07termios: Fix canonical modeSebastian Huber1-2/+4
In canonical mode, input is made available line by line. We must stop the canonical buffer filling upon reception of an end-of-line character. Close #3218.
2017-09-15libio: Add rtems_libio_iop_is_no_delay()Sebastian Huber1-1/+1
Update #3132.
2017-08-25Include missing <string.h>Sebastian Huber1-0/+1
Update #2133.
2017-07-28Fix IO control request typeSebastian Huber1-1/+2
2017-07-14posix/mmap: Add support for file handler and MAP_ANONKevin Kirspel1-0/+1
Added a mmap file handler to struct _rtems_filesystem_file_handlers_r. Updated each file handler object to support the default mmap handler. Updated mmap() to call the mmap handler for MAP_SHARED. Added a mmap file handler for shm Added support for MAP_ANON in mmap(). Updates #2859
2017-06-07Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber1-0/+1
Update #2833.
2017-06-07Move RTEMS-specific Termios API contentSebastian Huber1-2/+2
Remove obsolete support for OFILL, OFDEL, NLDLY, CRDLY, BSDLY, VTDLY, and FFDLY which is not present on FreeBSD and not implemented in Linux. Update #2833.
2017-04-10Updating default termios initialization for dedicated input/output baud ratesKevin Kirspel1-1/+4
updates #2897.
2017-03-27termios: Avoid invalid memory accessSebastian Huber1-1/+3
Update #2897.
2017-03-22termios: Synchronize with latest FreeBSD headersKevin Kirspel1-19/+25
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.
2017-02-28termios: Simplify some calculationsSebastian Huber1-4/+3
Use the modular arithmetic addition rule.
2017-02-28termios: Implement non-blocking writeSebastian Huber1-4/+6
2017-02-28termios: Make write POSIX compatibleSebastian Huber1-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.
2017-02-28termios: Introduce doTransmit()Sebastian Huber1-10/+15
2017-02-28termios: Simplify oproc()Sebastian Huber1-19/+36
Call rtems_termios_puts() only once. Adjust column in one place.
2017-02-28termios: Fix infinite loop in receive pathSebastian Huber1-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.
2017-02-28termios: Change receive callback invocationSebastian Huber1-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.
2017-02-28termios: Change tty_rcvwakeup to boolSebastian Huber1-9/+9
Optimize callout invocation check.
2017-02-28termios: Ignore carriage return early if desiredSebastian Huber1-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.
2017-02-28termios: Protect raw input buffer with device lockSebastian Huber1-16/+36
Use the device lock to protect the raw input buffer management, e.g. tail, head and buffer content updates. Close #2914.
2017-02-28termios: Simplify rtems_termios_read_tty()Sebastian Huber1-11/+4
Remove dead code. Update #2914.
2017-02-23termios: Add kqueue() and poll() supportSebastian Huber1-2/+2
Real implementation is provided by libbsd.
2017-02-03termios: Fix static device initalizationSebastian Huber1-6/+6
This enables early printk() support. Update #2838.
2016-12-16termios: Add TERMIOS_IRQ_SERVER_DRIVENAlexander Krutwig1-1/+2
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.
2016-12-16termios: Use mutex for task driven modeSebastian Huber1-2/+76
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.
2016-09-19termios: Add IO control handlerSebastian Huber1-2/+5
Update #2785.
2016-09-19termios: Use IMFS nodes for new Termios devicesSebastian Huber1-183/+277
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.
2016-07-22score: Add debug support to chainsSebastian Huber1-0/+1
This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
2014-11-21libcsupport/src/termios.c: Explicitly ignore return value (Coverity ID 1255347)Joel Sherrill1-3/+6
Coverity spotted that we were ignoring a return value. But ignoring it is intentional. Adding (void) clearly indicates it is being ignored explicitly.
2014-10-07termios: Partially hide rtems_termios_ttySebastian Huber1-52/+90
Move interrupt lock to device context and expose only this structure to the read, write and set attributes device handler. This makes these device handler independent of the general Termios infrastructure suitable for direct use in printk() support.
2014-10-07termios: Separate flow control from normal handlerSebastian Huber1-8/+15
2014-10-07termios: Fix transmit daemonSebastian Huber1-1/+9
Do not call rtems_termios_refill_transmitter() in case a PPP line discipline is present. This is similar to rtems_termios_dequeue_characters().
2014-08-18rtems_termios_puts: Copy and write more than one char at onceKolja Waschk1-50/+85
Renamed startXmit(), nToSend is unsigned, just check FL_ORCVXOF, no (void) cast anymore, compute nToSend in single if/else if/else.
2014-07-09termios: PR1279: Use first open statusSebastian Huber1-73/+82
2014-07-09termios: PR1279: Use set attributes statusSebastian Huber1-2/+4
2014-07-09termios: PR2153: New low-level device APISebastian Huber1-103/+400
Add a new low-level device API to Termios that passes the TTY structure to the low-level device functions. This greatly simplifies the low-level device drivers since they are no longer forced to derive their private data from the minor number. It makes it possible to use the TTY low-level lock in the device driver low-level functions which is necessary for proper SMP support. For example to set the attributes it is often necessary to perform a read-modify-write operation on a control register used also by interrupt routines. A compatibility layer is provided to support device drivers using the old callback functions so it is not necessary to modify existing device drivers.
2014-06-30termios: Make tty list staticSebastian Huber1-2/+3
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-14score: Add SMP lock profiling supportSebastian Huber1-1/+1
2014-03-11score: Add function to destroy SMP locksSebastian Huber1-0/+1
2014-03-11score: Add local context to SMP lock APISebastian Huber1-27/+27
Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
2013-09-05termios: check return value from semaphore obtain/releaseGedare Bloom1-2/+7
Raise a fatal error in case of failure.
2013-06-12termios: SMP supportSebastian Huber1-20/+22
2013-06-12termios: Notify driver about inactive transmitSebastian Huber1-0/+3
Returning this state in the return value leads to race conditions on SMP. The inactive state notification must be inside the critical section.
2013-06-12termios: Expand critical sectionSebastian Huber1-8/+4
Use interrupt disable/enable to protect the complete refill state change. This avoids race conditions for the task driven configuration and a later SMP support.
2013-06-12termios: Move wake up writer task actionSebastian Huber1-2/+8