README revision 1850
1This is release m5_1.1 of the M5 simulator.
2
3This file contains brief "getting started" information and release
4notes.  For more information, see http://m5.eecs.umich.edu.  If you
5have questions, please send mail to m5sim-users@lists.sourceforge.net.
6
7WHAT'S INCLUDED (AND NOT)
8-------------------------
9
10Since you're reading this file, presumably you've managed to untar the
11distribution.  The archive you've unpacked has three subdirectories:
12 - m5: the simulator itself
13 - m5-test: regression tests and scripts to run them
14 - ext: less-common external packages needed to build m5
15 - alpha-system: source for Alpha console and PALcode
16
17M5 is a capable, full-system simulator that current supports both Linux
182.4/2.6 and the proprietary Compaq/HP Tru64 version of Unix. We are able 
19to distribute Linux bootdisks, but we are unable to distribute bootable
20disk images of Tru64 Unix. If you have a Tru64 license and are interested 
21in obtaining disk images, contact us at m5-dev@eecs.umich.edu.
22
23WHAT'S NEEDED
24-------------
25- GCC (version 3.3 or 3.4 recommended)
26- Python 2.3 or newer
27- SCons 0.96.1 (see http://www.scons.org)
28
29WHAT'S RECOMMENDED
30------------------
31- MySQL (for statistics complex statistics storage/retrieval)
32- Python-MysqlDB (for statistics analysis) 
33
34GETTING STARTED
35---------------
36
37There are two different build targets and three optimizations levels:
38
39Target:
40-------
41ALPHA_SE - Syscall emulation simulation
42ALPHA_FS - Full system simulation
43
44Optimization:
45-------------
46m5.debug - debug version of the code with tracing and without optimization
47m5.opt   - optimized version of code with tracing
48m5.fast  - optimized version of the code without tracing and asserts
49
50Different targets are built in different subdirectories of m5/build.
51Binaries with the same target but different optimization levels share
52the same directory.  Note that you can build m5 in any directory you
53choose by copying the SConstruct file there and creating symbolic links
54to the 'm5' and 'ext' directories.
55
56The following steps will build and test the simulator.  The variable
57"$top" refers to the top directory where you've unpacked the files,
58i.e., the one containing the m5, m5-test, and ext directories.  If you
59have a multiprocessor system, you should give scons a "-j N" argument (like
60make) to run N jobs in parallel.
61
62To build and test the syscall-emulation simulator:
63
641. In $top/m5/build, run "scons ALPHA_SE/m5.opt".
652. In $top/m5-test, run "./do-tests.pl -B ALPHA_SE".
66
67The tests should end with "finished do-tests successfully!"
68Note: if you're running under Cygwin several tests will fail with an
69"EIO icount mismatch".  This is due to the lack of fesetround() under
70Cygwin causing differences in floating-point rounding.
71
72To build and test the full-system simualator:
73
741. Download the full-system binary package from XXX.  This package includes
75   disk images and kernel, palcode, and console binaries for Linux and FreeBSD.
762. Edit SYSTEMDIR in $top/m5-test/SysPaths.py to point to your local copy
77   of the binaries.
783. In $top/m5/build, run "scons ALPHA_FS/m5.opt".
794. In $top/m5-test, run "./do-tests.pl -B ALPHA_FS".
80
81