Added (hacky) ne2k functionality. Modified syscall server for udp.
authorPaul Pearce <pearce@eecs.berkeley.edu>
Thu, 1 Oct 2009 05:53:25 +0000 (01:53 -0400)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 1 Oct 2009 20:09:52 +0000 (22:09 +0200)
commit2a9a7216fc2d779f023dc3dade6f4a446d375caf
treeca777a013f949c48e6200953533d95b7346e883c
parentfb0710f5aebf9090ef6271b77a9dbf9a16913b20
Added (hacky) ne2k functionality. Modified syscall server for udp.

With this commit we can now do remote system calls entirely inside a VM.
Yay.

The majority of this commit is a new ne2k.c/h that allows packet sending
and receiving. In support of this was a new nic_common.c/h framework
that broke some of the common def's and vars into a central location
and syscall.c now relies upon this.

Newlib_backend now keys off of __NETWORK__ when deciding how to ship out
syscalls.

Modified the syscall server to work with UDP. Added new generic read/write
functions for the pipe and pty methods, as the udp method needs more
complicated functionality than just read().

Note: Not tested with ivy. Not tested with old RealTek nic in hardware.
This is mainly a WIP commit.
19 files changed:
.gitignore
kern/arch/i386/Makefrag
kern/arch/i386/ne2k.c
kern/arch/i386/ne2k.h
kern/arch/i386/nic_common.c [new file with mode: 0644]
kern/arch/i386/nic_common.h [new file with mode: 0644]
kern/arch/i386/rl8168.c
kern/arch/i386/rl8168.h
kern/src/syscall.c
tools/syscall_server/Makefile
tools/syscall_server/pipe.c [new file with mode: 0644]
tools/syscall_server/pipe_init.c [deleted file]
tools/syscall_server/pty.c [new file with mode: 0644]
tools/syscall_server/pty_init.c [deleted file]
tools/syscall_server/syscall_server.c
tools/syscall_server/syscall_server.h
tools/syscall_server/udp.c [new file with mode: 0644]
user/apps/parlib/run_binary.c
user/parlib/src/i386/newlib_backend.c