Commit Graph

45 Commits

Author SHA1 Message Date
Joel Sherrill
652aa3068a 2001-03-28 Joel Sherrill <joel@OARcorp.com>
* cpu.c: Define fix_syscall_errno() to nothing so MP links.
2002-03-28 18:10:55 +00:00
Joel Sherrill
c54152a26c 2001-01-25 Joel Sherrill <joel@OARcorp.com>
* cpu.c, rtems/score/cpu.h: Bug report from Peter Mueller
	<peter.o.mueller@gmx.de> because of not correcting for the ISR
	vector table now being allocated from the workspace.
2001-01-25 18:45:59 +00:00
Joel Sherrill
ce5b291fa4 Works on Solaris and Linux. 2000-06-12 18:45:54 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
c09454282b Only check for System V IPC if multiprocessing is enabled. The unix
port only uses System V IPC for shared memory and semaphores to
communicate between nodes in a multiprocessor configuration.  If you
disable multiprocessing, then this code should be unused.  Thus systems
like Cygwin which are POSIX but do not support System V IPC should
not work.
1999-11-16 16:07:17 +00:00
Joel Sherrill
d83c39dc36 Bug report and fix from Jay Kulpinski <jskulpin@eng01.gdds.com> where
sigemptyset(&old_mask) needed to be added on glibc2 systems.  Ian
Lance Taylor pointed out that sigemptyset() is portable so Joel removed
all conditionals around calls to sigemptyset().
1999-10-05 13:08:41 +00:00
Joel Sherrill
ea562ee977 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
After upgrading my linux box to the brand new SuSE 6.2 release, which is
    glibc-2.1 based, I came across a bug in RTEMS - IIRC, I even warned you
    about it about 1/2 a year ago, but nothing has been done since then :-.

    The *.m4 macros to check for SYSV/IPC are broken for linux/glibc2.1,
    because they assume that linux always defines union semun, which isn't
    true anymore for glibc2.1 (the manpage for semctl states _X_OPEN
    specifies it this way). Therefore I have tried to implement a more
    general approach for handling SYSV for unix/posix which checks for
    presence of struct semun, instead of trying  to evaluate OS specific
    preprocessor symbols.

    This approach is a bit adventureous, because I only tested it with
    linux/glibc2.1 and linux/libc5, but not under other Unix variants RTEMS
    supports. I am quite confident it will work on other hosts, too, but who
    knows :-.

    [FYI: I think this might also is the cause of some problems with RedHat
    6.X / Mandrake linux recently reported on the rtems list -- rtems-4.0.0
    can not be build for posix on any glibc2.1 based host]

    Furthermore the patch below contains a couple of minor fixes and
    configuration cleanups, which IMO should be applied before releasing a
    new snapshot.

    To apply this patch:

        cd <source-tree>
        patch -p1 < rtems-rc-19990709-8.diff
        ./autogen
1999-08-12 18:22:17 +00:00
Joel Sherrill
b4e3b2bd68 Patch from Ian Lance Taylor <ian@airs.com>.
I just happened across the sync_io support in
        c/src/exec/score/cpu/unix/cpu.c
    (is this documented anywhere?).  That looked more useful than the
    signal driven I/O I was using before, so I tried it.  I ran across a
    few bugs in the way it uses select.

    Select changes its fd_set arguments, so you can't use global variables
    for them.  You have to copy them into local variables first.

    If select returns -1 with errno set to EINTR, then it has not changed
    any of the fd_sets.  You can't start looking at them.

    When clearing a descriptor, the code has the usual select off by one
    error when setting sync_io_nfds.

    I don't see how this code could ever have worked correctly.

    I have appended a patch for the problems I found.
