Commit Graph

2294 Commits

Author SHA1 Message Date
Joel Sherrill
4c3a9c999e Added comments. 1999-06-11 14:47:43 +00:00
Joel Sherrill
923b45c987 Fixed Makefile.in to not attempt to install rtems.o twice from two different
directories.
1999-06-11 14:21:17 +00:00
Joel Sherrill
a6f3cff703 Patch from Ian Lance Taylor <ian@airs.com>:
The select function is not particularly efficient when dealing with a
    large number of sockets.  The application has to build a big set of
    bits and pass it in.  RTEMS has to look through all those bits and see
    what is ready.  Then the application has to look through all the bits
    again.

    On the other hand, when using RTEMS, the select function is needed
    exactly when you have a large number of sockets, because that is when
    it becomes prohibitive to use a separate thread for each socket.

    I think it would make more sense for RTEMS to support callback
    functions which could be invoked when there is data available to read
    from a socket, or when there is space available to write to a socket.

    Accordingly, I implemented them.

    This patch adds two new SOL_SOCKET options to setsockopt and
    getsockopt: SO_SNDWAKEUP and SO_RCVWAKEUP.  They take arguments of
    type struct sockwakeup:

    struct  sockwakeup {
        void    (*sw_pfn) __P((struct socket *, caddr_t));
        caddr_t sw_arg;
    };

    They are used to add or remove a function which will be called when
    something happens for the socket.  Getting a callback doesn't imply
    that a read or write will succeed, but it does imply that it is worth
    trying.

    This adds functionality to RTEMS which is somewhat like interrupt
    driven socket I/O on Unix.

    After the patch to RTEMS, I have appended a patch to
    netdemos-19990407/select/test.c to test the new functionality and
    demonstrate one way it might be used.  To run the new test instead of
    the select test, change doSocket to call echoServer2 instead of
    echoServer.
1999-06-11 14:11:44 +00:00
Joel Sherrill
0643693198 Patch from Eric Norum <eric@cls.usask.ca> to fix bug reported by
Ian Lance Taylor <ian@airs.com>:

    Ian Lance Taylor wrote:
    >
    > In rtems-19990528, sbwait sets SB_WAIT in sb_flags.  sowakeup checks
    > it.  Why doesn't socket_select set it?
    >
    > I don't know that this is a bug--I haven't tried to create a test
    > case.  However, it certainly looks odd.
    >
    > Ian

    Yes, there's a bug there.  Sorry about that.
    It was introduced when I did some cleanup on the sleep/wakeup handling
    in rtems_glue.c.
1999-06-11 14:06:13 +00:00
Joel Sherrill
5a0592cf17 Do not use the RTEMS simpleioctl.h if networking is enabled since
that subsystem provides a more robust version of ioctl.h.
1999-06-09 16:47:49 +00:00
Joel Sherrill
0860426d39 Modified to return an error when a bogus return address for the
old_priority parameter is provided.
1999-06-09 16:46: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
0e99ecfcea Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This patch fixes a nasty problem with build-tools/Makefile.am:

    When using install-sh instead of /usr/bin/install, only the first file
    gets installed during the preinstall stage.
