Copyright 2010 Avadh Patel (apatel @ cs.binghamton.edu)
Marss-x86 is a simulation tool for x86-64 based Computing Systems. It is based on two independent open-source projects QEMU (http://www.qemu.org/) and PTLsim (http://www.ptlsim.org/). Marss-x86 is developed at Computer Architecture Group of SUNY Binghamton by Avadh Patel and other group Members.
You can find out more details about Marss go to (http://www.marss86.org/).
To compile Marss on your system, you will need following:
If you don't have SCons install, install it using your stanard application installation program like apt-get or yum.
Once you have SCons install go to Marss directory and give following command:
$ scons -Q
Default compile disables debugging and logging functionalities, to compile with logging functions enable give following command:
$ scons -Q debug=1
Default compile process compile simulator for single-core configuration. To compile Marss for Multi-Core SMP configuration give following command:
$ scons -Q c=[num_cores]
To clean your compilation:
$ scons -Q -c
After successfull compilation, to run Marss you have to be in the root of Marss source directory. Then give the following command:
$ qemu/qemu-system-x86_64 -m [memory_size] [path-to-qemu-disk-image]
You can use all the regular QEMU command here, like start VM window in VNC give 'vnc :10' etc. Once the system is booted, you can switch to Monitor mode using 'Ctrl-Alt-2' key and give following command to switch to simulation mode:
(qemu) simconfig -run -stopinsns 100m -stats [stats-file-name]
You can also save simulation configuration parameters into a config file and pass that as argument when you start qemu with '-simconfig' option.
$ qemu/qemu-system-x86_64 -m [memory_size] [path-to-qemu-disk-image] -simconfig [simulator-config-file]
To get the list of available simulation options give following command:
(qemu) simconfig
It will print all the simulation options on STDOUT.
For more information on using and modifying Marss please visit our website : http://www.marss86.org/
Happy Hacking.