Commit Graph
366 Commits
Author SHA1 Message Date
Joel Sherrill 7edb9281a2 Following comments from Eric Norum <eric@cls.usask.ca>, a fairly
substantial upgrade of newlibc.c occurred.  Now the user extension
data area is used rather than notepads and as many routines as possible
were split into other files further reducing the minimum footprint
of an RTEMS executable.
1999-11-05 19:02:03 +00:00
Joel Sherrill 458bd343e2 This is another pass at making sure that nothing outside the BSP
unnecessarily uses any variables defined by the BSP.  On this
sweep, use of BSP_Configuration and Cpu_table was eliminated.

A significant part of this modification was the addition of
macros to access fields in the RTEMS configuration structures.

This is necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves.  This started after
comments and analysis by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1999-11-05 16:44:02 +00:00
Joel Sherrill 5f2566b5e2 Fixed F_SETFL to properly convert between internal
libio flags and external fcntl.h style flags.
1999-11-02 16:27:53 +00:00
Joel Sherrill 063e4950f4 Added support for configuring base filesystem. First attempt at
a full mount table at initialization.  This is the wrong place
to mount filesystems 2-n since no device drivers are initialized
yet.
1999-11-02 16:27:05 +00:00
Joel Sherrill 19b74f3175 Check for NULL being passed in. 1999-11-02 16:25:05 +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
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
Jennifer Averett 04df848c65 Added code to correctly free any allocated space during the evaluation
process.
1999-10-25 14:23:03 +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 578a415014 Corrected mistakes in the IMFS file handlers table and added the missing
routine imfs_fcntl.c
1999-10-12 19:08:55 +00:00
Joel Sherrill d71fcabaa6 Added call to freenod to let each filesystem free its own internal
node used to manage file access.
1999-10-12 18:44:40 +00:00
Joel Sherrill cb5056b387 Changed bcopy to strncpy to stick to ANSI/ISO routines. 1999-10-12 18:44:05 +00:00
Joel Sherrill ddaa60fd86 New file. 1999-10-06 21:08:14 +00:00
Joel Sherrill 8dd127620b Removed go32 ifdefs 1999-10-05 19:21:34 +00:00
Joel Sherrill 0139484fbd Patch from Wayne Bullaughey <wayne@wmi.com>. Comments follow:
I'm working on code to mount my host based file system on the base file
  system (imfs) and have a suggestion for a change to eval.c in the
  c/src/lib/libc directory of the 8/20/1999 snapshot.  The current version
  does not test the result value returned from the evalpath callback (line 47)
  in the case where follow_link is true.  Attached is my suggested change.
  Without this test the node_type callback may be called after evalpath
  failed.  node_type could set the type to some value other then
  RTEMS_FILESYSTEM_HARD_LINK or RTEMS_FILESYSTEM_SYM_LINK but it seems cleaner
  to add the check on result.
1999-10-05 16:34:20 +00:00
Joel Sherrill 3cad291962 Addition of more functionality by Eric Norum to support GNU readline. 1999-10-01 15:55:30 +00:00
Joel Sherrill 6fc973e39b Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Here is another fix, which addresses a few more or less severe bugs in
    configuration and unix/posix:

    * Configuration fix: c/src/lib/configure.in didn't handle RDBG correctly

    * Configuration fix: make depend was non-functional in
      c/src/lib/libc/Makefile.in
    * Configuration fix: stray comment removed from aclocal/target.m4

    * RTEMS fix: termios support for unix/posix now uses the host's headers
      only (was completely broken).
    - Don't install RTEMS's newlib sys/termios.h for unix (sys/termios.h
      apparently is a newlib specific header)
    - To be able to compile RTEMS's  termios.c with glibc2.1, glibc-2.1
      needs __USE_MISC, which is a private define from gcc's features.h, being
      defined only when _BSD_SOURCE of _SVID_SOURCE is defined.  RTEMS's
      termios apparently implements BSD, thus -D_BSD_SOURCE was added to
      Linux-posix.cfg.
    - Conflicting definitions for  __USE_MISC and _BSD_SOURCE inside of
      RTEMS codes removed due to definition of _BSD_SOURCE on the toplevel.

    This fix has been tested with linux/posix (primary glibc2.1 native),
    linux/posix (secondary libc5 native), sh/gensh1, i386/pc386 and a couple
    of other bsp's/CPU.

    To apply:

        cd <srcdir>
        patch -p1 < rtems-rc-19990709-9.diff

    and
        aclocal -I aclocal && automake && autoconf
        cd c/src/lib; autoconf

    or
        ./autogen
1999-08-18 16:49:52 +00:00
Joel Sherrill a0a225f4aa Added code to initialize the /etc/group and /etc/passwd files. 1999-07-02 18:50:40 +00:00
Joel Sherrill c51917f304 Fixed format strings and warnings. 1999-07-02 18:09:03 +00:00
Joel Sherrill c3d20eba96 Reentrant versions added by Joel. Signficant formatting cleanup. 1999-07-02 18:03:43 +00:00
Joel Sherrill 258fd794fd Password and group routines added by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1999-07-02 17:13: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 d741406c1a Wrong prototype corrected. 1999-06-14 20:18:13 +00:00
Joel Sherrill 0ac8e382e9 Warning removal from D. V. Henkel-Wallace <gumby@zembu.com>. 1999-06-14 19:44:07 +00:00
Joel Sherrill d001776f3f Added local prototype of ioctl() to avoid requiring sys/ioctl.h. 1999-06-11 14:49:13 +00:00
Joel Sherrill 8dba3733fb Switched to using strcasecmp() since it is more portable.
D. V. Henkel-Wallace <gumby@zembu.com> spotted this one.
1999-06-09 13:50:47 +00:00
Joel Sherrill 1c841bd229 Split out the routine rtems_assoc_name_bad(). 1999-05-27 16:13:19 +00:00
Joel Sherrill 556ea0e3ba Removed usage of printf. 1999-05-27 16:12:20 +00:00
Joel Sherrill 5adf355aa3 Split initialization and reserve resources from termios to reduce
size of mininum application.
1999-05-27 16:11:52 +00:00
Joel Sherrill 4c5080ed09 Fix based on bug report from Jay Kulpinski <jskulpin@eng01.gdds.com>
that the per task reentrancy structure was not being processed properly
during exit().

