| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* PR143
* lib/include/rtems/termiostypes.h: Removed unneeded volatile on
"theBuf" since no byte is read more than once anyway.
|
|
|
|
|
|
| |
* include/rtems/libio.h: Add #include <rtems/fs.h>.
Reflect changes due to using rtems/fs.h.
* include/rtems/libio_.h: Reworked.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems/libio_.h: Remove set_errno_and_return_minus_one.
* libc/cfsetispeed.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/cfsetospeed.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chmod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chown.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/chroot.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/closedir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/eval.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fchdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fchmod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fdatasync.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fpathconf.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fstat.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/fsync.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ftruncate.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/getdents.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ioctl.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/link.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/lseek.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/mknod.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/open.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/read.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/readlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/rmdir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/stat.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/symlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/tcsetattr.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/telldir.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ttyname.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/ttyname_r.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/unlink.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/unmount.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/utime.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
* libc/write.c: Include <rtems/seterr.h>.
Apply rtems_set_errno_and_return_minus_one.
|
|
|
|
|
|
|
| |
* libc/libio.c: Initialize more fields to NULL/0 during initialiation.
* include/rtems/libio_.h: Fix freenode macro so it works for sockets
which do not have the full set of filesystem operations and are
initialized via something other than open().
|
|
|
|
| |
* include/chain.h: Fixed typo.
|
|
|
|
|
|
|
|
| |
* include/rtems/libio_.h: Added ifdef to ensure that LOGIN_NAME_MAX
is defined on GNU/Linux (RedHat 6.2 distribution).
* libc/unixlibc.c: Added stubs for rtems_io_register_name() and
rtems_io_lookup_name() so UNIX port would compile the IO manager
sptest that registers /dev/null.
|
|
|
|
|
| |
* include/rtems/termiostypes.h, include/sys/ioccom.h:
Update of PPPD to 2.3.11 from 2.3.5 touched these files.
|
|
|
|
|
| |
* include/rtems/libio_.h: Added login name, uid, gid, euid, and egid
so they can be part of the private environment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems/libio_.h, libc/chroot.c, libc/privateenv.c:
Private environment and chroot() enhancements and fixes. Comments:
+ privateenv has been modified to let at chroot() to be more
POSIX like Sergei Organov recommended.
+ A task owner lets that rtems_set_private_env() will be
called twice or more times.
+ chroot() can be called without a previous
rtems_set_private_env(); (transpanrently)
+ The second call of rtems_set_private_env() makes a internal
chroot("/") into global imfs_root.
+ chroot() runs like chdir() without a previous chdir("/") with
the global root.
+ The current directory can be in a wrong place like Linux and
many other Unices.
|
|
|
|
|
| |
* include/rtc.h: New file.
* include/Makefile.am: Updated to reflect above.
|
|
|
|
| |
* sys/utsname.h: Added C++ wrapper.
|
|
|
|
|
|
|
|
|
|
| |
* Alternate email is correo@fernando-ruiz.com
* libc/privateenv.c: New file.
* include/rtems/libio_.h, libc/Makefile.am, libc/base_fs.c,
libc/unmount.c: Moved default umask, current working directory,
root, and links followed count into a structure "user environment"
that can then be treated as a unit. This enable giving unique
copies of these to individual threads or collection of threads.
|
|
|
|
|
| |
* include/sys/ttycom.h: New file -- moved from libnetworking/sys.
* Makefile.am: Modified to reflect above.
|
|
|
|
| |
* libc/termiostypes.h: New file -- missed in earlier commits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/Makefile.am, include/rtems/libio_.h, libc/Makefile.am,
libc/assoc.c, libc/assocnamebad.c, libc/base_fs.c, libc/cfsetispeed.c,
libc/cfsetospeed.c, libc/chdir.c, libc/chmod.c, libc/chown.c,
libc/close.c, libc/closedir.c, libc/dup2.c, libc/error.c, libc/eval.c,
libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c,
libc/fpathconf.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c,
libc/getdents.c, libc/ioctl.c, libc/libio.c, libc/libio_sockets.c,
libc/link.c, libc/lseek.c, libc/malloc.c, libc/mallocfreespace.c,
libc/mknod.c, libc/mount.c, libc/newlibc.c, libc/no_libc.c,
libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c,
libc/symlink.c, libc/tcsetattr.c, libc/telldir.c, libc/ttyname.c,
libc/ttyname_r.c, libc/umask.c, libc/unlink.c, libc/unmount.c,
libc/utime.c, libc/write.c:
assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved
from libc to lib/include/rtems and now must be referenced as
<rtems/XXX.h>.
* include/rtems/Makefile.am, include/rtems/.cvsignore: New file.
* include/rtems/assoc.h, include/rtems/error.h,
include/rtems/libcsupport.h, include/rtems/libio.h,
include/rtems/libio_.h: New/moved files.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/ioman.c: Moved to libfs.
* libc/Makefile.am: Removed ioman.c as part of moving it to libfs.
* libc/base_fs.c: Removed include of imfs.h and reworded comment
to avoid being IMFS specific.
* libc/libio.h: Removed prototype of IMFS_ops since it should
not be in this file.
* libc/mount.c: Removed IMFS specific configuration information.
* libc/unmount.c: Removed include of imfs.h and reworded comment
to avoid being IMFS specific.
|
|
|
|
|
|
|
| |
* libc/Makefile.am: Added mallocfreespace.c.
* libc/mallocfreespace.c: New file based on work by Nick Simon
<Nick.SIMON@syntegra.bt.co.uk> which he included in malloc.c.
* libc/libcsupport.h: Added prototype for malloc_free_space().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/libio.h (rtems_filesystem_file_handlers_r,
rtems_filesystem_operations_table): Added _h to all structure
fields to indicate they are "handlers".
* libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c,
libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c,
libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c,
libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c,
libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c,
libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c,
libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c,
libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c:
Modified to reflect above name change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/chmod.c: Return ENOTSUP if filesystem does not have handler.
* libc/eval.c: Ditto.
* libc/fcntl.c: Ditto.
* libc/fsync.c: Ditto.
* libc/ioctl.c: Ditto.
* libc/ioman.c: Ditto.
* libc/link.c: Ditto.
* libc/memfile.c: Ditto.
* libc/mknod.c: Ditto.
* libc/symlink.c: Ditto.
* libc/libio.h(rtems_filesystem_dev_major_t): New macro.
* libc/libio.h(rtems_filesystem_dev_minor_t): New macro.
|
|
|
|
|
| |
configurations could see it while including <sys/ioctl.h> and
<sys/ioccom.h>.
|
| |
|
|
|
|
| |
of all FIO constants and conflict with libnetworking code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<charles.gauthier@iit.nrc.ca>, and Darlene A. Stewart
<Darlene.Stewart@nrc.ca> to add support for a number of very
significant things:
+ BSPs for many variations on the Motorola MBX8xx board series
+ Cache Manager including initial support for m68040
and PowerPC
+ Rework of mpc8xx libcpu code so all mpc8xx CPUs now use
same code base.
+ Rework of eth_comm BSP to utiltize above.
John reports this works on the 821 and 860
|
| |
|
|
|
|
| |
adds .cvsignore.
|
| |
|
| |
|
|
|
|
| |
initialization.
|
| |
|
|
|
|
|
| |
readdir support. The next step is to add a mount table and configure
either the miniIMFS or the full IMFS at the application level.
|
|
|
|
| |
Renamed IMFS handler tables to include IMFS prefix.
|
|
|
|
|
| |
places to make sure memory allocated for filesystem specifif nodes
gets freed.
|
| |
|
|
|
|
| |
mount() was changed to avoid the use of a string as the options.
|
|
|
|
| |
for simplicity.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There seems to be an ugly dependency between posix-headers and
libcsupport.
Configuring rtems with
../rtems-rc-19990324-0/configure \
--target=i386-rtems \
--prefix=<somewhere> \
--disable-posix
"make RTEMS_BSP=pc386" results into:
[...]
/opt/rtems/bin/i386-rtems-gcc --pipe
-B/users/rtems/src/multi/build/pc386/lib/ -specs bsp_specs -qrtems
-I/users/rtems/src/multi/build/pc386/lib/include/networking -g -Wall
-ansi -fasm -O4 -fomit-frame-pointer -c -o o-pc386/utime.o
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c
In file included from
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:16:
/opt/rtems/i386-rtems/include/utime.h:4: sys/utime.h: No such file or
directory
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
`struct utimbuf' declared inside parameter list
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
its scope is only this definition or declaration,
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:24: warning:
which is probably not what you want.
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c: In function
`utime':
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:34:
dereferencing pointer to incomplete type
../../../../../rtems-rc-19990324-0/c/src/lib/libc/utime.c:34:
dereferencing pointer to incomplete type
make[4]: *** [o-pc386/utime.o] Error 1
make[3]: *** [all] Error 1
make[2]: *** [all] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory `/lfs/poseidon/users/rtems/src/multi/build/c'
make: *** [all] Error 1
Apparently sys/utime.h is one of the posix headers and therefore gets
not installed (I suppose this is correct).
IMO, this probably indicates that sys/utime.h has to be moved to another
include subdirectory and should not be part of the posix-package.
[AFAIK, sys/*.h are system dependent headers, so why should it be a
posix-header? - Hmm]
|
|
|
|
| |
fcntl support and an external fcntl handler for sockets.
|
| |
|
|
|
|
|
|
|
|
| |
would work. At the same time, the initial implementation of F_SETFL
was added. A support routine was added to convert internal libio
flags back to the POSIX style. Eventually the internal representation
should be eliminated in the interest of simplicity and code reduction.
This problem was reported by Jake Janovetz <janovetz@tempest.ece.uiuc.edu>.
|
|
|
|
|
| |
IO handlers scheme that was implemented originally just to support
sockets. The file system IO switch is more general and works fine.
|
|
|
|
|
|
|
|
|
|
| |
<ian@airs.com> to fix this problem:
There is a small bug in __rtems_close in c/src/lib/libc/libio.c. It
does not check whether the file descriptor it is passed is open. This
can cause it to make a null dereference if it is passed a file
descriptor which is in the valid range but which was not opened, or
which was already closed.
|
|
|
|
| |
all conflicts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Eric Norum <eric@skatter.usask.ca>
Date: Sat, 5 Dec 98 13:20:51 -0600
What do you think of this patch? It implements your `tap'
suggestion in a way that adds support for all ethernet devices with
no driver modifications. I also added a return value from the tap
function. If the return value is zero, the packet will be passed up
the chain as usual. If the return value is non-zero the mbuf holding
the packet will be freed and the packet will be dropped.
If you like it, please submit it to Joel.
I guess there needs to be an addition to the network documentation
describing the additional ioctl's -- and a big warning that the tap
function is called from a context that holds the network semaphore.
Here is Eric's patch. I've tested it a bit, and made a couple of
trivial changes. This is certainly better than mine: it should work
for all Ethernet drivers.
==================================================
The only concern I have about this patch is that the tap function may
want to fiddle with the mbuf, calling functions like m_pullup and the
like. If those force the networking code to rearrange the mbuf
structure, then the caller's call to m_freem may crash. I don't know
if this is a realistic concern--I don't know enough about the mbuf
layer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
overhaul of the RTEMS system call interface. This base file system is
the "In-Memory File System" aka IMFS.
The design and implementation was done by the following people:
+ Joel Sherrill (joel@OARcorp.com)
+ Jennifer Averett (jennifer@OARcorp.com)
+ Steve "Mr Mount" Salitasc (salitasc@OARcorp.com)
+ Kerwin Wade (wade@OARcorp.com)
PROBLEMS
========
+ It is VERY likely that merging this will break the UNIX port. This
can/will be fixed.
+ There is likely some reentrancy/mutual exclusion needed.
+ Eventually, there should be a "mini-IMFS" description table to
eliminate links, symlinks, etc to save memory. All you need to
have "classic RTEMS" functionality is technically directories
and device IO. All the rest could be left out to save memory.
|
|
|
|
| |
with libchip.
|
|
|
|
|
|
|
|
|
|
|
| |
1. Finally fixes raw interrupts for pc386
2. Makes some minor cleanup in console and startup
3. Makes rtems_termios_dequeue_characters() to return count of
outstanding chars - it allows to simplify console isrs a little
bit.
4. pc386 uart modified to be friendlier to termios parameter changes,
to have minor performance improvement and to take advantage of
of above termios modification.
|
| |
|
| |
|
| |
|