Commit Graph

70 Commits

Author SHA1 Message Date
Joel Sherrill
3ba74c733f 2000-11-01 Joel Sherrill <joel@OARcorp.com>
* 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.
2000-11-01 21:08:14 +00:00
Joel Sherrill
7b0001f795 2000-10-24 Joel Sherrill <joel@OARcorp.com>
* 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.
2000-10-25 16:56:11 +00:00
Joel Sherrill
3815a2b73c 2000-10-18 Joel Sherrill <joel@OARcorp.com>
* 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().
2000-10-18 15:02:06 +00:00
Joel Sherrill
9c3fa30a11 2000-09-28 Joel Sherrill <joel@OARcorp.com>
* 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.
2000-09-28 20:19:23 +00:00
Joel Sherrill
dd19c0bb06 2000-08-11 Chris Johns <ccj@acm.org>
* 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.
2000-08-11 20:04:27 +00:00
Joel Sherrill
730daa62bc Moved <sys/cdefs.h> from libnetworking to lib/include so non-networking
configurations could see it while including <sys/ioctl.h> and
<sys/ioccom.h>.
2000-06-14 21:13:20 +00:00
Joel Sherrill
9b05600b2c *** empty log message *** 2000-06-14 20:22:31 +00:00
Joel Sherrill
80ad143b73 Temporary hack to compile. Need to probably address definition
of all FIO constants and conflict with libnetworking code.
2000-06-13 21:42:55 +00:00
Joel Sherrill
8ef38186fa Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine Gauthier
<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
2000-06-12 19:57:02 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
e4c0744478 Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
adds .cvsignore.
2000-04-13 14:47:15 +00:00
Joel Sherrill
08311cc3a9 Updated copyright notice. 1999-11-17 17:51:34 +00:00
Jennifer Averett
4a07d2b866 Moved the rmnod callback from the operations table to the handler table. 1999-10-29 15:19:13 +00:00
Jennifer Averett
4bde80720f Joel added a table of mount entry requests to be processed during
initialization.
1999-10-29 14:28:39 +00:00
Joel Sherrill
2fe47fff06 Added include of libio.h so this would compile when posix is disabled. 1999-10-26 21:51:07 +00:00
Joel Sherrill
657e1bf66b Added initial cut at miniIMFS which leaves out memfile and directory
readdir support.  The next step is to add a mount table and configure
either the miniIMFS or the full IMFS at the application level.
1999-10-26 20:17:13 +00:00
Joel Sherrill
51435fc7c5 Split null handlers table to own file and renamed.
Renamed IMFS handler tables to include IMFS prefix.
1999-10-12 19:26:37 +00:00
Joel Sherrill
dd0f32614c Added rtems_filesystem_freenode() macro and added calls at appropriate
places to make sure memory allocated for filesystem specifif nodes
gets freed.
1999-10-12 19:10:46 +00:00
Joel Sherrill
e2116f9003 Fixed spacing. 1999-10-12 19:09:27 +00:00
Joel Sherrill
937ab62c30 After comments D. V. Henkel-Wallace <gumby@zembu.com>, the interface to
mount() was changed to avoid the use of a string as the options.
1999-06-15 22:16:30 +00:00
Joel Sherrill
4ecc390933 RTEMS_FILESYSTEM_READ_WRITE_ONLY changed to RTEMS_FILESYSTEM_READ_WRITE
for simplicity.
1999-06-14 20:18:56 +00:00
Joel Sherrill
a432c4b710 Fix based on bug report from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
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]
1999-03-24 22:52:47 +00:00
Joel Sherrill
af0200363e Patch from Eric Norum <eric@skatter.usask.ca> that adds external
fcntl support and an external fcntl handler for sockets.
1999-03-19 21:51:58 +00:00
Joel Sherrill
23c4bbf58a Use proper include for libio.h. 1999-03-16 01:41:16 +00:00
Joel Sherrill
3ef87981eb Added F_GETFL support so the fdopen() implementation in newlib 1.8.1
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>.
1999-03-06 18:09:15 +00:00
Joel Sherrill
73f6236bc0 Patch from Eric Norum <eric@skatter.usask.ca> to eliminate external
IO handlers scheme that was implemented originally just to support
sockets.  The file system IO switch is more general and works fine.
1999-03-01 22:40:08 +00:00
Joel Sherrill
2d733c424b More general fix based on bug report and patch from Ian Lance Taylor
<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.
1999-01-20 15:48:22 +00:00
Joel Sherrill
cca44008d8 Merged Eric Norum's select patch that was based on 4.0 and resolved
all conflicts.
1998-12-10 23:31:54 +00:00
Joel Sherrill
a3d0b8a79a Patch from Ian Lance Taylor <ian@airs.com>:
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.
1998-12-10 19:42:29 +00:00
Jennifer Averett
7a3878b26f Modifications for RTEMS_UNIX. 1998-12-03 22:17:13 +00:00
Joel Sherrill
07a3253de2 Added base version of file system infrastructure. This includes a major
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.
1998-11-23 19:07:58 +00:00
Joel Sherrill
692b9f7fdd Merged Vista SCORE603e, Radstone PPCn_60x, and DY-4 DMV177 BSPs along
with libchip.
1998-10-28 19:17:16 +00:00
Joel Sherrill
8a496e462e Patch from Aleksey (Quality Quorum <qqi@world.std.com>):
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.
1998-09-23 13:20:34 +00:00
Joel Sherrill
b29378e052 Corrected spelling error. 1998-09-11 19:17:49 +00:00
Joel Sherrill
39e6e65a2c Base files 1998-08-19 21:32:28 +00:00
Joel Sherrill
ecc9737f40 Added a public interface to the chain handler. 1998-06-18 15:12:27 +00:00
Joel Sherrill
e2476ed4d1 Added tcdrain(), cfgetospeed(), cfsetospeed(), cfgetispeed(), and cfsetispeed(). 1998-05-22 14:49:49 +00:00
Joel Sherrill
27dccaec15 Patch to add return status to rtems_termios_enqueue_raw_characters from
Eric Norum per request from Geoffroy Montel:

   > The rtems_termios_enqueue_raw_characters function type is void.
   > The problem is that I can't return an error message if the input
   > buffer is full.
   > Could we add a return value?

   Sure, but what would you do with the overflow indication?  POSIX says,
   ``when the input limit is reached, the saved characters are thrown away
   without notice''.

   Anyhow, the change is so small I've done it and enclosed the patch.
