No description
Find a file
Steve Reinhardt d60de7122d Add functions to System object to set up function-based events,
including automatically fixing up addresses to deal with
optionally executed Alpha gp update prolog.

SConscript:
    Remove freebsd_events.cc and linux_events.cc.
base/remote_gdb.cc:
cpu/pc_event.cc:
kern/system_events.cc:
kern/system_events.hh:
    PCEvents now schedule themselves in constructor.
cpu/pc_event.hh:
    PCEvents now schedule themselves in the constructor.
    Get rid of constructor versions that don't take an address and
    all the schedule() methods that are now unnecessary.
kern/freebsd/freebsd_system.cc:
kern/freebsd/freebsd_system.hh:
    Use new System methods to schedule function-based events.
    Move FreeBSD-specific function event classes into FreebsdSystem.
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
    Use new System methods to schedule function-based events.
    Move Linux-specific function event classes into LinuxSystem.
kern/tru64/tru64_events.hh:
    PCEvents now schedule themselves in constructor.
    Add DebugPrintfrEvent to encapsulate raw setting as new type
    (to work better with new System function-event method.)
kern/tru64/tru64_system.cc:
    Use new System methods to schedule function-based events.
kern/tru64/tru64_system.hh:
    Add DebugPrintfrEvent to encapsulate raw setting as new type
    (to work better with new System function-event method.)
sim/system.cc:
sim/system.hh:
    Add functions to set up function-based events, including
    automatically fixing up addresses to deal with optionally
    executed Alpha gp update prolog.

--HG--
extra : convert_revision : c2cf09144297b6602afe755a34a0a2227023783f
2005-09-24 14:20:29 -04:00
arch Explicitly handle rounding on FP-to-integer conversions. 2005-09-11 19:29:41 -04:00
base Add functions to System object to set up function-based events, 2005-09-24 14:20:29 -04:00
build Support for compiling and testing on pool via 'qdo' script. 2005-09-22 15:27:42 -04:00
configs various changes to the boot scripts 2005-09-16 22:54:01 -04:00
cpu Add functions to System object to set up function-based events, 2005-09-24 14:20:29 -04:00
dev Tweak the set of coalesced interrupts 2005-09-18 21:22:57 -04:00
docs Many files: 2005-06-05 05:16:00 -04:00
encumbered/cpu/full Many files: 2005-06-05 05:16:00 -04:00
kern Add functions to System object to set up function-based events, 2005-09-24 14:20:29 -04:00
python Fix the EtherDump parameters 2005-09-17 10:47:16 -04:00
sim Add functions to System object to set up function-based events, 2005-09-24 14:20:29 -04:00
test fix tokenize 2005-06-22 09:52:02 -04:00
util Support for compiling and testing on pool via 'qdo' script. 2005-09-22 15:27:42 -04:00
Doxyfile Fix minor doxygen issues. 2005-06-05 08:08:29 -04:00
LICENSE Fix a few broken or inconsistently formatted copyrights 2005-06-05 05:08:37 -04:00
README Regression tests now run under scons! 2005-09-05 16:31:27 -04:00
SConscript Add functions to System object to set up function-based events, 2005-09-24 14:20:29 -04:00

This is release m5_1.1 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
 - alpha-system: source for Alpha console and PALcode

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 (version 3.3 or 3.4 recommended)
- Python 2.3 or newer
- SCons 0.96.1 (see http://www.scons.org)

WHAT'S RECOMMENDED
------------------
- MySQL (for statistics complex statistics storage/retrieval)
- Python-MysqlDB (for statistics analysis) 

GETTING STARTED
---------------

There are two different build targets and three optimizations levels:

Target:
-------
ALPHA_SE - Syscall emulation simulation
ALPHA_FS - 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

Different targets are built in different subdirectories of m5/build.
Binaries with the same target but different optimization levels share
the same directory.  Note that you can build m5 in any directory you
choose by copying the SConstruct file there and creating symbolic links
to the 'm5' and 'ext' directories.

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.  If you
have a multiprocessor system, you should give scons a "-j N" argument (like
make) to run N jobs in parallel.

To build and test the syscall-emulation simulator:

	cd $top/m5/build
	scons ALPHA_SE/test/opt/quick

To build and test the full-system simualator:

1. Download the full-system binary package from
   http://m5.eecs.umich.edu/dist/m5_system_1.1.tar.bz2.  This package includes
   disk images and kernel, palcode, and console binaries for Linux and FreeBSD.
2. Edit SYSTEMDIR in $top/m5-test/SysPaths.py to point to your local copy
   of the binaries.
3. In $top/m5/build, run "scons ALPHA_FS/opt/test/quick".