From Marss86


Note: For QEMU related issues please visit QEMU Tips page.

Under what licence MARSS source code is released?

MARSS is released under GPL-v2.

How much should I know about QEMU to run MARSS?

Basic knowledge of running QEMU is required to run MARSS.

Where are the documents of MARSS?

MARSS currently does not include any detailed documentation. For QEMU, you can look at the QEMU Documentations. For PTLsim based code, you can find detailed documentation here.

Is there any ready disk image I can use with MARSS?

Yes, we are providing a QCOW2 disk image with PARSEC 2.1 benchmarks installed. You can download it from Disk Images page.

What benchmarks runs successfully under MARSS?

You can find a list of benchmarks and core-models that successfully complete the simulation under MARSS here.

How can I transfer benchmarks/programs to disk images?

There are couple of methods to do this.

have root access to any linux machine

  • If your disk image is in 'qcow2' format, then convert it to 'raw' format using qemu-img as shown below:
 $ qemu/qemu-img convert -O raw -f qcow2 qcow2_disk_image_name raw_disk_image_name 
  • Then use 'kpartx' to create loop back devices from your raw disk image partitions. (if you dont have kpartx install it from your linux repo.)
 $ sudo kpartx -a [your_disk_image]
  • it creates loopback devices in /dev/mapper/loop*
  • mount this loop-back device using 'mount'
 $ sudo mount -o loop /dev/mapper/[your_loopback_device] /mnt
  • Now you can access your disk image in /mnt to copy your applications etc.
  • To delete the loopback device
 $ sudo kpartx -d [your_disk_image]

Dont have root access

If you don't have root access to the linux machine, you can use network interface of qemu to transfer files/data. Boot the qemu disk image with 'ne2k' NIC emulation model. Use following runtime option for that:

 $ qemu/qemu-system-x86_64 -net nic,model=ne2k_pci -net user [other default options]

After you boot up, check if you have networking enabled or not using 'ifconfig'. If it shows IP address in Ethernet interface, you can now use 'wget' or 'ssh' to transfer files. [Note: You might have to install them using 'apt-get install wget ssh']

Note: Current disk image kernel has driver for 'ne2k_pci' device so we have to use this device. And 'ping' will not work with this interface.

Who should I contact for questions/comments or report bugs?

You can send email to the MARSS development mailing list.

Is there any bug report tool for MARSS?

Yes, you can report issues/bugs/feature-requests here.

I want to reference Marss in my paper, have you published anything?

Yes luckily we have!! Here is the bibtex:

    booktitle = {{Design Automation Conference 2011 (DAC'11)}},
    author = {Avadh Patel and Furat Afram and Shunfei Chen and Kanad Ghose},
    title = {{MARSSx86: A Full System Simulator for x86 CPUs}},
    year = {{2011}}
Personal tools