1999-06-02 16:34:54 +00:00
Joel Sherrill
a5d697dc7d Removed "NO CTOR" from list of objects to be picked up. It now comes in
via libbsp.a.  Reported by Ian Lance Taylor <ian@airs.com>.
1999-06-02 16:14:36 +00:00
Joel Sherrill
f74abcf78d Changes from Eric Norum to add a loop and limit on the length of time
the stack will wait for mbufs.
1999-05-28 18:21:25 +00:00
Joel Sherrill
18cb17fd8c changed version to 19990528 1999-05-28 17:35:12 +00:00
Joel Sherrill
c7115bb231 Don't install this executable. It should only be built. 1999-05-28 16:10:29 +00:00
Joel Sherrill
8f2cb41c02 Use fgrep instead of grep to avoid treating filenames as regular expressions.
grep found debugio.o when looking for debug.o and said there was a
filename conflict incorrectly.
1999-05-28 16:10:05 +00:00
Joel Sherrill
403d7b188f Alignment corrected per Eric Norum's suggestion. 1999-05-28 16:09:00 +00:00
Joel Sherrill
d54bdfaf9c Corrected to include shared console driver. 1999-05-28 16:08:38 +00:00
Joel Sherrill
8f3c1d20d1 At the request of Gumby, the cpu is now halted rather than spinning
on a fatal exception.
1999-05-28 16:08:18 +00:00
Joel Sherrill
bb7b1260d3 Renamed config.c to conscfg.c to avoid naming conflicts. 1999-05-28 14:09:53 +00:00
Joel Sherrill
caa1173991 Renamed config.s to todcfg.c to avoid naming conflicts. 1999-05-28 14:09:34 +00:00
Joel Sherrill
7afa2dd812 Renamed fatal.c to bspfatal.c to avoid name conflicts with
Fatal Error handler in SuperCore.
1999-05-28 14:02:21 +00:00
Joel Sherrill
35d2d3c0c7 Renamed tod.c to coretod.c to remove conflicts with "Time Of Day"
device drivers.
1999-05-28 14:00:21 +00:00
Joel Sherrill
803ce2919b Renamed clock.c to rtclock.c to avoid conflicts with clock drivers
in various BSPs.
1999-05-28 13:07:00 +00:00
Joel Sherrill
af84b96887 Switched from picking up the .rel for each subdirectory in the
BSP (BSP_PIECES) to picking up the .o files.  This should help
reduce the minimum size of an application.
1999-05-27 18:53:02 +00:00
Joel Sherrill
11cdbebd58 Patch from Eric Norum <eric@pollux.usask.ca> to eliminate a panic when the
network stack runs out of mbufs.
1999-05-27 18:03:50 +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
1d1b1507a6 Split out polled io, debug puts, and console reserve resources to
reduce dependencies and shrink minimum executable size.
1999-05-27 16:08:40 +00:00
Joel Sherrill
2a333f9a0d Disabled running size_rtems until all file splitting is finished. 1999-05-27 15:46:34 +00:00
Joel Sherrill
73989010b4 Regenerated. 1999-05-27 15:46:00 +00:00
Joel Sherrill
326378bfd4 Corrected so rtems.o is built and installed on all targets. 1999-05-27 15:44:20 +00:00
Joel Sherrill
82d11f8781 Corrected macro names. 1999-05-27 15:43:32 +00:00
Joel Sherrill
da47e4a930 Initiated updating this to reflect split up. 1999-05-26 14:00:48 +00:00
Joel Sherrill
0aeda88267 Renamed to rtemstimer.c to avoid conflict with timer drivers in EVERY
BSP as we transition to more .o's and less .rel's.
1999-05-20 16:16:44 +00:00
Joel Sherrill
8bbaf3bd49 Removed all post 4.0 changes. 1999-05-20 13:32:54 +00:00
Joel Sherrill
5a064dca14 Patch from Daniel Kelley <dank@icube.com>:
I found a small buglet in the mips64orion _CPU_ISR_Set_level; the
    original was wiping out the level argument, and then comparing the
    current interrupt level with some random value of v0. See patch below.
1999-05-18 17:41:16 +00:00
Joel Sherrill
fbec4a149f Regenerated. 1999-05-18 17:33:52 +00:00
Joel Sherrill
0090c1a119 Spacing correction. 1999-05-18 17:31:27 +00:00
Joel Sherrill
0995b6ffc1 Reworked to avoid pulling in the jump point entry in EVERY executable. 1999-05-17 23:48:34 +00:00
Joel Sherrill
9180f63e97 Fixed some typos. 1999-05-17 23:26:50 +00:00
Joel Sherrill
c9973bbc54 Split Interrupt Manager into one routine per file. 1999-05-17 23:22:45 +00:00
Joel Sherrill
0123e3be53 Split Signal Manager into one routine per file. 1999-05-17 23:20:52 +00:00
Joel Sherrill
1dc030fe05 Dual-Ported Memory Manager split into one routine per file. 1999-05-17 23:18:20 +00:00
Joel Sherrill
842db5f391 Split Partition Manager into one routine per file. 1999-05-17 23:15:20 +00:00
Joel Sherrill
be47df9381 Split Timer Manager into one routine per file. 1999-05-17 23:10:36 +00:00
Joel Sherrill
cc2bc3025c Split Event Manager into one routine per file. 1999-05-17 23:06:03 +00:00
Joel Sherrill
5f9b3db545 Split Rate Monotonic Manager into one routine per file. 1999-05-17 23:03:07 +00:00
Joel Sherrill
c06d8f6467 Split the Semaphore Manager into one routine per file. 1999-05-17 22:58:30 +00:00
Joel Sherrill
a2d0f39a2c Moved some MP routines to semmp.c. 1999-05-17 22:56:13 +00:00
Joel Sherrill
3270ca68da Forgot to actually remove the routines. :) 1999-05-17 22:53:34 +00:00
Joel Sherrill
1e1b3e00d1 Split Message Manager into one routine per file. 1999-05-17 22:52:59 +00:00