Go to file
Gabe Black 3f722b991f Syscalls: Make system calls access arguments like a stack, not an array.
When accessing arguments for a syscall, the position of an argument depends on
the policies of the ISA, how much space preceding arguments took up, and the
"alignment" of the index for this particular argument into the number of
possible storate locations. This change adjusts getSyscallArg to take its
index parameter by reference instead of value and to adjust it to point to the
possible location of the next argument on the stack, basically just after the
current one. This way, the rules for the new argument can be applied locally
without knowing about other arguments since those have already been taken into
account implicitly.

All system calls have also been changed to reflect the new interface. In a
number of cases this made the implementation clearer since it encourages
arguments to be collected in one place in order and then used as necessary
later, as opposed to scattering them throughout the function or using them in
place in long expressions. It also discourages using getSyscallArg over and
over to retrieve the same value when a temporary would do the job.
2009-10-30 00:44:55 -07:00
build_opts POWER: Add support for the Power ISA 2009-10-27 09:24:39 -07:00
configs removed libruby file reference from ruby_se.py 2009-10-16 08:15:53 -07:00
ext ply: update PLY to version 3.2 2009-08-16 13:39:58 -07:00
src Syscalls: Make system calls access arguments like a stack, not an array. 2009-10-30 00:44:55 -07:00
tests test: Hello world test program for Power 2009-10-27 09:24:40 -07:00
util regress: add POWER to regressions 2009-10-28 11:56:43 -07:00
.hgignore Add base ARM code to M5 2008-02-05 23:44:13 -05:00
.hgtags Added tag m5_2.0_beta6 for changeset d8b246a665c1 2008-10-09 02:20:16 -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 the README and RELEASE_NOTES files to prepare for beta 6. 2008-10-07 00:53:25 -04:00
RELEASE_NOTES Update the README and RELEASE_NOTES files to prepare for beta 6. 2008-10-07 00:53:25 -04:00
SConstruct arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh 2009-09-23 08:34:21 -07:00

This is release 2.0_beta6 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