1998-10-28 19:25:12 +00:00
Joel Sherrill
9a6994b490 Added freebsd support from Dario Alcocer <alcocer@connectnet.com>. 1998-06-18 15:22:35 +00:00
Joel Sherrill
4381e50e1e Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:44:49 +00:00
Joel Sherrill
5e34bf4b95 Added "sigemptyset()" call to insure that the memcmp() would work.
It appears that the new glibc does not clear all the bits of the signal
set with a sigprocmask.
1998-03-31 14:19:27 +00:00
Joel Sherrill
a30359bbdd Changed int to unsigned32 to match cpu.h. 1998-03-27 19:42:58 +00:00
Joel Sherrill
ddf142da51 Added _XOPEN_SOURCE definition to allow use of UNIX IPC. 1998-03-24 20:53:48 +00:00
Joel Sherrill
3ec7bfc7c4 Rename hppa1_1 to hppa1.1 and switched to using __XXX__ macros for
the CPU family name constants.
1998-03-24 16:24:39 +00:00
Joel Sherrill
3a85d03d4e Change to remove warning on glibc2 systems per Ralf Corsepius's
suggestion.
1998-01-28 15:39:30 +00:00
Joel Sherrill
2936b425fd Solaris port updates from Chris Johns 1998-01-23 17:45:05 +00:00
Joel Sherrill
98e4ebf594 Fixed typo in the pointer to the license terms. 1997-10-08 15:45:54 +00:00
Joel Sherrill
0a6fb223b6 Patch from Chris John <cjohns@awa.com.au> to add use of a select statement
in the unix port idle thread task.  This should keep the entire application
from blocking when any component does a blocking application.  Also added
TOD_MICROSECONDS_TO_TICKS.
1997-04-22 20:19:25 +00:00
Joel Sherrill
f254555238 multiprocessing fixed on linux by fixing cpu.c so correct form of
semctl was being invoked.
1997-04-22 19:57:02 +00:00
Joel Sherrill
e71ce0712c updated with new license information per Tony Bennett. 1997-04-22 17:47:16 +00:00
Joel Sherrill
d6ba279565 added initialization of variable to eliminate warning. 1997-04-07 21:24:02 +00:00
Joel Sherrill
254b445071 This set of changes is the build of what was required to convert to
GNU autoconf.  This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process.  With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@wd.estec.esa.nl) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted.  This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots.  These will
be resolved.
1997-04-01 23:07:52 +00:00
Joel Sherrill
a3cfa9f031 initialized a stack variable to avoid a warning. 1997-03-10 19:37:44 +00:00
Joel Sherrill
855edeca4f fixed incorrect placement of CPU_STRUCTURE_ALIGNMENT macro. 1996-09-30 20:15:01 +00:00
Joel Sherrill
d1193c7e82 corrected white space problems
added CPU_STRUCTURE_ALIGNMENT to default context structures
1996-09-18 20:47:31 +00:00
Joel Sherrill
d196e48590 updates from Tony Bennett.
Broke the setjmp/longjmp pair in the context switch into a separate routine
so no code depended on local variables surviving the jump.
1996-05-23 15:34:54 +00:00
Joel Sherrill
1c964ffab2 *** empty log message *** 1996-05-08 21:53:50 +00:00
Joel Sherrill
cc4c1fe424 added stack allocation fields to the cpu table
updates from Tony Bennett.  Most were to insure all variables were properly
initialized and to correct the stray signal number reporting.
1996-04-22 16:44:54 +00:00
Joel Sherrill
75f09e52de Dispersal of internal thread handler resulted in IDLE thread becoming
part of the Thread Handler.  This required the name of the optional
CPU dependent IDLE thread implementation to change.
1996-02-21 14:43:34 +00:00
Joel Sherrill
8a38f3b1e5 added clear of _ISR_Signals_to_thread_executing 1996-02-09 14:21:37 +00:00
Joel Sherrill
c64e4ed482 updates from Tony Bennett for PA and UNIX ports 1996-01-15 21:50:28 +00:00
Joel Sherrill
97005786d8 SPARC port passes all tests 1995-10-30 21:54:45 +00:00
Joel Sherrill
1cefaced31 moved to new development machine and went to gcc 2.7.0 1995-10-06 16:33:30 +00:00
Joel Sherrill
11290355c9 all targets compile .. tony's patches in place 1995-09-29 17:19:16 +00:00
Joel Sherrill
37f4c2d99f Modified UNIX simulator port so all references to native unix
stuff is in the executive source proper in the file cpu.c.  This
should help avoid conflicts between RTEMS POSIX files and UNIX files.
1995-09-27 20:53:58 +00:00
Joel Sherrill
5e9b32b439 posix support initially added 1995-09-26 19:27:15 +00:00
Joel Sherrill
3652ad356b Minor bug fixes to get all targets compilable and running. The
single biggest changes were the expansion of the workspace size
macro to include other types of objects and the increase in the
minimum stack size for most CPUs.
1995-09-19 14:53:29 +00:00
Joel Sherrill
3a4ae6c210 The word "RTEMS" almost completely removed from the core.
Configuration Table Template file added and all tests
modified to use this.  All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines.  Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized.  These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver.  Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.
1995-09-11 19:35:39 +00:00
Joel Sherrill
e7e016fdc2 cleanup and optimization from Tony 1995-08-04 22:18:45 +00:00
Joel Sherrill
0d55427b31 *** empty log message *** 1995-08-02 20:01:26 +00:00
Joel Sherrill
10aed1e3c0 fixed for Linux 1995-07-18 19:58:45 +00:00
Joel Sherrill
8044533152 merged Linux UNIX simulator support (C) 1995-07-18 19:27:50 +00:00
Joel Sherrill
637df35f96 Ada95, gnat, go32 1995-07-12 19:47:25 +00:00
Joel Sherrill
88d594a3d5 Fully tested on all in-house targets 1995-05-24 21:39:42 +00:00
Joel Sherrill
ac7d5ef06a Initial revision 1995-05-11 17:39:37 +00:00