Commit Graph

229 Commits

Author SHA1 Message Date
Joel Sherrill
38db58f82b 2001-10-11 Mike Siers <mikes@poliac.com>
* libc/termios.c: Fixed a memory leak in the termios
	software.  Basically the tty open function was allocating an input
	raw buffer, an output raw buffer, and a cooked buffer that were
	not getting released.  I have attached a patch for the latest
	snapshot.  The patch also has a fix to ensure the tty link list
	is updated correctly when a tty is closed.
2001-10-11 21:21:43 +00:00
Joel Sherrill
ceead58b56 2001-10-10 Joel Sherrill <joel@OARcorp.com>
* libc/printk.c (printNum): Properly handle a maxwidth of 0
	as reported by Nick Hennenfent <NICK.HENNENFENT@ROCHE.COM>.
2001-10-10 18:42:07 +00:00
Joel Sherrill
6d13563911 2001-09-14 Eric Norum <eric.norum@usask.ca>
* libc/gxx_wrappers.c: Modifications to make gcc 3.x happy.
2001-09-21 17:51:10 +00:00
Joel Sherrill
d6c20ff373 2001-08-17 Joel Sherrill <joel@OARcorp.com>
* include/rtems/libio_.h: Added ifdef to ensure that LOGIN_NAME_MAX
	is defined on GNU/Linux (RedHat 6.2 distribution).
	* libc/unixlibc.c: Added stubs for rtems_io_register_name() and
	rtems_io_lookup_name() so UNIX port would compile the IO manager
	sptest that registers /dev/null.
2001-08-17 21:59:28 +00:00
Joel Sherrill
cc5c4ac6dd 2001-08-16 Joel Sherrill <joel@OARcorp.com>
* libc/lseek.c: Modified after discussion with Eugeny S. Mints
	<jack@oktet.ru> to correct the behavior.  There were two mistakes.
	First, iop->offset was incorrectly set for SEEK_END.  Second,
	iop->offset should be left unmodified if there are errors.
	This modification attempts to fix both situations.
2001-08-17 13:18:01 +00:00
Joel Sherrill
dfd218d5fe 2001-08-16 Joel Sherrill <joel@OARcorp.com>
* libc/lseek.c: Modified after discussion with Eugeny S. Mints
	<jack@oktet.ru> to correct the behavior.  There were two mistakes.
	First, iop->offset was incorrectly set for SEEK_END.  Second,
	iop->offset should be left unmodified if there are errors.
	This modification attempts to fix both situations.
2001-08-16 22:20:06 +00:00
Joel Sherrill
c0af4e4799 2001-08-16 Mike Siers <mikes@poliac.com>
* libc/termios.c: Fix a bug in the termios implementation in
	the following scenario:
	  The General Terminal Interface document that me states that
	  if VMIN = 0 and VTIME = 0, then read() should return the minimum
	  of two values:
  		a) number of bytes available
  		b) number of bytes requested (I assume from the read call)

	  The current implementation of the fillBufferQueue() in termios.c is
	  always return 1 character with these setting values.  I know the
	  termios buffer has more than one character available and my read()
	  call is requesting 1024 bytes.
2001-08-16 20:58:14 +00:00
Joel Sherrill
4b3c197fc0 2001-08-16 Mike Siers <mikes@poliac.com>
* libc/termios.c: Fix a bug in the termios implementation in
	the following scenario:
	  The General Terminal Interface document that me states that
	  if VMIN = 0 and VTIME = 0, then read() should return the minimum
	  of two values:
  		a) number of bytes available
  		b) number of bytes requested (I assume from the read call)

	  The current implementation of the fillBufferQueue() in termios.c is
	  always return 1 character with these setting values.  I know the
	  termios buffer has more than one character available and my read()
	  call is requesting 1024 bytes.
2001-08-16 20:04:19 +00:00
Joel Sherrill
ccb13cfe7c 2001-08-09 Fernando-Ruiz Casas <correo@fernando-ruiz.com>
* libc/getgrent.c, libc/getpwent.c: the 'ls' and more related command
	previous failed after a chroot(). (unknown user & group)
