Commit Graph
5440 Commits
Author SHA1 Message Date
Joel Sherrill 517660f192 Moved sparc specific version of in_cksum_hdr to an inline routine like
the reset of the CPU specific implementations after comment from
Eric Norum.
1999-04-01 16:36:22 +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 73b943bc97 Fixed paths to include files so this will build. 1999-03-31 23:21:19 +00:00
Joel Sherrill 6a107099d7 Patch from Chris Johns <ccj@acm.org>:
joel@OARcorp.com wrote:
>
> Chris,
>
> sp09 fails on the rtems_port_delete(0) call.  This is supposed to give an
> invalid id error.  I can't find any changes other than the unlimited
> objects patch which would have tripped this so would appreciate it if you
> could look into it.  I suspect that this is a side-effect of the unlimited
> objects patch.
>

It is me.

>
> Basically, there are 0 ports configured in sp09.  The test ends up
> dereferecing NULL in local_table[0] and comes up with a non-NULL invalid
> pointer.
>

The issue is not actually allocating a local_table for an object type
which has a maximum value of 0. I cannot remember the exact workings of
the id values and the local_table. I might have changed the nature from
the pre-unlimited change. As you know the id's are an interesting game
where performance is most important.

>
> I know the problem could be solved by adding a check for index == 0.  But
> I hate to slow this path down.  I think you may have changed the way the
> object information structure gets initialized.
>

---- CVS log ----

This change lets the unlimited and sp09 tests run on the posix Linux
BSP. A static local variable `null_local_table' has been added. This
variable is always set to NULL. The `**local_table' element of the
information structure is set to point to this variable earily in the
initialisation. If the object type has more than 0 elements the
`local_table' element is updated. All object types which have 0 elements
reference `null_local_table'. This change fixes the problem sp09 found
yet does not add any extra processing to the critical
`_Objects_Get_local_object' function.

---- CVS log ----
1999-03-31 22:33:14 +00:00
Joel Sherrill 5c959963df When compiled in debug mode, the POSIX threads inline file was not
included and we ended up with undefined references.
1999-03-31 22:09:11 +00:00
Joel Sherrill efa0baa5e7 Patch from Eric Norum <eric@skatter.usask.ca> which changed the exit
sequence.
1999-03-31 20:51:07 +00:00
Joel Sherrill ceb06d9650 Removed warning for `#ifdef' argument starts with punctuation. 1999-03-30 17:43:51 +00:00
Joel Sherrill 707d4d00d6 Removed warning for const removal. 1999-03-30 17:42:25 +00:00
Joel Sherrill 5c6c4c24d9 Fixed typo where _POSIX_signals_Clear_process_signals was not prototyped
and _POSIX_signals_Set_process_signals was done twice.
1999-03-30 17:41:26 +00:00
Joel Sherrill 6a4096b224 Patch to add shutdown() routine from Tony R. Ambardar <tonya@ece.ubc.ca>. 1999-03-30 15:40:29 +00:00
Jennifer Averett 77c81fd2a1 Removed an uninitialized variable. 1999-03-29 18:24:34 +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 e828c2dd40 SPARC optimized version of IP checksum header routine. Submitted
by Jiri Gaisler <jgais@ws.estec.esa.nl>.
1999-03-23 23:06:42 +00:00
Joel Sherrill b6f5f9385d Patch from Eric Norum <eric@skatter.usask.ca> to improve parsing of
network interface names.  This change does not introduce any
compatibility problems.
1999-03-23 22:39:13 +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 f4a8ee1c55 Unlimited objects patch from Chris Johns <ccj@acm.org>. Email follows:
First, the unlimited patch. I have compiled the unlmited patch for the
    Linux posix BSP only and it seems to work cleanly. I would like a really
    major application run on this change before commiting as the changes are
    very core and significant. I am currently building all the tests to run.

    I have no targets suitable to test on at the moment.

    I have tested the patch for inline functions and macros.

    Turning macros on has found some core bugs. I have fixed these but have
    not run all the tests. Please review the patch for these changes. They
    are:

    1) The conditional compilation for MP support broke the core messages
    code. You cannot embed a conditional macro in another macro. The Send
    and Urgent Send calls are macros.

    2) User extensions handler initialisation now has two parameters. I have
    updated the macros to support the extra parameter.

    The patch also contains the gcc-target-default.cfg fix required to build
    the kernel. More of a by product than a fix for you.
