No description
Find a file
Nathan Binkert ede89c2d54 libm5: Create a libm5 static library for embedding m5.
This should allow m5 to be more easily embedded into other simulators.
The m5 binary adds a simple main function which then calls into the m5
libarary to start the simulation. In order to make this work
correctly, it was necessary embed python code directly into the
library instead of the zipfile hack.  This is because you can't just
append the zipfile to the end of a library the way you can a binary.
As a result, Python files that are part of the m5 simulator are now
compile, marshalled, compressed, and then inserted into the library's
data section with a certain symbol name.  Additionally, a new Importer
was needed to allow python to get at the embedded python code.

Small additional changes include:
- Get rid of the PYTHONHOME stuff since I don't think anyone ever used
it, and it just confuses things.  Easy enough to add back if I'm wrong.
- Create a few new functions that are key to initializing and running
the simulator: initSignals, initM5Python, m5Main.

The original code for creating libm5 was inspired by a patch Michael
Adler, though the code here was done by me.
2008-08-03 18:19:54 -07:00
build_opts Added ARM_SE as a build option. 2008-02-19 16:42:32 -05:00
configs process: separate stderr from stdout 2008-07-23 14:41:34 -07:00
ext SCons: Make BATCH options global sticky so libelf is built appropriately. 2008-04-07 23:40:24 -04:00
src libm5: Create a libm5 static library for embedding m5. 2008-08-03 18:19:54 -07:00
tests Make default PhysicalMemory latency slightly more realistic. 2008-08-03 18:13:29 -04:00
util m5ops: clean up the m5ops stuff. 2008-07-11 08:52:50 -07:00
.hgignore Add base ARM code to M5 2008-02-05 23:44:13 -05:00
.hgtags Added tag copyright_update for changeset 60a931b03fb1 2008-06-11 09:50:37 -04:00
AUTHORS RELEASE: More changes to text 2007-11-01 21:07:49 -04:00
LICENSE Update copyright dates 2008-02-11 12:35:28 -05:00
README Update make release, README, and RELEASE_NOTES for b5 2008-02-26 17:28:31 -05:00
RELEASE_NOTES Update make release, README, and RELEASE_NOTES for b5 2008-02-26 17:28:31 -05:00
SConstruct libm5: Create a libm5 static library for embedding m5. 2008-08-03 18:19:54 -07:00

This is release 2.0_beta5 of the M5 simulator.

For detailed information about building the simulator and getting
started please refer to http://www.m5sim.org.

Specific pages of interest are:
http://www.m5sim.org/wiki/index.php/Compiling_M5
http://www.m5sim.org/wiki/index.php/Running_M5

Short version:

1. If you don't have SCons version 0.96.91 or newer, get it from
http://wwww.scons.org.

2. If you don't have SWIG version 1.3.28 or newer, get it from
http://wwww.swig.org.

3. In this directory, type 'scons build/ALPHA_SE/tests/debug/quick'.  This
will build the debug version of the m5 binary (m5.debug) for the Alpha
syscall emulation target, and run the quick regression tests on it.

If you have questions, please send mail to m5-users@m5sim.org

WHAT'S INCLUDED (AND NOT)
-------------------------

The basic source release includes these subdirectories:
 - m5: 
   - src: source code of the m5 simulator
   - tests: regression tests
   - ext: less-common external packages needed to build m5

To run full-system simulations, you will need compiled console,
PALcode, and kernel binaries and one or more disk images.  These files
are collected in a separate archive, m5_system.tar.bz2.  This file
can he downloaded separately.

M5 supports Linux 2.4/2.6, FreeBSD, and the proprietary Compaq/HP
Tru64 version of Unix. We are able to distribute Linux and FreeBSD
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-users@m5sim.org