joel@oarcorp.com wrote:
>
>
> This is always an ugly place to poke around. :(
>
> The code in newlib/libc/stdlib/exit.c walks the atexit chain for the
> reentrancy structure for JUST the current task.  The code in libc_wrapup()
> does it for both the current task and the global reentrancy structure
> (which tends to be where driver atexit()'s were registered.
>
> So I think the _wrapup_reent(0) in libc_wrapup() should be commented out.
>
> If you concur, then I will make the change and improve the comment on this
> line of code to explain things:
>
>     libc_wrapup(); /* Why? XXX */
>
> --joel

That does the job.  cdtest.exe works correctly now.
1999-05-11 16:30:51 +00:00
Joel Sherrill 933388ae2d Added lstat(). 1999-04-22 21:13:23 +00:00
Joel Sherrill d006519bce Added reentrant versions. 1999-04-15 19:01:32 +00:00
Joel Sherrill a68e6b91e9 Updated version string. 1999-04-15 18:58:43 +00:00
Joel Sherrill 5eb7da97cd Disable IXON by default based on comment from Eric Norum
<e.norum@sk.sympatico.ca> and concerns from Thomas Doerfler
<td@imd.m.ISAR.de> when he submitted the patch:

  Since enabling XON/XOFF has such a major performance hit on `smart' output
  devices I think it should be *off* by default.  I think some thought should
  be given to adding hooks for hardware that can support XON/XOFF without
  software intervention, or for hardware like the 68360 SCC's that can use
  large buffers, but still handle special characters immediately.

  The patch you sent is a very good start, though.  I just think that the
  software flow control should be off -- to match the way the serial I/O
  support has worked up until now.
1999-04-01 16:20:03 +00:00
Joel Sherrill 18040d302c Patch from Thomas Doerfler <td@imd.m.ISAR.de> to add flow control:
Some lines for "documentation":
    ======================================
    One thing should be noted: when XON/XOFF is enabled, the serial
    device will always work with one-character buffers, so the interrupt
    load for the CPU might get higer, especially on devices like MC68360
    and MPC860, where the serial channels are capable of using big
    buffers. But, once again, this only happens when XON/XOFF is actually
    selected.

    Please note that the flag IXON is set by default, so outgoing
    XON/XOFF flow control is enabled by default.

    XON/XOFF is controlled using the "standard" fields IXON/IXOFF in the
    termios structure. The termios flag IXANY is not (yet) supported.

    Hardware handshake for the incoming data stream is controlled using
    the standard flag CRTSCTS. If this flag is set, whenever the receive
    buffer is almost full, the driver function "device.stopRemoteTx()" is
    called, when the receive buffer has more space available,
    "device.startRemoteTx()" is called again.  If the driver does not
    provide these interface functions (entries in device structure are
    NULL pointers), then these calls are suppressed.

    Changes of the flow control options during operation should work at
    any time, but this has not been extensively tested.

    No changes to the device driver interface are needed.
    ================================================

    One critical point when using this patch might be, that any BSP using
    this version of termios will now have outgoing flow control enabled
    by default, so the behaviour of these BSPs will change here. The
    option IXON has already been set in older termios by default, but it
    did not work until this patch. Maybe this option should be switched
    off by default, what do you think?
1999-03-31 23:35:22 +00:00
Jennifer Averett ec2328eeaf Removed asserts that shouldn't be called and commented case where this
indicates an internal error.
1999-03-31 23:24:57 +00:00
Jennifer Averett f719ef12ff Corrected return value. 1999-03-31 23:23:52 +00:00
Joel Sherrill 707d4d00d6 Removed warning for const removal. 1999-03-30 17:42:25 +00:00
Jennifer Averett 77c81fd2a1 Removed an uninitialized variable. 1999-03-29 18:24:34 +00:00
Joel Sherrill 4fb9af858e Another cleanup patch for the previous rejected hunk. 1999-03-19 23:26:11 +00:00
Joel Sherrill c0a3642981 A cleanup patch on fcntl.c from Eric Norum <eric@skatter.usask.ca> for
2 lines of code that did not get included when Joel tried to manually
add a rejected patch.
1999-03-19 22:59:20 +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 3195d9c0a5 Added code to translate internal libio flags to POSIX style flags. 1999-03-08 21:39:16 +00:00
Joel Sherrill 1bb170208b Added support for F_GETFL and F_SETFL. 1999-03-08 21:38:56 +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 3cf8394af5 Changed IMFS to use IMFS_NAME_MAX as the maximum length of a basename
rather then NAME_MAX.  NAME_MAX is 255 and that lets IMFS chew up memory
too fast.  Perhaps in the future, the places in IMFS that put a maximum
length name string on the stack and the jnode structure does not include
a maximu length name string can be fixed so this is not a problem.
1999-02-24 20:58:47 +00:00