| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Update #3530.
Update #3533.
|
|
|
|
| |
Update #2840.
|
|
|
|
| |
Update #2840.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3132.
|
|
|
|
| |
Update #2133.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Update #2833.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
updates #2897.
|
|
|
|
| |
Update #2897.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use the modular arithmetic addition rule.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Call rtems_termios_puts() only once. Adjust column in one place.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Optimize callout invocation check.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Use the device lock to protect the raw input buffer management, e.g.
tail, head and buffer content updates.
Close #2914.
|
|
|
|
|
|
| |
Remove dead code.
Update #2914.
|
|
|
|
| |
Real implementation is provided by libbsd.
|
|
|
|
|
|
| |
This enables early printk() support.
Update #2838.
|
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
| |
Update #2785.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This helps to detect
* double insert, append, prepend errors, and
* get from empty chain errors.
|
|
|
|
|
|
| |
Coverity spotted that we were ignoring a return value. But ignoring
it is intentional. Adding (void) clearly indicates it is being ignored
explicitly.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Do not call rtems_termios_refill_transmitter() in case a PPP line
discipline is present. This is similar to
rtems_termios_dequeue_characters().
|
|
|
|
| |
Renamed startXmit(), nToSend is unsigned, just check FL_ORCVXOF, no (void) cast anymore, compute nToSend in single if/else if/else.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Raise a fatal error in case of failure.
|
| |
|
|
|
|
|
|
| |
Returning this state in the return value leads to race conditions on
SMP. The inactive state notification must be inside the critical
section.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|