2001-08-09 22:11:19 +00:00
Joel Sherrill
2082fe2919 2001-08-03 Joel Sherrill <joel@OARcorp.com>
* libc/libio_sockets.c (rtems_bsdnet_fdToSocket): Per bug
	report from Gene Smith <Gene.Smith@sea.siemens.com>, enhanced the
	error checking to account for a socket being closed.
2001-08-03 16:06:33 +00:00
Joel Sherrill
c891fe082e 2001-05-25 Joel Sherrill <joel@OARcorp.com>
* libc/base_fs.c: Deleted chmod() now that IMFS creates the
	root node with the desired permissions.  chmod() is also not
	supported by the miniIMFS so this is not allowable.
2001-05-25 13:46:02 +00:00
Joel Sherrill
e565720aad 2000-05-24 Fernando Ruiz Casas <fernando.ruiz@ctv.es>
* libc/ttyname.c (ttyname_r): Removed duplicate call to closedir().
	* libc/getpwent.c: Create a more robust /etc/passwd and /etc/group.
	* libc/base_fs.c: Change permissions of files and directories.  Now uses
	octal constants.
2001-05-24 21:43:08 +00:00
Joel Sherrill
c8f7f94b4e 2001-05-11 Joel Sherrill <joel@OARcorp.com>
* libc/write.c: Change type of rc to match return type from
	underlying function per report from Eric Norum.
2001-05-11 13:01:01 +00:00
Joel Sherrill
6f43d82ecb 2001-04-24 Joel Sherrill <joel@OARcorp.com>
* libc/libio.c (rtems_libio_allocate): Make sure size and offset
	fields are cleared on each file open.  Before this field was cleared,
	this resulted in the value from the last time that IOP was used
	being still in place.  Discovered by  Andrew Bythell
	<abythell@nortelnetworks.com>.
	* libc/open.c: Remove redundant setting of iop->offset.
2001-04-24 23:10:04 +00:00
Joel Sherrill
d8a9155512 2001-04-20 Correo Fernando-ruiz <correo@fernando-ruiz.com>
* include/rtems/libio_.h, libc/chroot.c, libc/privateenv.c:
	Private environment and chroot() enhancements and fixes.  Comments:
	  + privateenv has been modified to let at chroot() to be more
	    POSIX like Sergei Organov recommended.
	  + A task owner lets that rtems_set_private_env() will be
	    called twice or more times.
	  + chroot() can be called without a previous
	    rtems_set_private_env(); (transpanrently)
	  + The second call of rtems_set_private_env() makes a internal
	    chroot("/") into global imfs_root.
	  + chroot() runs like chdir() without a previous chdir("/") with
	    the global root.
	  + The current directory can be in a wrong place like Linux and
	    many other Unices.
2001-04-20 21:11:25 +00:00
Joel Sherrill
56f20bacf0 2001-01-26 Joel Sherrill <joel@OARcorp.com>
* libc/chroot.c: Fixed naming problems.  Names were changed
	when the code this depends on was merged.
2001-01-26 14:50:54 +00:00
Joel Sherrill
37535317d9 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-26 14:12:48 +00:00
Joel Sherrill
2a929cc871 2001-01-25 Fernando Ruiz <fernando.ruiz@ctv.es>
* Alternate email is correo@fernando-ruiz.com
	* libc/privateenv.c: New file.
	* include/rtems/libio_.h, libc/Makefile.am, libc/base_fs.c,
	libc/unmount.c: Moved default umask, current working directory,
	root, and links followed count into a structure "user environment"
	that can then be treated as a unit.  This enable giving unique
	copies of these to individual threads or collection of threads.
