Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
|
|
New IO control RTEMS_IO_TCFLUSH.
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
Change the ioctl_return type of rtems_libio_ioctl_args_t to match the
ioctl() return value type.
|
|
* libcsupport/src/termios.c: Make rtems_termios_refill_transmitter
static.
|
|
* libcsupport/src/termios.c: Remove unnecessary cast.
|
|
* libcsupport/src/termios.c: Make FL_* defines unsigned.
|
|
* libcsupport/include/rtems/libio.h, libcsupport/src/termios.c:
Use size_t for sizes.
|
|
* libcsupport/src/termios.c,
libcsupport/include/rtems/termiostypes.h (rtems_termios_puts):
Use size_t for buffer size.
|
|
* libcsupport/src/termios.c: Remove meaningless typecast.
|
|
* libcsupport/include/rtems/libio.h, cpukit/libcsupport/src/termios.c:
Added const qualifier to rtems_termios_enqueue_raw_characters().
Removed superfluous cast.
|
|
PR 1662/filesystem
* libcsupport/src/termios.c: osem is now released before attempt
to delete in rtems_termios_close.
|
|
* libcsupport/src/getlogin.c: Formatting. Add EFAULT.
* libcsupport/src/termios.c: Formatting.
|
|
* libcsupport/src/termios.c: Formatting.
|
|
Coverity Id 28
* libcsupport/src/termios.c: Set then unconditionally to avoid
potential paths where it might be used uninitialized. Recommended by
Eric Norum.
|
|
* libcsupport/src/termios.c, libfs/src/dosfs/msdos_format.c,
libfs/src/nfsclient/src/nfs.c, libfs/src/pipe/fifo.c,
libnetworking/lib/rtems_bsdnet_ntp.c, libnetworking/lib/tftpDriver.c,
libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_select.c:
Eliminate uses of deprecated rtems_clock_get() and replace with
properly typed routine.
|
|
infinite output drain loop
|
|
|
|
|
|
PR 500/misc
* libcsupport/src/termios.c: Avoid potential buffer overflow.
|
|
* libcsupport/include/rtems/termiostypes.h,
libcsupport/src/termios.c: Prefix linesw, struct linesw, nwlinesw
with rtems_termios_*.
|
|
* libcsupport/src/termios.c, posix/Makefile.am, posix/preinstall.am,
posix/include/rtems/posix/config.h, posix/include/rtems/posix/time.h,
sapi/src/posixapi.c, score/Makefile.am, score/preinstall.am,
score/include/rtems/score/corerwlock.h,
score/include/rtems/score/threadq.h,
score/src/corerwlockobtainread.c, score/src/threadqenqueue.c,
score/src/threadqtimeout.c: Adding POSIX barriers, POSIX spinlocks,
and partial implementation of POSIX rwlocks.
* posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/spinlock.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
posix/src/pbarrier.c, posix/src/pbarrierdestroy.c,
posix/src/pbarrierinit.c, posix/src/pbarriertranslatereturncode.c,
posix/src/pbarrierwait.c, posix/src/prwlock.c,
posix/src/prwlockdestroy.c, posix/src/prwlockinit.c,
posix/src/prwlockrdlock.c, posix/src/prwlocktimedrdlock.c,
posix/src/prwlocktimedwrlock.c,
posix/src/prwlocktranslatereturncode.c, posix/src/prwlocktryrdlock.c,
posix/src/prwlocktrywrlock.c, posix/src/prwlockunlock.c,
posix/src/prwlockwrlock.c, posix/src/pspin.c,
posix/src/pspindestroy.c, posix/src/pspininit.c,
posix/src/pspinlock.c, posix/src/pspinlocktranslatereturncode.c,
posix/src/pspintrylock.c, posix/src/pspinunlock.c,
posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c,
posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c: New files.
|
|
* libcsupport/src/termios.c: Change attribute of semaphore. It was
counting interrupts not acting as a condition synchronization mutex.
Since the caller did not always need to obtain the semaphore, it was
not being decremented until there was no data. This could occur after
hours of running a system and thousands of interrupts. The code in
fillBufferQueue would spin until it had consumed all of those
semaphore counts.
|
|
PR 830/filesystem
* libcsupport/src/termios.c: termios ioctl(FIONREAD) reported wrong
number of characters. So add chars in low-level/raw buffer to total
count.
|
|
* libcsupport/src/termios.c: Removed warnings.
|
|
* libblock/include/rtems/bdbuf.h,
libblock/include/rtems/ide_part_table.h, libblock/src/blkdev.c,
libcsupport/include/rtems/termiostypes.h, libcsupport/src/termios.c,
posix/macros/rtems/posix/cond.inl,
posix/macros/rtems/posix/mutex.inl : Remove warnings.
|
|
* libcsupport/src/termios.c: Remove unnecessary type casts.
|
|
|
|
* configure.ac: Rework stdint.h/inttypes.h support.
Add RTEMS_USES_STDINT_H. Add RTEMS_USES_INTTYPES_H.
Remove NEED_STDINT_H. Remove NEED_INTTYPES_H.
Remove termios-flag detection.
* libcsupport/Makefile.am: Install include/stdint.h and
include/inttypes.h for NEWLIB only.
* libcsupport/include/stdint.h: Rework; Now newlib specific.
* libcsupport/src/termios.c: Make newlib specific.
* include/rtems/stdint.h: Rework; Now wrapper to <stdint.h>.
|
|
* libcsupport/include/chain.h, libcsupport/include/clockdrv.h,
libcsupport/include/ringbuf.h, libcsupport/include/spurious.h,
libcsupport/include/timerdrv.h, libcsupport/include/vmeintr.h,
libcsupport/include/motorola/mc68230.h,
libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/libio.h,
libcsupport/include/rtems/libio_.h,
libcsupport/include/rtems/termiostypes.h,
libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h,
libcsupport/include/zilog/z8536.h, libcsupport/src/__gettod.c,
libcsupport/src/assoc.c, libcsupport/src/assocnamebad.c,
libcsupport/src/error.c, libcsupport/src/libio.c,
libcsupport/src/libio_sockets.c, libcsupport/src/malloc.c,
libcsupport/src/no_libc.c, libcsupport/src/termios.c,
libcsupport/src/termiosreserveresources.c: Convert to using c99
fixed-size types.
|
|
* include/chain.h, include/clockdrv.h, include/console.h,
include/iosupp.h, include/rtc.h, include/spurious.h,
include/timerdrv.h, include/vmeintr.h, include/motorola/mc68230.h,
include/rtems/libcsupport.h, include/rtems/libio.h,
include/rtems/libio_.h, include/rtems/termiostypes.h,
include/sys/termios.h, include/zilog/z8036.h, include/zilog/z8530.h,
include/zilog/z8536.h, src/__brk.c, src/__gettod.c, src/__sbrk.c,
src/__times.c, src/access.c, src/base_fs.c, src/cfgetispeed.c,
src/cfgetospeed.c, src/cfsetispeed.c, src/cfsetospeed.c, src/chdir.c,
src/chmod.c, src/chown.c, src/chroot.c, src/close.c, src/ctermid.c,
src/dup.c, src/dup2.c, src/eval.c, src/fchdir.c, src/fchmod.c,
src/fcntl.c, src/fdatasync.c, src/fpathconf.c,
src/fs_null_handlers.c, src/fstat.c, src/fsync.c, src/ftruncate.c,
src/getdents.c, src/getpwent.c, src/hosterr.c, src/ioctl.c,
src/isatty.c, src/libio.c, src/libio_sockets.c, src/link.c,
src/lseek.c, src/lstat.c, src/malloc.c, src/mallocfreespace.c,
src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mount.c, src/newlibc.c,
src/no_libc.c, src/no_posix.c, src/open.c, src/pathconf.c,
src/pipe.c, src/privateenv.c, src/read.c, src/readlink.c,
src/rewinddir.c, src/rmdir.c, src/seekdir.c, src/stat.c,
src/symlink.c, src/sync.c, src/tcdrain.c, src/tcflow.c,
src/tcflush.c, src/tcgetattr.c, src/tcgetprgrp.c, src/tcsendbreak.c,
src/tcsetattr.c, src/tcsetpgrp.c, src/telldir.c, src/termios.c,
src/termiosinitialize.c, src/truncate.c, src/umask.c, src/unixlibc.c,
src/unlink.c, src/unmount.c, src/utime.c, src/write.c: URL for
license changed.
|
|
PR 419/rtems
* src/termios.c: Removed warning.
|
|
rtems_termios_bufsize call.
|
|
PR 399/rtems_misc
* src/termios.c: In canonical mode, when input is present in the
input buffer that contains an EOL character and some following
characters, a read call read data behind the EOL character, although
it should stop reading with the EOL character.
|
|
PR 357/rtems_misc
* src/termios.c (rtems_termios_open): Fixed code the incorrectly
checked that the wrong pointer during allocation was NULL.
|
|
* configure.ac: Add various checks to enhance portability.
* src/termios.c: Reflect changes to configure.ac.
|
|
* Nice Update of PPPD support which eliminates the
requiremetn that drivers be in the termios TASK_DRIVEN mode.
Mike did significant testing and reports that it seems to be
more stable and handle larger packets better. This patch
replaces the termios tasks with more general pppd network
driver tasks. The functions pppinput() and pppstart() get
called from the interrupt service routine.
* libc/termios.c: Added PPCDISC.
|
|
* libc/termios.c: Fixed a memory leak in the termios
software. Basically the tty open function was allocating an input
raw buffer, an output raw buffer, and a cooked buffer that were
not getting released. I have attached a patch for the latest
snapshot. The patch also has a fix to ensure the tty link list
is updated correctly when a tty is closed.
|
|
* libc/termios.c: Fix a bug in the termios implementation in
the following scenario:
The General Terminal Interface document that me states that
if VMIN = 0 and VTIME = 0, then read() should return the minimum
of two values:
a) number of bytes available
b) number of bytes requested (I assume from the read call)
The current implementation of the fillBufferQueue() in termios.c is
always return 1 character with these setting values. I know the
termios buffer has more than one character available and my read()
call is requesting 1024 bytes.
|
|
* libc/termios.c: Fix a bug in the termios implementation in
the following scenario:
The General Terminal Interface document that me states that
if VMIN = 0 and VTIME = 0, then read() should return the minimum
of two values:
a) number of bytes available
b) number of bytes requested (I assume from the read call)
The current implementation of the fillBufferQueue() in termios.c is
always return 1 character with these setting values. I know the
termios buffer has more than one character available and my read()
call is requesting 1024 bytes.
|
|
* configure.in: Add libc/config.h
* libc/Makefile.am: Add INCLUDES += -I. to pickup config.h
* libc/.cvsignore: Add config.h and stamp-h
* libc/*.c: Add config.h support.
|
|
* include/rtems/Makefile.am: Added termiostypes.h.
* libc/Makefile.am: Removed termiostypes.h.
* libc/termios.c: Changed include of "termiostypes.h" to
<rtems/termiostypes.h> since that is an RTEMS specific header file.
|