Steve Reinhardt 368882a847 Fix timing modeling of faults: functionally the very next instruction after
a faulting instruction is the fault handler, which appears as an independent
instruction to the timing model.  New code will stall fetch and not fetch the
fault handler as long as there's a faulting instruction in the pipeline (i.e.,
the faulting inst has to commit first).

Also fix Ali's bad-address assertion that doesn't apply to full system.

Added some more debugging support in the process.  Hopefully we'll move to the new
cpu model soon and we won't need it anymore.

arch/alpha/alpha_memory.cc:
    Reorganize lookup() so we can trace the result of the lookup as well.
arch/alpha/isa_traits.hh:
    Add NoopMachInst (so we can insert them in the pipeline on ifetch faults).
base/traceflags.py:
    Replace "Dispatch" flag with "Pipeline" (since I added similar
    DPRINTFs in other pipe stages).
cpu/exetrace.cc:
    Change default for printing mis-speculated instructions to true (since
    that's often what we want, and right now you can't change it from the
    command line...).

--HG--
extra : convert_revision : a29a98a373076d62bbbb1d6f40ba51ecae436dbc
2005-02-25 12:41:08 -05:00
2005-02-14 20:47:05 -05:00
2005-02-21 17:32:57 -05:00
2003-10-15 20:49:12 -04:00
2004-05-04 16:32:43 -04:00
2005-02-14 20:47:05 -05:00

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
No description provided
Readme 272 MiB