1999-03-17 16:01:03 +00:00
Joel Sherrill 6d0e13c3bd Added ftpd server from Jake Janovetz <janovetz@tempest.ece.uiuc.edu>. 1999-03-16 01:51:53 +00:00
Joel Sherrill 23c4bbf58a Use proper include for libio.h. 1999-03-16 01:41:16 +00:00
Joel Sherrill b10f6e12e0 Corrected bug where pointer to doubly linked blocks was being incorrectly
calculated.
1999-03-08 21:39:39 +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 e069cdc3f1 Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 5) rtems-rc-19990202-1.diff/reorg-install.sh
>
> reorg-install.sh fixes a Makefile variable name clash of RTEMS
> configuration files and automake/autoconf standards.
> Until now, RTEMS used $(INSTALL) for install-if-change. Automake and
> autoconf use $(INSTALL) for a bsd-compatible install. As
> install-if-change and bsd-install are not compatible, I renamed all
> references to install-if-changed to $(INSTALL_CHANGED) and used
> $(INSTALL) for bsd-install (==automake/autoconf standard).  When
> automake will be introduced install-if-change will probably be replaced
> by $(INSTALL) and therefore will slowly vanish. For the moment, this
> patch fixes a very nasty problem which prevents adding any automake file
> until now (There are still more).
1999-03-01 15:18:26 +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
Joel Sherrill 6dfebd9f33 Corrected name of constant so this would compile. 1999-02-24 14:32:46 +00:00
Joel Sherrill 12710a56cd Moved back up in tree. 1999-02-19 23:35:42 +00:00
Joel Sherrill db903c7481 Moved asm.h back up in tree. 1999-02-19 23:32:51 +00:00
Joel Sherrill 77138089c5 Moved to proper rtems/score 1999-02-19 23:26:19 +00:00
Joel Sherrill 7908ba5b81 Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 4) rtems-rc-19990202-0.diff /reorg-score-cpu.sh
>
> reorg-score-cpu.sh reorganizes the cpu/<cpu>/* subdirectories in a
> similar manner than previous reorg scripts did. rtems-rc-19990202-0.diff
> contains the diffs after reorg-score-cpu.sh has been run on a
> rtems-19981215 snapshot + my patches up to rtems-rc-19990131-2.diff.
>
> This patch is rather nasty and may break something. However, I've tested
> it for about 10 different target/bsp pairs and believe to have shaken
> out most bugs.

I wonder about the following .h files that were not moved:

a29k/asm.h
a29k/cpu_asm.h
i386/asm.h
i960/asm.h
m68k/asm.h
m68k/m68302.h
m68k/m68360.h
m68k/qsm.h
m68k/sim.h
mips64orion/asm.h
mips64orion/cpu_asm.h
mips64orion/mips64orion.h
no_cpu/asm.h
no_cpu/cpu_asm.h
powerpc/asm.h
powerpc/mpc860.h
sh/asm.h
sparc/asm.h
sparc/erc32.h
1999-02-18 18:28:24 +00:00
Joel Sherrill 25d457b864 Yet another part of automake VI from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 4) rtems-rc-19990202-0.diff /reorg-score-cpu.sh
>
> reorg-score-cpu.sh reorganizes the cpu/<cpu>/* subdirectories in a
> similar manner than previous reorg scripts did. rtems-rc-19990202-0.diff
> contains the diffs after reorg-score-cpu.sh has been run on a
> rtems-19981215 snapshot + my patches up to rtems-rc-19990131-2.diff.
>
> This patch is rather nasty and may break something. However, I've tested
> it for about 10 different target/bsp pairs and believe to have shaken
> out most bugs.

I wonder about the following .h files that were not moved:

a29k/asm.h
a29k/cpu_asm.h
i386/asm.h
i960/asm.h
m68k/asm.h
m68k/m68302.h
m68k/m68360.h
m68k/qsm.h
m68k/sim.h
mips64orion/asm.h
mips64orion/cpu_asm.h
mips64orion/mips64orion.h
no_cpu/asm.h
no_cpu/cpu_asm.h
powerpc/asm.h
powerpc/mpc860.h
sh/asm.h
sparc/asm.h
sparc/erc32.h
1999-02-18 18:16:40 +00:00
Joel Sherrill e029467dac Patch from Emmanuel Raguet <raguet@crf.canon.fr>:
You will find enclosed a patch which contains, for Intel PC386 target :

      - an Ethernet driver for DEC21140 device based boards.
      - a simple cache management with paging mechanism.
1999-02-18 15:16:37 +00:00
Joel Sherrill edfb0eba88 GLobal reentrancy structure is now dynamically initialized. 1999-02-18 15:11:41 +00:00
Joel Sherrill 7e2a525b6d Patch from Eric Valette <valette@crf.canon.fr> to undo the patch
that added ifdef on the pc386.
1999-02-15 18:56:08 +00:00
Joel Sherrill dae18b5c84 POSIX timer support. 1999-02-10 17:22:16 +00:00
Joel Sherrill 9619ff36e9 Set the read/write offset to 0 when the file is opened. The ACVC had a test
that performed the sequence open/write/close/open/read/close on a file.
It did not get the correct result since the file descriptor was reused.
1999-02-10 17:05:55 +00:00
Joel Sherrill efb1b830bb Corrected multiple places the file size was not being properly updated. 1999-02-10 17:04:54 +00:00
Joel Sherrill 3165b4d365 Added getcwd(). 1999-02-10 17:04:12 +00:00
Joel Sherrill aee3d6896a POSIX timer support modifications. 1999-02-10 17:03:46 +00:00
Joel Sherrill dd746c38b4 Comments fixed after problem report from Ian Lance Taylor <ian@airs.com>. 1999-02-10 00:29:02 +00:00
Joel Sherrill ecec2ba7bd Patch from Eric Norum to correct bug induced by select() patch. 1999-02-05 00:29:23 +00:00
Joel Sherrill 2f87c84349 Corrected spacing and added some new error checks that were needed
to avoid dereferencing NULLs.
1999-02-05 00:28:43 +00:00
Joel Sherrill 354b00bc1e Added printf()'s that can be uncommented to trace MBUF operations. This
is very useful when debugging a device driver.
1999-02-04 15:00:14 +00:00
Joel Sherrill 83c7b007fd Modifed to reflect transition from device driver to file system. 1999-02-04 14:59:42 +00:00
Joel Sherrill d3c106037f Added debug printf()'s that are commented out. Uncommenting these
allows one to trace the enqueueing and dequeueing of messages.  This
can be used to insure that packets are getting to the boundary between
the network stack and the device driver.
1999-02-04 14:58:01 +00:00