summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to moveJoel Sherrill1999-10-262-3/+3
| | | | c/src/lib/libmisc to c/src/libmisc.
* Patch from Eric Norum <eric@cls.usask.ca> to address the following problemJoel Sherrill1999-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | report from Philip A. Prindeville <philipp@zembu.com>: I was working on a device driver for a certain ethernet chipset that occassionally wraps in its buffer, and causes a resulting mbuf chain with only a few dozen bytes in the first mbuf of the chain. I wouldn't have thought this would be a problem, until I ran some stress tests that flooded the ethernet receiver with packets and started to get panics here: 250 251 if (m->m_pkthdr.len < sizeof(struct ip)) 252 goto tooshort; 253 254 #ifdef DIAGNOSTIC 255 if (m->m_len < sizeof(struct ip)) 256 panic("ipintr mbuf too short"); 257 #endif 258 259 if (m->m_len < sizeof (struct ip) && 260 (m = m_pullup(m, sizeof (struct ip))) == 0) { 261 ipstat.ips_toosmall++; 262 return; 263 } 264 ip = mtod(m, struct ip *); and the panic was at line 256. But if I #undef'd DIAGNOSTICS, then the m_pullup() at line 260 does the right thing and the packet ends up being processed just fine. So I started wondering, (a) why was the test checking for something that apparently wasn't a fatal condition but rather one that is subsequently recovered from a couple of lines later and (b) why panic as a diagnostic "aid" from a recoverable condition rather than just (say) log a message to the console? All of this seems overly severe for no reason that is readily apparent to me.
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1999-10-251-0/+8
| | | | | to initialize the pthread cancellation fields. This is a patch to _POSIX_Threads_Create_extension that fixes the problem.
* Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel RaguetJoel Sherrill1999-10-251-7/+8
| | | | <raguet@crf.canon.fr> to use a local variable.
* Added code to correctly free any allocated space during the evaluationJennifer Averett1999-10-252-72/+74
| | | | process.
* Changed leading spaces to periods to ease comparing test output.Joel Sherrill1999-10-251-1/+1
|
* Removed warning.Joel Sherrill1999-10-211-0/+2
|
* Added rtems_semaphore_flush directive.Joel Sherrill1999-10-212-0/+104
|
* Renamed CONFIGURE_POSIX_INIT_TASK_STACK_SIZE toJoel Sherrill1999-10-211-6/+6
| | | | CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE because in POSIX they are threads.
* Fixed core dump caused when output parameter (otimer) was NULL.Joel Sherrill1999-10-211-3/+7
|
* Added Semaphore_Flush.Joel Sherrill1999-10-212-0/+18
|
* Added prototype for rtems_task_is_suspended at request ofJoel Sherrill1999-10-201-1/+12
| | | | Eric Norum.
* Spacing.Joel Sherrill1999-10-121-0/+1
|
* Split null handlers table to own file and renamed.Joel Sherrill1999-10-127-75/+16
| | | | Renamed IMFS handler tables to include IMFS prefix.
* Added rtems_filesystem_freenode() macro and added calls at appropriateJoel Sherrill1999-10-1217-92/+69
| | | | | places to make sure memory allocated for filesystem specifif nodes gets freed.
* Fixed spacing.Joel Sherrill1999-10-121-1/+1
|
* Corrected mistakes in the IMFS file handlers table and added the missingJoel Sherrill1999-10-123-0/+127
| | | | routine imfs_fcntl.c
* Added call to freenod to let each filesystem free its own internalJoel Sherrill1999-10-1215-68/+227
| | | | node used to manage file access.
* Changed bcopy to strncpy to stick to ANSI/ISO routines.Joel Sherrill1999-10-121-1/+1
|
* Moved RTEMS error and association from libmisc to libc support toJoel Sherrill1999-10-111-1/+1
| | | | | avoid cyclic dependencies generated when moving packages to the top level.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to move librdbgJoel Sherrill1999-10-111-5/+1
| | | | to its own top level package.
* New directive added -- rtems_task_is_suspended.Joel Sherrill1999-10-071-0/+76
|
* Added Is_Suspended method.Joel Sherrill1999-10-072-0/+20
|
* New file.Joel Sherrill1999-10-062-0/+28
|
* Modified to avoid conflicts on definitions of malloc. newlib 1.8.2Joel Sherrill1999-10-063-3/+3
| | | | | | | | now prototypes the malloc family in stdlib.h. This causes conflicts with the way the network stack overrides the definitions of malloc. As best I (being Joel) can tell, commenting stdlib.h out keeps the files compiling and referencing the desired malloc/free but results in more warnings.
* Removed go32 ifdefsJoel Sherrill1999-10-051-3/+0
|
* Removed targets and configurations that are no longer functionalJoel Sherrill1999-10-053-33/+0
| | | | | | | | | | | | | | and not likely to become so. Comments on each configuration are below. + Force CPU386 - This BSP was developed as part of the initial port of RTEMS to the i386. This board has been unavailable for a long time now. + GO32 - This BSP and some CPU code supported djgpp v1.x. This version is now quite old. No one has stepped forward to update the code to v2.x which may be technically impossible anyway. More importantly, go32 has been superceded by the pc386 BSP.
* Patch from Wayne Bullaughey <wayne@wmi.com>. Comments follow:Joel Sherrill1999-10-051-1/+1
| | | | | | | | | | | | 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.
* Bug report and fix from Jay Kulpinski <jskulpin@eng01.gdds.com> whereJoel Sherrill1999-10-051-3/+2
| | | | | | 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().
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill1999-10-0422-67/+67
| | | | where wrapup left pieces out of the librtemsall.a.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill1999-10-041-1/+1
| | | | where wrapup left pieces out of the librtemsall.a.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make libnetworkingJoel Sherrill1999-10-042-10/+3
| | | | a top level more independently configured package.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-10-042-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below actuallly consists of two patches: 1) moving librpc to c/src/librpc similar to what has been done to librtems++ 2) reworked configure scripts, many safety and dependency checks added to aclocal/*.m4 macros + configuration fixes. To apply: mkdir c/src/librpc mkdir c/src/librpc/src cp c/src/lib/librpc/*.c c/src/librpc/src cp c/src/lib/librpc/Makefile.in c/src/librpc/src mkdir c/src/librpc/include mkdir c/src/librpc/include/rpc cp c/src/lib/include/rpc/* c/src/librpc/include/rpc patch -p1 < ../rtems-rc-19990820-7.diff rm -rf c/src/lib/librpc rm -rf c/src/lib/include/rpc ./autogen The additional checks in aclocal/*m4 macros add rather restrictive, sometimes unnecessarily restrictive constraints on the sequence of how macros can be used in a configure.in script. Adding them has let my problems with some more complicated configuration options vanish. Apparently some macros had not been in the required order . ---- Now I still get some linking errors for some cpus and bsps, esp when linking cdtest, but also at other locations: e.g. this happens for mips64orion/p4600: # make[5]: Entering directory `/lfs/poseidon/users/rtems/src/multi/build/mips64orion-rtems/c/p4600/tests/samples/hello' /opt/rtems/bin/mips64orion-rtems-gcc --pipe -B../../../../../../p4600/lib/ -specs bsp_specs -qrtems -DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 -mcpu=4600 -G0 -I../../../../../../p4600/lib/include/networking -g -Wall -ansi -fasm -O4 -fomit-frame-pointer -o o-p4600/hello.exe o-p4600/init.o ../../../../../../p4600/lib/no-dpmem.rel ../../../../../../p4600/lib/no-event.rel ../../../../../../p4600/lib/no-msg.rel ../../../../../../p4600/lib/no-mp.rel ../../../../../../p4600/lib/no-part.rel ../../../../../../p4600/lib/no-signal.rel ../../../../../../p4600/lib/no-timer.rel ../../../../../../p4600/lib/no-rtmon.rel /opt/rtems/mips64orion-rtems/lib/libc.a(dtoa.o): In function `_dtoa_r': /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol collect2: ld returned 1 exit status # mips64orion-rtems-gcc -v Reading specs from /opt/rtems/lib/gcc-lib/mips64orion-rtems/2.95.1/specs gcc version 2.95.1 19990816 (release) # mips64orion-rtems-ld -v GNU ld version 2.9.5 (with BFD 2.9.5)
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-10-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below actuallly consists of two patches: 1) moving librpc to c/src/librpc similar to what has been done to librtems++ 2) reworked configure scripts, many safety and dependency checks added to aclocal/*.m4 macros + configuration fixes. To apply: mkdir c/src/librpc mkdir c/src/librpc/src cp c/src/lib/librpc/*.c c/src/librpc/src cp c/src/lib/librpc/Makefile.in c/src/librpc/src mkdir c/src/librpc/include mkdir c/src/librpc/include/rpc cp c/src/lib/include/rpc/* c/src/librpc/include/rpc patch -p1 < ../rtems-rc-19990820-7.diff rm -rf c/src/lib/librpc rm -rf c/src/lib/include/rpc ./autogen The additional checks in aclocal/*m4 macros add rather restrictive, sometimes unnecessarily restrictive constraints on the sequence of how macros can be used in a configure.in script. Adding them has let my problems with some more complicated configuration options vanish. Apparently some macros had not been in the required order . ---- Now I still get some linking errors for some cpus and bsps, esp when linking cdtest, but also at other locations: e.g. this happens for mips64orion/p4600: # make[5]: Entering directory `/lfs/poseidon/users/rtems/src/multi/build/mips64orion-rtems/c/p4600/tests/samples/hello' /opt/rtems/bin/mips64orion-rtems-gcc --pipe -B../../../../../../p4600/lib/ -specs bsp_specs -qrtems -DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 -mcpu=4600 -G0 -I../../../../../../p4600/lib/include/networking -g -Wall -ansi -fasm -O4 -fomit-frame-pointer -o o-p4600/hello.exe o-p4600/init.o ../../../../../../p4600/lib/no-dpmem.rel ../../../../../../p4600/lib/no-event.rel ../../../../../../p4600/lib/no-msg.rel ../../../../../../p4600/lib/no-mp.rel ../../../../../../p4600/lib/no-part.rel ../../../../../../p4600/lib/no-signal.rel ../../../../../../p4600/lib/no-timer.rel ../../../../../../p4600/lib/no-rtmon.rel /opt/rtems/mips64orion-rtems/lib/libc.a(dtoa.o): In function `_dtoa_r': /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol collect2: ld returned 1 exit status # mips64orion-rtems-gcc -v Reading specs from /opt/rtems/lib/gcc-lib/mips64orion-rtems/2.95.1/specs gcc version 2.95.1 19990816 (release) # mips64orion-rtems-ld -v GNU ld version 2.9.5 (with BFD 2.9.5)
* Patch from Eric Norum <eric@cls.usask.ca>. Comments follow:Joel Sherrill1999-10-042-3/+5
| | | | | | The old system would panic when the loopback interface was included as part of the network initialation structures. With the printf you get an message, but the interface is still properly initialized.
* Addition of more functionality by Eric Norum to support GNU readline.Joel Sherrill1999-10-013-2/+77
|
* Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill1999-09-0722-0/+338
| | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many Makefile.in's to Makefile.am's. This added a lot of files.
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca> to addJoel Sherrill1999-08-303-15/+43
| | | | | support for return codes from POSIX threads that do an implicit exit by returning from the bottom of the main function.
* Removed definition of NO_IMPLICIT_EXTERN_C since it is supposed to beJoel Sherrill1999-08-301-2/+0
| | | | in the compiler not in the header file.
* Typo causing compilation failure spotted by Ralf Corsepius andJoel Sherrill1999-08-261-1/+1
| | | | fixed by Joel.
* Comment cleanup from Eric Norum <eric@cls.usask.ca>.Joel Sherrill1999-08-261-5/+0
|
* Patch from Eric Norum <eric@cls.usask.ca> to readd the behavior whereJoel Sherrill1999-08-231-30/+6
| | | | the minor number indicated the port number to try.
* Support for MPC505 from Sergei Organov <osv@Javad.RU>. His patch wasJoel Sherrill1999-08-191-0/+17
| | | | | against 3.6.0 so was painful to merge. It should be OK but there is no guarantee and there are no BSPs in the tree to exercise it.
* Patch from Jimen Ching <jimen@adtech-inc.com>:Joel Sherrill1999-08-181-0/+45
| | | | | | | | | | | | | | | Please take a look at this new patch. It contains a cleaner implementation of the reset operation. These patches are against 4.0.0. But the files did not change from the 3.6.0 release. Also, the cpu.h patch below still applies. I.e. instead of using i960ca_PRCB, use i960_PRCB. Explanation: The previous patch removed the use of the reset instruction, because it always fails. But this was due to the fact that some of the registers were corrupted by the re-init procedure. The new patches save and restore those registers when a re-init is done.
* Slightly cleaner way to switch on the CPU model.Joel Sherrill1999-08-181-6/+10
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-08-182-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-08-121-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added NO_IMPLICIT_EXTERN_C at suggestion of Jason Merrill.Joel Sherrill1999-08-101-0/+2
|
* Patch from Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>Joel Sherrill1999-07-2912-13/+16
| | | | | to correct a typo CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES was actually typed in as CPU_CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
* Fix after this report from Peter Pointner <pr@schenk.isar.de>:Joel Sherrill1999-07-281-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: a posix thread which is created by pthread_attr_init(&tattr); pthread_attr_setinheritsched(&tattr, PTHREAD_EXPLICIT_SCHED); pthread_attr_setschedpolicy(&tattr, SCHED_RR); pthread_create(&th, &tattr, func, arg); has a first timeslice of 2^32 ticks (changing a running thread to SCHED_RR id ok). I use RTEMS-4.0.0. I am not sure if the problem exists in the current CVS head revision. If it's not fixed, the patch at the end should do it. Peter --- pthreadcreate.c.orig Wed Jul 28 14:45:58 1999 +++ pthreadcreate.c Wed Jul 28 15:06:09 1999 @@ -199,6 +199,10 @@ api->schedpolicy = schedpolicy; api->schedparam = schedparam; + if ( schedpolicy == SCHED_RR ) { + the_thread->cpu_time_budget = _Thread_Ticks_per_timeslice; + } + /* * This insures we evaluate the process-wide signals pending when we * first run.