README revision 1905
11850Sstever@eecs.umich.eduThis is release m5_1.1 of the M5 simulator.
2131Sstever@eecs.umich.edu
31905Sstever@eecs.umich.eduThis file contains brief "getting started" instructions.  For more
41905Sstever@eecs.umich.eduinformation, see http://m5.eecs.umich.edu.  If you have questions,
51905Sstever@eecs.umich.eduplease 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
101905Sstever@eecs.umich.eduThe basic source release includes these subdirectories:
11131Sstever@eecs.umich.edu - m5: the simulator itself
121905Sstever@eecs.umich.edu - m5-test: regression tests
13131Sstever@eecs.umich.edu - ext: less-common external packages needed to build m5
141850Sstever@eecs.umich.edu - alpha-system: source for Alpha console and PALcode
15131Sstever@eecs.umich.edu
161905Sstever@eecs.umich.eduTo run full-system simulations, you will need compiled console,
171905Sstever@eecs.umich.eduPALcode, and kernel binaries and one or more disk images.  These files
181905Sstever@eecs.umich.eduare collected in a separate archive, m5_system_1.1.tar.bz2.  This file
191905Sstever@eecs.umich.eduis included on the CD release, or you can download it separately from
201905Sstever@eecs.umich.eduSourceforge.
211905Sstever@eecs.umich.edu
221905Sstever@eecs.umich.eduM5 supports Linux 2.4/2.6, FreeBSD, and the proprietary Compaq/HP
231905Sstever@eecs.umich.eduTru64 version of Unix. We are able to distribute Linux and FreeBSD
241905Sstever@eecs.umich.edubootdisks, but we are unable to distribute bootable disk images of
251905Sstever@eecs.umich.eduTru64 Unix. If you have a Tru64 license and are interested in
261905Sstever@eecs.umich.eduobtaining disk images, contact us at m5-dev@eecs.umich.edu.
271905Sstever@eecs.umich.edu
281905Sstever@eecs.umich.eduThe CD release includes a few extra goodies, such as a tar file
291905Sstever@eecs.umich.educontaining doxygen-generated HTML documentation (html-docs.tar.gz), a
301905Sstever@eecs.umich.eduset of Linux source patches (linux_m5-2.6.8.1.diff), and the scons
311905Sstever@eecs.umich.eduprogram needed to build M5.  If you do not have the CD, the same HTML
321905Sstever@eecs.umich.edudocumentation is available online at http://m5.eecs.umich.edu/docs,
331905Sstever@eecs.umich.eduthe Linux source patches are available at
341905Sstever@eecs.umich.eduhttp://m5.eecs.umich.edu/dist/linux_m5-2.6.8.1.diff, and the scons
351905Sstever@eecs.umich.eduprogram is available from http://www.scons.org.
361028Ssaidi@eecs.umich.edu
371028Ssaidi@eecs.umich.eduWHAT'S NEEDED
381028Ssaidi@eecs.umich.edu-------------
391901Sstever@eecs.umich.edu- GCC version 3.3 or newer
401850Sstever@eecs.umich.edu- Python 2.3 or newer
411901Sstever@eecs.umich.edu- SCons 0.96.1 or newer (see http://www.scons.org)
421028Ssaidi@eecs.umich.edu
431028Ssaidi@eecs.umich.eduWHAT'S RECOMMENDED
441028Ssaidi@eecs.umich.edu------------------
451850Sstever@eecs.umich.edu- MySQL (for statistics complex statistics storage/retrieval)
461850Sstever@eecs.umich.edu- Python-MysqlDB (for statistics analysis) 
47131Sstever@eecs.umich.edu
48131Sstever@eecs.umich.eduGETTING STARTED
49131Sstever@eecs.umich.edu---------------
50131Sstever@eecs.umich.edu
511850Sstever@eecs.umich.eduThere are two different build targets and three optimizations levels:
52131Sstever@eecs.umich.edu
531028Ssaidi@eecs.umich.eduTarget:
541028Ssaidi@eecs.umich.edu-------
551704Sstever@eecs.umich.eduALPHA_SE - Syscall emulation simulation
561850Sstever@eecs.umich.eduALPHA_FS - Full system simulation
571028Ssaidi@eecs.umich.edu
581028Ssaidi@eecs.umich.eduOptimization:
591028Ssaidi@eecs.umich.edu-------------
601028Ssaidi@eecs.umich.edum5.debug - debug version of the code with tracing and without optimization
611028Ssaidi@eecs.umich.edum5.opt   - optimized version of code with tracing
621028Ssaidi@eecs.umich.edum5.fast  - optimized version of the code without tracing and asserts
631028Ssaidi@eecs.umich.edu
641850Sstever@eecs.umich.eduDifferent targets are built in different subdirectories of m5/build.
651850Sstever@eecs.umich.eduBinaries with the same target but different optimization levels share
661850Sstever@eecs.umich.eduthe same directory.  Note that you can build m5 in any directory you
671905Sstever@eecs.umich.educhoose;p just configure the target directory using the 'mkbuilddir'
681905Sstever@eecs.umich.eduscript in m5/build.
691850Sstever@eecs.umich.edu
701850Sstever@eecs.umich.eduThe following steps will build and test the simulator.  The variable
711850Sstever@eecs.umich.edu"$top" refers to the top directory where you've unpacked the files,
721850Sstever@eecs.umich.edui.e., the one containing the m5, m5-test, and ext directories.  If you
731850Sstever@eecs.umich.eduhave a multiprocessor system, you should give scons a "-j N" argument (like
741850Sstever@eecs.umich.edumake) to run N jobs in parallel.
751850Sstever@eecs.umich.edu
761850Sstever@eecs.umich.eduTo build and test the syscall-emulation simulator:
771850Sstever@eecs.umich.edu
781869Sstever@eecs.umich.edu	cd $top/m5/build
791869Sstever@eecs.umich.edu	scons ALPHA_SE/test/opt/quick
801850Sstever@eecs.umich.edu
811905Sstever@eecs.umich.eduThis process takes under 10 minutes on a dual 3GHz Xeon system (using
821905Sstever@eecs.umich.eduthe '-j 4' option).
831850Sstever@eecs.umich.edu
841905Sstever@eecs.umich.eduTo build and test the full-system simulator:
851850Sstever@eecs.umich.edu
861905Sstever@eecs.umich.edu1. Unpack the full-system binaries from m5_system_1.1.tar.bz2.  (See
871905Sstever@eecs.umich.edu   above for directions on obtaining this file if you don't have it.)
881905Sstever@eecs.umich.edu   This package includes disk images and kernel, palcode, and console
891905Sstever@eecs.umich.edu   binaries for Linux and FreeBSD.
901905Sstever@eecs.umich.edu2. Edit the SYSTEMDIR search path in $top/m5-test/SysPaths.py to
911905Sstever@eecs.umich.edu   include the path to your local copy of the binaries.
921905Sstever@eecs.umich.edu3. In $top/m5/build, run "scons ALPHA_FS/test/opt/quick".
931905Sstever@eecs.umich.edu
941905Sstever@eecs.umich.eduThis process also takes under 10 minutes on a dual 3GHz Xeon system
951905Sstever@eecs.umich.edu(again using the '-j 4' option).
961905Sstever@eecs.umich.edu
97