This is a RTEMS (realtime executive for multiprocessor systems) port of the lwIP 
TCP/IP stack for a Sparc processor. To use it on a different processor, only 
some modifications in the CPU dependent header files should be neccessary. This 
architecture port implements the multi-thread features of the architecture layer 
and can thus be used with the higher layer API of lwIP from multi-threaded 
applications. We think that it is not a quick-hack-port.
We used the LECCS system from Jiri Gaisler (www.gaisler.com) to compile the 
system for RTEMS/Sparc. For simulation, we used TSIM from Jiri Gaisler in the 
first development stage. Later, we ran the program on a LEON Sparc processor; 
the LEON processor was syntesized and implemented in a Xilinx FPGA running at 25 
MHz. Moreover, the board hosting the LEON (FPGA) also has an ethernet port. The 
ethernet port was driven by a ethernet MAC also implemented in the Xilinx, 
connected via a Whishbone/AMBA bridge to the LEON. 

We did some small modifications to the lwIP sources:

1.) added the function declaration

  void netbuf_copy_partial(struct netbuf *buf, void *dataptr, u16_t len, u16_t 
  offset);

in lwIP to file api.h to avoid compiler warning at sockets.c:255.

2.) added the function

  void tcpdump_init_custom(FILE *outputFile);

in lwIP to file tcpdump.h and tcpdump.c, because RTEMS often has no file system.

-----

We provide this code under the same liberal BSD-style license as the lwIP stack.

Karl Scheibelhofer, Socware Group, IAIK, Graz University of Technology, Dec. 2002