2001-01-25 15:59:58 +00:00
Joel Sherrill
f42b726174 2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add src/config.h
	* src/Makefile.am: Add INCLUDES += -I. to pickup config.h
	* src/.cvsignore: Add config.h and stamp-h
	* src/*.c: Add config.h support.
2001-01-24 14:17:28 +00:00
Joel Sherrill
9c49db4d6a 2001-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add libc/config.h
	* libc/Makefile.am: Add INCLUDES += -I. to pickup config.h
	* libc/.cvsignore: Add config.h and stamp-h
	* libc/*.c: Add config.h support.
2001-01-08 18:26:44 +00:00
Joel Sherrill
922a7236f0 2000-12-06 Joel Sherrill <joel@OARcorp.com>
* libc/mallocfreespace.c: Name of routine is
	rtems_region_get_information() NOT region_get_information().
	* libc/unmount.c: Removed unused variable.
2000-12-06 15:45:37 +00:00
Joel Sherrill
88d7985260 2000-11-30 Joel Sherrill <joel@OARcorp.com>
* include/rtems/Makefile.am: Added termiostypes.h.
	* libc/Makefile.am: Removed termiostypes.h.
	* libc/termios.c: Changed include of "termiostypes.h" to
	<rtems/termiostypes.h> since that is an RTEMS specific header file.
2000-11-30 14:00:39 +00:00
Joel Sherrill
e23afc3638 2000-11-28 Sergei Organov <osv@javad.ru>
* libc/getcwd.c: Ensure _closedir(dir) is called even on
	error exit from the routine.
2000-11-28 21:49:27 +00:00
Joel Sherrill
e2af631fef 2000-11-25 Antti P Miettinen <antti.p.miettinen@nokia.com>
* libc/termios.c, libc/termiostypes.h: Task driver driver model
	and line discipline support from Thomas Doerfler
	<Thomas.Doerfler@imd-systems.de>.
2000-11-25 19:35:53 +00:00
Joel Sherrill
bde7e18ea0 2000-11-20 Dmitry Kargapolov <dk@gentex.ru>
* libc/mount.c: Make sure there is space allocated for a device name
	in the mount table entry.
2000-11-20 13:29:21 +00:00
Jennifer Averett
4b0d1ab39b 2000-11-17 Jennifer Averret <jennifer@OARcorp.com>
* libc/mount.c (search_mt_for_mount_point): Deleted routine.
	* libc/mount.c (Is_node_fs_root): Replacement for above that
	accounts for the imaginary root node being returned by the
	filesystem evaluation routine.
	* libc/unmount.c (unmount): Account for imaginary root node
	being returned and improved variable names to clarify code.
	* libc/unmount.c (file_systems_below_this_mountpoint):  Body of
	routine replaced to account for imaginary root node being returned.
2000-11-17 18:42:02 +00:00
Joel Sherrill
5dc2b66d71 2000-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* libc/libio.c: Special treatment of O_NDELAY for Cygwin.
2000-11-10 14:23:46 +00:00
Joel Sherrill
3ba74c733f 2000-11-01 Joel Sherrill <joel@OARcorp.com>
* include/Makefile.am, include/rtems/libio_.h, libc/Makefile.am,
	libc/assoc.c, libc/assocnamebad.c, libc/base_fs.c, libc/cfsetispeed.c,
	libc/cfsetospeed.c, libc/chdir.c, libc/chmod.c, libc/chown.c,
	libc/close.c, libc/closedir.c, libc/dup2.c, libc/error.c, libc/eval.c,
	libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c,
	libc/fpathconf.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c,
	libc/getdents.c, libc/ioctl.c, libc/libio.c, libc/libio_sockets.c,
	libc/link.c, libc/lseek.c, libc/malloc.c, libc/mallocfreespace.c,
	libc/mknod.c, libc/mount.c, libc/newlibc.c, libc/no_libc.c,
	libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c,
	libc/symlink.c, libc/tcsetattr.c, libc/telldir.c, libc/ttyname.c,
	libc/ttyname_r.c, libc/umask.c, libc/unlink.c, libc/unmount.c,
	libc/utime.c, libc/write.c:
	assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved
	from libc to lib/include/rtems and now must be referenced as
	<rtems/XXX.h>.
	* include/rtems/Makefile.am, include/rtems/.cvsignore: New file.
	* include/rtems/assoc.h, include/rtems/error.h,
	include/rtems/libcsupport.h, include/rtems/libio.h,
	include/rtems/libio_.h: New/moved files.
2000-11-01 21:08:14 +00:00
Joel Sherrill
7b0001f795 2000-10-24 Joel Sherrill <joel@OARcorp.com>
* libc/ioman.c: Moved to libfs.
	* libc/Makefile.am: Removed ioman.c as part of moving it to libfs.
	* libc/base_fs.c: Removed include of imfs.h and reworded comment
	to avoid being IMFS specific.
	* libc/libio.h: Removed prototype of IMFS_ops since it should
	not be in this file.
	* libc/mount.c: Removed IMFS specific configuration information.
	* libc/unmount.c: Removed include of imfs.h and reworded comment
	to avoid being IMFS specific.
2000-10-25 16:56:11 +00:00
Joel Sherrill
3815a2b73c 2000-10-18 Joel Sherrill <joel@OARcorp.com>
* libc/Makefile.am: Added mallocfreespace.c.
	* libc/mallocfreespace.c: New file based on work by Nick Simon
	<Nick.SIMON@syntegra.bt.co.uk> which he included in malloc.c.
	* libc/libcsupport.h: Added prototype for malloc_free_space().
2000-10-18 15:02:06 +00:00
Joel Sherrill
e6babd7e08 2000-10-18 Joel Sherrill <joel@OARcorp.com>
* libc/fcntl.c: Do not require every filesystem to have an fcntl()
	handler.  Most fcntl() operations can be performed with no
	filesystem support.
	* ChangeLog: Corrected comment.
2000-10-18 13:08:22 +00:00
Joel Sherrill
9c3fa30a11 2000-09-28 Joel Sherrill <joel@OARcorp.com>
* libc/libio.h (rtems_filesystem_file_handlers_r,
	rtems_filesystem_operations_table): Added _h to all structure
	fields to indicate they are "handlers".
	* libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c,
	libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c,
	libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c,
	libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c,
	libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c,
	libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c,
	libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c,
	libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c:
	Modified to reflect above name change.
2000-09-28 20:19:23 +00:00
Joel Sherrill
fb327db319 2000-09-22 Joel Sherrill <joel@OARcorp.com>
* libc/newlibc.c: Removed _A29K specific ifdef.
2000-09-22 20:35:12 +00:00
Joel Sherrill
5a9a5ecbc5 2000-09-05 Joel Sherrill <joel@OARcorp.com>
* libio.c: Added O_NONBLOCK to list of flags.
2000-09-05 15:46:02 +00:00
Joel Sherrill
188c82b412 2000-08-30 Joel Sherrill <joel@OARcorp.com>
* Many files: Moved posix/include/rtems/posix/seterr.h to
	score/include/rtems/seterr.h so it would be available within
	all APIs.
2000-08-30 17:12:55 +00:00
Joel Sherrill
1a3b28195d 2000-08-25 Joel Sherrill <joel.sherrill@OARcorp.com>
* libc/fs_null_handlers.c: Added missing rmnod entry.
2000-08-25 17:12:14 +00:00
Joel Sherrill
662678d1d9 2000-08-25 Joel Sherrill <joel.sherrill@OARcorp.com>
* libc/isatty.c, libc/imfs_handlers_directory.c, libc/creat.c,
	libc/imfs_directory.c: Fixed style issues.
2000-08-25 13:13:57 +00:00
Joel Sherrill
dd19c0bb06 2000-08-11 Chris Johns <ccj@acm.org>
* libc/chmod.c: Return ENOTSUP if filesystem does not have handler.
	* libc/eval.c: Ditto.
	* libc/fcntl.c: Ditto.
	* libc/fsync.c: Ditto.
	* libc/ioctl.c: Ditto.
	* libc/ioman.c: Ditto.
	* libc/link.c: Ditto.
	* libc/memfile.c: Ditto.
	* libc/mknod.c: Ditto.
	* libc/symlink.c: Ditto.
	* libc/libio.h(rtems_filesystem_dev_major_t): New macro.
	* libc/libio.h(rtems_filesystem_dev_minor_t): New macro.
2000-08-11 20:04:27 +00:00
Joel Sherrill
5b8d82a2a7 IEEE
====
-4 = {d = -4, i = {0xc0100000, 0x0}} s=1 e=0x80 m=0x100000 (0x0900000)
-3 = {d = -3, i = {0xc0080000, 0x0}} s=1 e=0x80 m=0x080000 (0x0880000)
-2 = {d = -2, i = {0xc0000000, 0x0}} s=1 e=0x80 m=0x000000 (0x0800000)
-1 = {d = -1, i = {0xbff00000, 0x0}} s=1 e=0x7f m=0x000000 (0x0800000)
 0 = {d =  0, i = {0x00000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 1 = {d =  1, i = {0x3ff00000, 0x0}} s=0 e=0x7f m=0x000000 (0x0800000)
 2 = {d =  2, i = {0x40000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 3 = {d =  3, i = {0x40080000, 0x0}} s=0 e=0    m=0x080000 (0x0880000)

C4X
===
-4 = {d = -4, i = {0x01800000, 0x0}} s=1 e=1    m=0x800000 (0x1000000)
-3 = {d = -3, i = {0x01c00000, 0x0}} s=1 e=1    m=0xa00000 (0x1400000)
-2 = {d = -2, i = {0x00800000, 0x0}} s=1 e=0    m=0x800000 (0x1000000)
-1 = {d = -1, i = {0xff800000, 0x0}} s=1 e=0xff m=0x000000 (0x1000000)
 0 = {d =  0, i = {0x80000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 1 = {d =  1, i = {0x00000000, 0x0}} s=0 e=0x7f m=0x000000 (0x0800000)
 2 = {d =  2, i = {0x01000000, 0x0}} s=0 e=1    m=0x400000 (0x0800000)
 3 = {d =  3, i = {0x01400000, 0x0}} s=0 e=1    m=0x600000 (0x0c00000)
 4 = {d =  4, i = {0x02000000, 0x0}} s=0 e=2    m=0xXXXXXX (0x0000000)

0x1010 0000
  0101 0000
  0010 1002
2000-08-03 14:43:33 +00:00
Joel Sherrill
e6890ba1f5 Patch from Eric Norum <eric@cls.usask.ca> to avoid lockup under
the correct circumstances of DMA buffer size, serial
line interrupts, and ethernet interrupts the termios osend routine would
lock up waiting for the raw output buffer semaphore.
2000-08-01 15:23:59 +00:00
Joel Sherrill
ca7858bb88 Port of RTEMS to the Texas Instruments C3x/C4x DSP families including
a BSP (c4xsim) supporting the simulator included with gdb.  This port
was done by Joel Sherrill and Jennifer Averett of OAR Corporation.
Also included with this port is a space/time optimization to eliminate
FP context switch management on CPUs without hardware or software FP.

An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8)
on this CPU.  This required addressing alignment checks and assumptions
as well as fixing code that assumed sizeof(unsigned32) == 4.
2000-07-26 19:28:11 +00:00
Joel Sherrill
195ae7bada Patch from Chris Johns <cjohns@cybertec.com.au> to add fchdir()
functionality to libc and update TODO.
2000-06-30 12:31:28 +00:00
Joel Sherrill
9b6d1736ee Patch from Chris Johns <cjohns@cybertec.com.au> to make sure the
ttyHead back link is set.
2000-06-29 16:05:15 +00:00
Joel Sherrill
a3726b15ec Fixing warning obtained by some users. 2000-06-15 19:40:34 +00:00
Joel Sherrill
9b05600b2c *** empty log message *** 2000-06-14 20:22:31 +00:00
Joel Sherrill
cf1f72ea33 Moved i386 and m68k cache management code to libcpu. Everything
now is an implementation of the prototypes in rtems/rtems/cache.h.
The libcpu/i386/wrapup directory is no longer needed.
The PowerPC needs this done to it.
2000-06-13 21:53:38 +00:00
Joel Sherrill
2adcb4dda6 Temporary hack to compile. 2000-06-13 21:41:45 +00:00
Joel Sherrill
8ef38186fa Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine Gauthier
<charles.gauthier@iit.nrc.ca>, and Darlene A. Stewart
<Darlene.Stewart@nrc.ca> to add support for a number of very
significant things:

  + BSPs for many variations on the Motorola MBX8xx board series
  + Cache Manager including initial support for m68040
    and PowerPC
  + Rework of mpc8xx libcpu code so all mpc8xx CPUs now use
    same code base.
  + Rework of eth_comm BSP to utiltize above.

John reports this works on the 821 and 860
2000-06-12 19:57:02 +00:00
Joel Sherrill
1bce637587 Added printk as a generic, shared routine. 2000-06-12 16:37:04 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00