1998-05-20 17:09:12 +00:00
Joel Sherrill
603d706083 Added tcdrain() from Eric Norum 1998-05-20 17:00:22 +00:00
Joel Sherrill
3ac8e59c93 Removed prototype of rtems_libio_config() per Chris Johns' eagle eye. 1998-05-19 10:53:12 +00:00
Joel Sherrill
161e1b3f6a Patch from Eric Norum to switch to termios callback structure, add
support for device driver support on tcsetattr(), and hardware
flow control callbacks.
1998-05-04 12:41:07 +00:00
Joel Sherrill
b82c9578f4 Removed isatty() since we are now using newlib's implementation as
a result of enabling the newlib POSIX directory.
1998-04-03 18:45:42 +00:00
Joel Sherrill
60b791ada1 updated copyright to 1998 1998-02-17 23:46:28 +00:00
Joel Sherrill
608641e6d2 Corrected prototypes for all termios console write driver entries to
properly reflect the const on the buffer pointer being passed in.
1997-12-22 17:29:51 +00:00
Joel Sherrill
d24ceb38f7 interrupt driven change from Eric Norum 1997-11-15 18:15:36 +00:00
Joel Sherrill
a307f79f17 Fixed prototype 1997-11-10 17:50:50 +00:00
Joel Sherrill
51eb8d55a0 Changed prototype of read routine. 1997-10-23 18:49:34 +00:00
Joel Sherrill
b628637805 Added prototype for console_reserve_resources. 1997-10-23 15:10:13 +00:00
Joel Sherrill
118a81295d New termios.c from Eric Norum.
Added new entry point to add in per physical port resource requirements.
1997-10-23 13:13:46 +00:00
Joel Sherrill
ae35953d04 Added termios submission from Eric Norum and Katsutoshi Shibuya. 1997-10-21 16:18:03 +00:00