summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libcsupport (unfollow)
Commit message (Collapse)AuthorFilesLines
1999-02-18GLobal reentrancy structure is now dynamically initialized.Joel Sherrill1-1/+2
1999-02-15Patch from Eric Valette <valette@crf.canon.fr> to undo the patchJoel Sherrill1-2/+0
that added ifdef on the pc386.
1999-02-10Set the read/write offset to 0 when the file is opened. The ACVC had a testJoel Sherrill1-0/+1
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-10Added getcwd().Joel Sherrill1-0/+280
1999-02-05Corrected spacing and added some new error checks that were neededJoel Sherrill2-15/+25
to avoid dereferencing NULLs.
1999-01-28Patch from Eric Norum <eric@skatter.usask.ca> to set more flags inJoel Sherrill1-2/+2
rtems_bsdnet_makeFdForSocket().
1999-01-26Added libio_sockets.c to hold support routines for networking code.Joel Sherrill1-0/+58
1999-01-20More general fix based on bug report and patch from Ian Lance TaylorJoel Sherrill13-1/+27
<ian@airs.com> to fix this problem: There is a small bug in __rtems_close in c/src/lib/libc/libio.c. It does not check whether the file descriptor it is passed is open. This can cause it to make a null dereference if it is passed a file descriptor which is in the valid range but which was not opened, or which was already closed.
1999-01-19Per bug report from Jiri Gaisler that RTEMS would no longer buildJoel Sherrill1-1/+13
with the --disable-posix option, stubs for some routines (_getpid_r and _kill_r) that are normally defined with POSIX were added.
1999-01-04Removed blank linesJoel Sherrill2-3/+0
1998-12-14Corrected prototype to confirm to POSIX 1003.1b.Joel Sherrill2-10/+4
1998-12-10Merged Eric Norum's select patch that was based on 4.0 and resolvedJoel Sherrill15-121/+166
all conflicts.
1998-12-10Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1-0/+7
From: Eric Norum <eric@skatter.usask.ca> Date: Sat, 5 Dec 98 13:20:51 -0600 What do you think of this patch? It implements your `tap' suggestion in a way that adds support for all ethernet devices with no driver modifications. I also added a return value from the tap function. If the return value is zero, the packet will be passed up the chain as usual. If the return value is non-zero the mbuf holding the packet will be freed and the packet will be dropped. If you like it, please submit it to Joel. I guess there needs to be an addition to the network documentation describing the additional ioctl's -- and a big warning that the tap function is called from a context that holds the network semaphore. Here is Eric's patch. I've tested it a bit, and made a couple of trivial changes. This is certainly better than mine: it should work for all Ethernet drivers. ================================================== The only concern I have about this patch is that the tap function may want to fiddle with the mbuf, calling functions like m_pullup and the like. If those force the networking code to rearrange the mbuf structure, then the caller's call to m_freem may crash. I don't know if this is a realistic concern--I don't know enough about the mbuf layer.
1998-12-03Added source for F_DUPFD.Jennifer Averett1-12/+18
1998-12-03Modifications for RTEMS_UNIX.Jennifer Averett3-0/+8
1998-11-23Added base version of file system infrastructure. This includes a majorJoel Sherrill66-642/+4434
overhaul of the RTEMS system call interface. This base file system is the "In-Memory File System" aka IMFS. The design and implementation was done by the following people: + Joel Sherrill (joel@OARcorp.com) + Jennifer Averett (jennifer@OARcorp.com) + Steve "Mr Mount" Salitasc (salitasc@OARcorp.com) + Kerwin Wade (wade@OARcorp.com) PROBLEMS ======== + It is VERY likely that merging this will break the UNIX port. This can/will be fixed. + There is likely some reentrancy/mutual exclusion needed. + Eventually, there should be a "mini-IMFS" description table to eliminate links, symlinks, etc to save memory. All you need to have "classic RTEMS" functionality is technically directories and device IO. All the rest could be left out to save memory.
1998-10-28Merged Vista SCORE603e, Radstone PPCn_60x, and DY-4 DMV177 BSPs alongJoel Sherrill1-0/+2
with libchip.
1998-10-22Changed all of these to stubs.Joel Sherrill7-403/+34
1998-10-13Added rest of opendir family and made it compile.Joel Sherrill1-1/+16
1998-10-13New files.Joel Sherrill5-0/+328
1998-10-12New files.Joel Sherrill2-0/+164
1998-10-01Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1-5/+8
The reentrant versions of the malloc functions in c/src/lib/libc/malloc.c do not match the definitions in newlib. These will be used if you use newlib routines such as fdopen. I believe this patch to malloc.c is needed to provide the correct versions.
1998-09-23Modifed to zero out the C heap if the CPU Table indicates that theJoel Sherrill1-0/+15
RTEMS workspace is to be zeroed out.
1998-09-23Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill2-4/+10
1. Finally fixes raw interrupts for pc386 2. Makes some minor cleanup in console and startup 3. Makes rtems_termios_dequeue_characters() to return count of outstanding chars - it allows to simplify console isrs a little bit. 4. pc386 uart modified to be friendlier to termios parameter changes, to have minor performance improvement and to take advantage of of above termios modification.
1998-09-21Patch from Eric Norum:Joel Sherrill1-7/+2
I fixed the problems noted by Victor Vengerov. 1) Fix typo in cfsetispeed(). 2) In rtems_termios_open, ensure that args->iop->data1 is set before calling device-specific open routine.
1998-09-11Corrected spelling error.Joel Sherrill1-10/+10
1998-08-31Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1-3/+0
I have reworked the ethernet driver for the BSP pc386 and here is the patch to apply.
1998-08-31Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1-4/+2
I think I figured out why rtems_panic was locking up instead of shutting down the executive and returning to the code that called boot_card(). Later on there is code to print some messages on the standard error stream, a recursive call back to rtems_verror (through rtems_error) and finally a call to _exit(). I think that the _Thread_Disable_dispatch() is preventing the final context switch back to the boot_card() code. Does this sound right to you?
1998-08-21Fix from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1-14/+2
"Thomas Doerfler" <td@imd.m.isar.de> wrote: > > While implementing/testing the console/termios support for > PPC403 in RTEMS-4.0.0-beta3, I am stuck at a certain location in > termios.c: > > During "rtems_termios_initialize", the main control data structure > "*tty" is allocated using malloc(). (Note, that malloc does not > clear the allocated memory and my BSP does not clear memory during > startup). Furtheron, a lot of fields of that structure are > initialized, but the field "rawOutBufState" is not, and therefore > keeps an arbitrary contents. > > When "osend()" is called the first time(with the serial device > driver working in interrupt mode), termios gets stuck and will not > call the device drivers output function. > > My questions now are: > > - anybody already experienced this bug? > - is it a bug at all or did I do anything fundamentally wrong? > - is there already a common bugfix for that? > > I don't like poking around in other people code, as long as I am > not absolutely sure, what I do... Yes, there's a bug there. I thought that Joel had patched this already, but here's a patch to fix this. This patch also addresses a concern that many others have raised regarding enabling and disabling of transmitter interrupts. First, here's the example I've been using of a simple UART-style interrupt-driven driver: =============================================================== void device_write_routine (int minor, char *buf, int count) { UART->control_register &= ~UART_TRANSMITTER_READY; UART->output_register = *buf; UART->control_register |= UART_TRANSMIT_INTERRUPT_ENABLE; } void device_transmit_interrupt_routine (int vector) { UART->control_register &= ~UART_TRANSMIT_INTERRUPT_ENABLE; rtems_termios_dequeue_characters (device_ttyp, 1); } ============================================================== Several people have expressed their concern about the disable/enable of transmitter interrupts for every character. On some machines this disable/enable is an expensive operation. With the attached patch applied you can write the two routines as: ============================================================== void device_write_routine (int minor, char *buf, int count) { code_to_clear_transmitter_ready_status (); if (device_ttyp->rawOutBufState == rob_idle) code_to_enable_transmitter_interrupts (); code_to_send_one_character_to_transmitter (*buf); } void device_transmit_interrupt_routine (int vector) { rtems_termios_dequeue_characters (device_ttyp, 1); if (device_ttyp->rawOutBufState == rob_idle) code_to_disable_transmitter_interrupts (); } ===============================================================
1998-08-21Added initialization of missing termios structure entries.Joel Sherrill1-2/+3
1998-08-19Base filesJoel Sherrill3-0/+219
1998-07-28Closed window thanks to patch from Eric Norum.Joel Sherrill1-5/+3
1998-07-17Initialized tty->refcount to 0. When (for whatever reason) malloc()Joel Sherrill1-0/+3
returned a buffer which was not zero-filled, the reference count was not correct. When the application exitted, the "lastClose" handler was not being called to flush the output. This problem had manifested itself on a variety of platforms. The function rtems_termios_dequeue_characters() incorrectly incremented the buffer pointers when it was invoked and there were no characters in the ring buffer. This problem had also manifested itself on a variety of platforms. The symptom was a strange repeating of the data in the transmitter buffer when the transmitter serial device was supposed to go idle.
1998-07-17Patch from Dario Alcocer <alcocer@connectnet.com>. His comments:Joel Sherrill1-0/+2
Haven't had a chance to do an extensive shake-out of 980710, but it builds just fine on FreeBSD 2.2.5 (after termios is fixed using the attached patch), and the tests run fine. FYI: FreeBSD doesn't support System V IPC out of the box, but one only needs to add three options to the kernel build configuration file, recompile the kernel, and you're ready.
1998-07-06New file to satisfy readdir() family.Joel Sherrill1-0/+14
1998-06-18Added freebsd support from Dario Alcocer <alcocer@connectnet.com>.Joel Sherrill1-0/+14
1998-06-18Corrected so it returns the correct date. Previously was getting the numberJoel Sherrill1-11/+28
of seconds since 1988 from RTEMS and not adding in the 1970-1988 correction factor. Plus removed checks for data/time set since POSIX does not permit this call to fail. GNAT 3.12 depends on this.
1998-06-18Added a public interface to the chain handler.Joel Sherrill1-0/+362
1998-05-22Added tcdrain(), cfgetospeed(0, cfsetospeed(), cfgetispeed(), andJoel Sherrill2-0/+56
cfsetispeed().
1998-05-22Added tcdrain(), cfgetospeed(), cfsetospeed(), cfgetispeed(), and cfsetispeed().Joel Sherrill1-1/+5
1998-05-20Patch to add return status to rtems_termios_enqueue_raw_characters fromJoel Sherrill2-2/+4
Eric Norum per request from Geoffroy Montel: > The rtems_termios_enqueue_raw_characters function type is void. > The problem is that I can't return an error message if the input > buffer is full. > Could we add a return value? Sure, but what would you do with the overflow indication? POSIX says, ``when the input limit is reached, the saved characters are thrown away without notice''. Anyhow, the change is so small I've done it and enclosed the patch.
1998-05-20Added tcdrain() from Eric NorumJoel Sherrill1-0/+1
1998-05-19Addition of tcdrain() from Eric Norum.Joel Sherrill1-0/+12
1998-05-19Removed prototype of rtems_libio_config() per Chris Johns' eagle eye.Joel Sherrill1-1/+0
1998-05-04Patch from Eric Norum to switch to termios callback structure, addJoel Sherrill2-38/+41
support for device driver support on tcsetattr(), and hardware flow control callbacks.
1998-04-18rtems_libio_number_iops is now defined in confdefs.h so the maximumJoel Sherrill1-1/+1
file descriptors is user configurable.
1998-04-15Numerous changes which in total greatly reduced the amount of sourceJoel Sherrill1-18/+0
code in each BSP's bspstart.c. These changes were: + confdefs.h now knows libio's semaphore requirements + shared/main.c now copies Configuration to BSP_Configuration + shared/main.c fills in the Cpu_table with default values This removed the need for rtems_libio_config() and the constant BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open files can now be set on the gcc command line.
1998-04-06More stuff removed as a result of using newlib's isatty() implementation.Joel Sherrill1-11/+0
These were noticed by Eric Norum.
1998-04-03Removed isatty() since we are now using newlib's implementation asJoel Sherrill1-1/+0
a result of enabling the newlib POSIX directory.
1998-03-27Should have included <rtems.h> before checking for ifdef RTEMS_UNIX.Joel Sherrill1-2/+2
Bug report from Olivier Hainque <hainque@inf.enst.fr> on SPARC Solaris 2.6.