New feature: multiple iterations support in run_bench.py

Now you can specify number of iterations to run benchmarks in run_bench.py
script. To specify use '-i' switch as shown below:

    $ util/run_bench.py -i 4 -d output_dir run_config

It will run each benchmark 4 times and it will create 'run_1' to 'run_4'
directories under specified 'output_dir'.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Few fixes in mstats and run_bench scripts

mstats: Fix to get correct filename
run_bench: Check for empty checkpoint name from config file

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Simpoint Support

This patch enables simpoint support to Marss.  Currently this feature only
allows creating checkpoint based on simpoints file.  To use this you'll need
'simpoint' file containing multiple simulation points.  Use '-simpoints
FILENAME' simconfig option to specify simpoints file.  Start Marss in emulation
mode and it will create checkpoints at specified simulation points.

New simconfig options added:
   -simpoint  FILENAME     : Enable simpoints by reading points from file
   -simpoint-interval N    : N instructions in one simpoint interval
   -simpoint-chk-name NAME : Checkpoint name prefix

NOTE: Marss doesn't support running simulations at simpoints, first create
checkpoints and then run simulations as usual.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Add MARSS_SEM_ID env variable to setup SEM_ID in "sync" feature

Signed-off-by: Furat Afram <furat.afram@gmail.com>
Merge pull request #9 from furatafram/features

Features
Added MARSS_SEM_ID support to sync_helper tool

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
New feature 'sum' of nodes in mstats.py script

Use --sum in commandline to sum up all the filtered nodes.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
New Feature: Summarized stats in log file

Now you can dump selected stats into logfile via 'summary' option. Each stats
that is selected to *summarize* will be dump at the end of logfile before
simulation exits.  Format of output is like:

user.base_machine.ooo_0_0.thread0.commit.ipc = 1.221
kernel.base_machine.ooo_0_0.thread0.commit.ipc = 0.245
total.base_machine.ooo_0_0.thread0.commit.ipc = 1.012

By default 'ipc' is enabled to dump summary in the logfile. To enable any stats
dump in a summray call 'stat_obj.enable_summary()' function once.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Small fixes in Coherent cache and Split-phase bus

This fixes allows better handling of requests when cache contentions are high.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Renamed 'Opeartor' Plugin class to 'Process'

Moved 'Summation' plugin to 'Process'

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Simpoint stats merge support in mstats.py

Use simpoints weights file to merge the statistics of different simpoint
checkpoints.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Fix a bug in Simpoint based Checkpoint method

This fixes the issue we have with benchmark crashes after loading various
simpoints.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Bug fix in cpu ticks offset

Fix in setting default cpu ticks offset in simulation mode.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Added output dir name in email message of run_bench

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Consider number of checkpoints in threads of run_bench

This solves the bug when provided disk images are higher then number of
checkpoints and user specify more than 1 iterations then some simulation
instances share the temporary config file and overwrite the log and stats file.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Added new 'sum-all' option to mstats

This option allows you to sum-up all the filter nodes.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Another bug fix related cpu ticks and clocks

This fixes the issues with cpu ticks and clock values after loading a
checkpoint and start running simulations.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
New instructions : insX and outsX

Added support for two new instructions insX - read string from IO port and
outsX - write string to IO port.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Removed compilation warnings from cpu-exec and monitor

Signed-off-by: Avadh Patel <avadh4all@gmail.com>
Added -Wall flag and Code Cleanup

Added -Wall flag to avoid any bugs that can be detected by compiler. The
changes in this commit are related to avoid all the warnings issued by
compiler.

Signed-off-by: Avadh Patel <avadh4all@gmail.com>