a58b834c8e333385f9be37eb4d343d70f8177613
libdnet when we can instead of our own home grown stuff.
SConscript:
separate the crc code into its own file
base/inet.cc:
move the crc stuff to crc.cc
add generic code for calculating ip/tcp/udp checksums
base/inet.hh:
- move crc stuff to crc.hh
- #include all of the libdnet stuff. (this makes base/inet.hh the
only file you need to include if you want to use this kind of stuff.)
- Wrap some of the libdnet structs to get easier access to structure
members. These wrappers will automatically deal with masking/shifting/
byte-swapping.
base/refcnt.hh:
If one derives from RefCountingPtr, they should have access to
the internal data pointer.
build/SConstruct:
make #include of dnet stuff work
dev/etherlink.cc:
dev/ethertap.cc:
dev/ethertap.hh:
EtherPacket -> PacketData
dev/etherpkt.cc:
EtherPacket -> PacketData
add a function for populating extra info about a packet.
Basically just gives pointers to ethernet/ip/tcp/udp headers
if they exist.
dev/etherpkt.hh:
EtherPacket -> PacketData
remove most of the packet header stuff from teh PacketData
class and just add a few generic functions for grabbing various
headers that may exist in the packet. The old functionality is
contained in the headers.
dev/ns_gige.cc:
- IP -> Ip, UDP -> Udp, TCP ->Tcp when used in variable names
- get rid of our own byte swapping functions.
- whack checksum code and use libdnet version.
- Get pointers to the various packet headers and grab info from
those headers. (The byte swapping in the headers now.)
- Add stats for Udp Checksums
dev/ns_gige.hh:
use libdnet for checksum code.
IP -> Ip, TCP -> Tcp in variable names
add stats for UDP checksums
--HG--
extra : convert_revision : 96c4160e1967b7c0090acd456df4a76e1f3aab53
This is release m5_1.0_beta1 of the M5 simulator. This file contains brief "getting started" information and release notes. For more information, see http://m5.eecs.umich.edu. If you have questions, please send mail to m5sim-users@lists.sourceforge.net. WHAT'S INCLUDED (AND NOT) ------------------------- Since you're reading this file, presumably you've managed to untar the distribution. The archive you've unpacked has three subdirectories: - m5: the simulator itself - m5-test: regression tests and scripts to run them - ext: less-common external packages needed to build m5 (currently ply and libelf) M5 is a capable, full-system simulator that current supports both Linux 2.4/2.6 and the proprietary Compaq/HP Tru64 version of Unix. We are able to distribute Linux bootdisks, but we are unable to distribute bootable disk images of Tru64 Unix. If you have a Tru64 license and are interested in obtaining disk images, contact us at m5-dev@eecs.umich.edu. WHAT'S NEEDED ------------- -GCC(3.X) -Python(2.2.2+) WHAT'S RECOMMENDED ------------------ -MySQL (for statistics complex statistics storage/retrieval) -Python-MysqlDB (for statistics analysis) GETTING STARTED --------------- The following steps will build and test the simulator. The variable "$top" refers to the top directory where you've unpacked the files, i.e., the one containing the m5, m5-test, and ext directories. There are three different build targets and three optimizations in each level: Target: ------- ALPHA - Syscall emulation simulation KERNEL - Linux full system simulation KERNEL_TLASER - Tru64 Unix full system simulation Optimization: ------------- m5.debug - debug version of the code with tracing and without optimization m5.opt - optimized version of code with tracing m5.fast - optimized version of the code without tracing and asserts cd $top/m5/build scons TARGET/OPTLEVL # e.g. KERNEL/m5.opt, use -j N if you have a MP system cd $top/m5-test ./do-tests.pl -B ALPHA # test what you just built ./do-tests.pl -B KERNEL # test what you just built # wait for tests to run... # should end with "finished do-tests successfully!"
Description