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