README revision 1850
11850Sstever@eecs.umich.eduThis is release m5_1.1 of the M5 simulator. 2131Sstever@eecs.umich.edu 3131Sstever@eecs.umich.eduThis file contains brief "getting started" information and release 4131Sstever@eecs.umich.edunotes. For more information, see http://m5.eecs.umich.edu. If you 5131Sstever@eecs.umich.eduhave questions, please send mail to m5sim-users@lists.sourceforge.net. 6131Sstever@eecs.umich.edu 7131Sstever@eecs.umich.eduWHAT'S INCLUDED (AND NOT) 8131Sstever@eecs.umich.edu------------------------- 9131Sstever@eecs.umich.edu 10131Sstever@eecs.umich.eduSince you're reading this file, presumably you've managed to untar the 11131Sstever@eecs.umich.edudistribution. The archive you've unpacked has three subdirectories: 12131Sstever@eecs.umich.edu - m5: the simulator itself 13131Sstever@eecs.umich.edu - m5-test: regression tests and scripts to run them 14131Sstever@eecs.umich.edu - ext: less-common external packages needed to build m5 151850Sstever@eecs.umich.edu - alpha-system: source for Alpha console and PALcode 16131Sstever@eecs.umich.edu 171028Ssaidi@eecs.umich.eduM5 is a capable, full-system simulator that current supports both Linux 181028Ssaidi@eecs.umich.edu2.4/2.6 and the proprietary Compaq/HP Tru64 version of Unix. We are able 191028Ssaidi@eecs.umich.eduto distribute Linux bootdisks, but we are unable to distribute bootable 201028Ssaidi@eecs.umich.edudisk images of Tru64 Unix. If you have a Tru64 license and are interested 211028Ssaidi@eecs.umich.eduin obtaining disk images, contact us at m5-dev@eecs.umich.edu. 221028Ssaidi@eecs.umich.edu 231028Ssaidi@eecs.umich.eduWHAT'S NEEDED 241028Ssaidi@eecs.umich.edu------------- 251850Sstever@eecs.umich.edu- GCC (version 3.3 or 3.4 recommended) 261850Sstever@eecs.umich.edu- Python 2.3 or newer 271850Sstever@eecs.umich.edu- SCons 0.96.1 (see http://www.scons.org) 281028Ssaidi@eecs.umich.edu 291028Ssaidi@eecs.umich.eduWHAT'S RECOMMENDED 301028Ssaidi@eecs.umich.edu------------------ 311850Sstever@eecs.umich.edu- MySQL (for statistics complex statistics storage/retrieval) 321850Sstever@eecs.umich.edu- Python-MysqlDB (for statistics analysis) 33131Sstever@eecs.umich.edu 34131Sstever@eecs.umich.eduGETTING STARTED 35131Sstever@eecs.umich.edu--------------- 36131Sstever@eecs.umich.edu 371850Sstever@eecs.umich.eduThere are two different build targets and three optimizations levels: 38131Sstever@eecs.umich.edu 391028Ssaidi@eecs.umich.eduTarget: 401028Ssaidi@eecs.umich.edu------- 411704Sstever@eecs.umich.eduALPHA_SE - Syscall emulation simulation 421850Sstever@eecs.umich.eduALPHA_FS - Full system simulation 431028Ssaidi@eecs.umich.edu 441028Ssaidi@eecs.umich.eduOptimization: 451028Ssaidi@eecs.umich.edu------------- 461028Ssaidi@eecs.umich.edum5.debug - debug version of the code with tracing and without optimization 471028Ssaidi@eecs.umich.edum5.opt - optimized version of code with tracing 481028Ssaidi@eecs.umich.edum5.fast - optimized version of the code without tracing and asserts 491028Ssaidi@eecs.umich.edu 501850Sstever@eecs.umich.eduDifferent targets are built in different subdirectories of m5/build. 511850Sstever@eecs.umich.eduBinaries with the same target but different optimization levels share 521850Sstever@eecs.umich.eduthe same directory. Note that you can build m5 in any directory you 531850Sstever@eecs.umich.educhoose by copying the SConstruct file there and creating symbolic links 541850Sstever@eecs.umich.eduto the 'm5' and 'ext' directories. 551850Sstever@eecs.umich.edu 561850Sstever@eecs.umich.eduThe following steps will build and test the simulator. The variable 571850Sstever@eecs.umich.edu"$top" refers to the top directory where you've unpacked the files, 581850Sstever@eecs.umich.edui.e., the one containing the m5, m5-test, and ext directories. If you 591850Sstever@eecs.umich.eduhave a multiprocessor system, you should give scons a "-j N" argument (like 601850Sstever@eecs.umich.edumake) to run N jobs in parallel. 611850Sstever@eecs.umich.edu 621850Sstever@eecs.umich.eduTo build and test the syscall-emulation simulator: 631850Sstever@eecs.umich.edu 641850Sstever@eecs.umich.edu1. In $top/m5/build, run "scons ALPHA_SE/m5.opt". 651850Sstever@eecs.umich.edu2. In $top/m5-test, run "./do-tests.pl -B ALPHA_SE". 661850Sstever@eecs.umich.edu 671850Sstever@eecs.umich.eduThe tests should end with "finished do-tests successfully!" 681850Sstever@eecs.umich.eduNote: if you're running under Cygwin several tests will fail with an 691850Sstever@eecs.umich.edu"EIO icount mismatch". This is due to the lack of fesetround() under 701850Sstever@eecs.umich.eduCygwin causing differences in floating-point rounding. 711850Sstever@eecs.umich.edu 721850Sstever@eecs.umich.eduTo build and test the full-system simualator: 731850Sstever@eecs.umich.edu 741850Sstever@eecs.umich.edu1. Download the full-system binary package from XXX. This package includes 751850Sstever@eecs.umich.edu disk images and kernel, palcode, and console binaries for Linux and FreeBSD. 761850Sstever@eecs.umich.edu2. Edit SYSTEMDIR in $top/m5-test/SysPaths.py to point to your local copy 771850Sstever@eecs.umich.edu of the binaries. 781850Sstever@eecs.umich.edu3. In $top/m5/build, run "scons ALPHA_FS/m5.opt". 791850Sstever@eecs.umich.edu4. In $top/m5-test, run "./do-tests.pl -B ALPHA_FS". 801850Sstever@eecs.umich.edu 81