Files
rtems/c
Joel Sherrill 9142bf398b 2000-10-20 Dmitry Kargapolov <dk@gentex.ru>
* ne2000/ne2000.c: Fix some errors in the driver.
	1. There was no sufficient check of data in ethernet header.
	The code in ne_rx_daemon() was:
            inport_word (dport, len);
	    ...
	    len -= 4;
	      ...
	    if (len > 0)
	      ne_read_data (sc, startaddr, len, p);
	Unfortunately, sometimes my NIC gave me too big len value,
	the result was memory override.  To fix this, I added ethernet
	header data checking.

	2. The way overrides were serviced was not good.  It was complex
	but sometimes did not provide reliable continuing of NIC working.
	I had the situation of an endless loop in ne_check_status()
	after override processing.

	3. There was conceptual error of porting.  The old method of
	overrides curing was ported from the OS-s, where override-processing
	did start immediately.  But RTEMS-version uses events, and cleaning
	of the overrides can start later.

	I selected the way of ne2000 programming that is used
	in freebsd kernel (v4.0).

	Because of both problems, incorrect data in header of raw packet
	and receiver override, it went through ne_reset() and fully
	reset the ne2000.

	So, in summary
	- added detecting of the incorrect data in ethernet header;
	- replaced handling of receiver overrides with new scheme,
	via resetting of NIC, this method is used also in case of
	invalid header detecting.
2000-10-20 12:57:46 +00:00
..
2000-08-10 13:24:00 +00:00
2000-06-12 15:00:15 +00:00

#
#  $Id$
#

This is the top level of the RTEMS directory structure.  The following
is a description of the files and directories in this directory:

  Makefile.in
    The top-level Make command file used to build the C implementation
    of RTEMS.  [RTEMS assumes the use of GNU make.]

  README
    This file.

  REQUIRES
    A list of the other tools which are assumed to be installed
    before RTEMS is built.

  SUPPORT
    Information on third-party support for RTEMS.

  build-tools
    This directory contains the source for various utilities
    needed to build RTEMS.

  make
    Make command files "included" from those in the source distribution.
    [RTEMS assumes the use of GNU make.]

  patches
    This directory contains patches for this release of RTEMS.

  src
    This directory contains the source code for the C
    implementation of RTEMS as well as the test suites, sample
    applications, Board Support Packages, Device Drivers, and
    support libraries.