summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/SConscript268
-rwxr-xr-xtests/diff-out409
-rw-r--r--tests/halt.sh1
-rw-r--r--tests/linux-boot/ref/alpha/atomic/config.ini523
-rw-r--r--tests/linux-boot/ref/alpha/atomic/config.out515
-rw-r--r--tests/linux-boot/ref/alpha/atomic/console.system.sim_console106
-rw-r--r--tests/linux-boot/ref/alpha/atomic/m5stats.txt166
-rw-r--r--tests/linux-boot/ref/alpha/atomic/stderr4
-rw-r--r--tests/linux-boot/ref/alpha/atomic/stdout12
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/config.ini551
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/config.out542
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/console.system.sim_console111
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/m5stats.txt275
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/stderr6
-rw-r--r--tests/linux-mpboot/ref/alpha/atomic/stdout12
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/config.ini547
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/config.out542
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/console.system.sim_console111
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/m5stats.txt275
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/stderr6
-rw-r--r--tests/linux-mpboot/ref/alpha/timing/stdout12
-rw-r--r--tests/test1/ref/alpha/atomic/config.ini95
-rw-r--r--tests/test1/ref/alpha/atomic/config.out90
-rw-r--r--tests/test1/ref/alpha/atomic/m5stats.txt18
-rw-r--r--tests/test1/ref/alpha/atomic/stderr3
-rw-r--r--tests/test1/ref/alpha/atomic/stdout14
-rw-r--r--tests/test1/ref/alpha/detailed/config.ini285
-rw-r--r--tests/test1/ref/alpha/detailed/config.out279
-rw-r--r--tests/test1/ref/alpha/detailed/m5stats.txt1774
-rw-r--r--tests/test1/ref/alpha/detailed/stderr4
-rw-r--r--tests/test1/ref/alpha/detailed/stdout14
-rw-r--r--tests/test1/ref/alpha/timing/config.ini93
-rw-r--r--tests/test1/ref/alpha/timing/config.out90
-rw-r--r--tests/test1/ref/alpha/timing/m5stats.txt18
-rw-r--r--tests/test1/ref/alpha/timing/stderr3
-rw-r--r--tests/test1/ref/alpha/timing/stdout14
36 files changed, 7788 insertions, 0 deletions
diff --git a/tests/SConscript b/tests/SConscript
new file mode 100644
index 000000000..7ccb77759
--- /dev/null
+++ b/tests/SConscript
@@ -0,0 +1,268 @@
+# -*- mode:python -*-
+
+# Copyright (c) 2004-2006 The Regents of The University of Michigan
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met: redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer;
+# redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution;
+# neither the name of the copyright holders nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Authors: Steve Reinhardt
+# Kevin Lim
+
+import os
+import sys
+import glob
+from SCons.Script.SConscript import SConsEnvironment
+
+Import('env')
+
+env['DIFFOUT'] = File('diff-out')
+
+# Dict that accumulates lists of tests by category (quick, medium, long)
+env.Tests = {}
+
+def contents(node):
+ return file(str(node)).read()
+
+def check_test(target, source, env):
+ """Check output from running test.
+
+ Targets are as follows:
+ target[0] : outdiff
+ target[1] : statsdiff
+ target[2] : status
+
+ """
+ # make sure target files are all gone
+ for t in target:
+ if os.path.exists(t.abspath):
+ Execute(Delete(t.abspath))
+ # Run diff on output & ref directories to find differences.
+ # Exclude m5stats.txt since we will use diff-out on that.
+ Execute(env.subst('diff -ubr ${SOURCES[0].dir} ${SOURCES[1].dir} ' +
+ '-I "^command line:" ' + # for stdout file
+ '-I "^M5 compiled on" ' + # for stderr file
+ '-I "^M5 simulation started" ' + # for stderr file
+ '-I "^Simulation complete at" ' + # for stderr file
+ '-I "^Listening for" ' + # for stderr file
+ '--exclude=m5stats.txt --exclude=SCCS ' +
+ '--exclude=${TARGETS[0].file} ' +
+ '> ${TARGETS[0]}', target=target, source=source), None)
+ print "===== Output differences ====="
+ print contents(target[0])
+ # Run diff-out on m5stats.txt file
+ status = Execute(env.subst('$DIFFOUT $SOURCES > ${TARGETS[1]}',
+ target=target, source=source),
+ strfunction=None)
+ print "===== Statistics differences ====="
+ print contents(target[1])
+ # Generate status file contents based on exit status of diff-out
+ if status == 0:
+ status_str = "passed."
+ else:
+ status_str = "FAILED!"
+ f = file(str(target[2]), 'w')
+ print >>f, env.subst('${TARGETS[2].dir}', target=target, source=source), \
+ status_str
+ f.close()
+ # done
+ return 0
+
+def check_test_string(target, source, env):
+ return env.subst("Comparing outputs in ${TARGETS[0].dir}.",
+ target=target, source=source)
+
+testAction = env.Action(check_test, check_test_string)
+
+def print_test(target, source, env):
+ print '***** ' + contents(source[0])
+ return 0
+
+printAction = env.Action(print_test, strfunction = None)
+
+def update_test(target, source, env):
+ """Update reference test outputs.
+
+ Target is phony. First two sources are the ref & new m5stats.txt
+ files, respectively. We actually copy everything in the
+ respective directories except the status & diff output files.
+
+ """
+ dest_dir = str(source[0].get_dir())
+ src_dir = str(source[1].get_dir())
+ dest_files = os.listdir(dest_dir)
+ src_files = os.listdir(src_dir)
+ # Exclude status & diff outputs
+ for f in ('outdiff', 'statsdiff', 'status'):
+ if f in src_files:
+ src_files.remove(f)
+ for f in src_files:
+ if f in dest_files:
+ print " Replacing file", f
+ dest_files.remove(f)
+ else:
+ print " Creating new file", f
+ copyAction = Copy(os.path.join(dest_dir, f), os.path.join(src_dir, f))
+ copyAction.strfunction = None
+ Execute(copyAction)
+ # warn about any files in dest not overwritten (other than SCCS dir)
+ if 'SCCS' in dest_files:
+ dest_files.remove('SCCS')
+ if dest_files:
+ print "Warning: file(s) in", dest_dir, "not updated:",
+ print ', '.join(dest_files)
+ return 0
+
+def update_test_string(target, source, env):
+ return env.subst("Updating ${SOURCES[0].dir} from ${SOURCES[1].dir}",
+ target=target, source=source)
+
+updateAction = env.Action(update_test, update_test_string)
+
+def test_builder(env, category, cpu_list=[], os_list=[], refdir='ref',
+ timeout=15):
+ """Define a test.
+
+ Args:
+ category -- string describing test category (e.g., 'quick')
+ cpu_list -- list of CPUs to runs this test on (blank means all compiled CPUs)
+ os_list -- list of OSs to run this test on
+ refdir -- subdirectory containing reference output (default 'ref')
+ timeout -- test timeout in minutes (only enforced on pool)
+
+ """
+
+ default_refdir = False
+ if refdir == 'ref':
+ default_refdir = True
+ valid_cpu_list = []
+ if len(cpu_list) == 0:
+ valid_cpu_list = env['CPU_MODELS']
+ else:
+ for i in cpu_list:
+ if i in env['CPU_MODELS']:
+ valid_cpu_list.append(i)
+ cpu_list = valid_cpu_list
+ if env['TEST_CPU_MODELS']:
+ valid_cpu_list = []
+ for i in env['TEST_CPU_MODELS']:
+ if i in cpu_list:
+ valid_cpu_list.append(i)
+ cpu_list = valid_cpu_list
+# Code commented out that shows the general structure if we want to test
+# different OS's as well.
+# if len(os_list) == 0:
+# for test_cpu in cpu_list:
+# build_cpu_test(env, category, '', test_cpu, refdir, timeout)
+# else:
+# for test_os in os_list:
+# for test_cpu in cpu_list:
+# build_cpu_test(env, category, test_os, test_cpu, refdir,
+# timeout)
+ # Loop through CPU models and generate proper options, ref directories
+ for cpu in cpu_list:
+ test_os = ''
+ if cpu == "AtomicSimpleCPU":
+ cpu_option = ('','atomic/')
+ elif cpu == "TimingSimpleCPU":
+ cpu_option = ('--timing','timing/')
+ elif cpu == "O3CPU":
+ cpu_option = ('--detailed','detailed/')
+ else:
+ raise TypeError, "Unknown CPU model specified"
+
+ if default_refdir:
+ # Reference stats located in ref/arch/os/cpu or ref/arch/cpu
+ # if no OS specified
+ test_refdir = os.path.join(refdir, env['TARGET_ISA'])
+ if test_os != '':
+ test_refdir = os.path.join(test_refdir, test_os)
+ cpu_refdir = os.path.join(test_refdir, cpu_option[1])
+
+ ref_stats = os.path.join(cpu_refdir, 'm5stats.txt')
+
+ # base command for running test
+ base_cmd = '${SOURCES[0]} -d $TARGET.dir ${SOURCES[1]}'
+ base_cmd = base_cmd + ' ' + cpu_option[0]
+ # stdout and stderr files
+ cmd_stdout = '${TARGETS[0]}'
+ cmd_stderr = '${TARGETS[1]}'
+
+ stdout_string = cpu_option[1] + 'stdout'
+ stderr_string = cpu_option[1] + 'stderr'
+ m5stats_string = cpu_option[1] + 'm5stats.txt'
+ outdiff_string = cpu_option[1] + 'outdiff'
+ statsdiff_string = cpu_option[1] + 'statsdiff'
+ status_string = cpu_option[1] + 'status'
+
+ # Prefix test run with batch job submission command if appropriate.
+ # Output redirection is also different for batch runs.
+ # Batch command also supports timeout arg (in seconds, not minutes).
+ if env['BATCH']:
+ cmd = [env['BATCH_CMD'], '-t', str(timeout * 60),
+ '-o', cmd_stdout, '-e', cmd_stderr, base_cmd]
+ else:
+ cmd = [base_cmd, '>', cmd_stdout, '2>', cmd_stderr]
+
+ env.Command([stdout_string, stderr_string, m5stats_string],
+ [env.M5Binary, 'run.py'], ' '.join(cmd))
+
+ # order of targets is important... see check_test
+ env.Command([outdiff_string, statsdiff_string, status_string],
+ [ref_stats, m5stats_string],
+ testAction)
+
+ # phony target to echo status
+ if env['update_ref']:
+ p = env.Command(cpu_option[1] + '_update',
+ [ref_stats, m5stats_string, status_string],
+ updateAction)
+ else:
+ p = env.Command(cpu_option[1] + '_print', [status_string],
+ printAction)
+ env.AlwaysBuild(p)
+
+ env.Tests.setdefault(category, [])
+ env.Tests[category] += p
+
+# Make test_builder a "wrapper" function. See SCons wiki page at
+# http://www.scons.org/cgi-bin/wiki/WrapperFunctions.
+SConsEnvironment.Test = test_builder
+
+cwd = os.getcwd()
+os.chdir(str(Dir('.').srcdir))
+scripts = glob.glob('*/SConscript')
+os.chdir(cwd)
+
+for s in scripts:
+ SConscript(s, exports = 'env', duplicate = False)
+
+# Set up phony commands for various test categories
+allTests = []
+for (key, val) in env.Tests.iteritems():
+ env.Command(key, val, env.NoAction)
+ allTests += val
+
+# The 'all' target is redundant since just specifying the test
+# directory name (e.g., ALPHA_SE/test/opt) has the same effect.
+env.Command('all', allTests, env.NoAction)
diff --git a/tests/diff-out b/tests/diff-out
new file mode 100755
index 000000000..5ebe97dd7
--- /dev/null
+++ b/tests/diff-out
@@ -0,0 +1,409 @@
+#!/usr/bin/perl
+# Copyright (c) 2001-2005 The Regents of The University of Michigan
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met: redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer;
+# redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution;
+# neither the name of the copyright holders nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Authors: Steve Reinhardt
+
+#
+# This script diffs two SimpleScalar statistics output files.
+#
+
+use Getopt::Std;
+
+#
+# -t thresh sets threshold for ignoring differences (in %)
+# -p sorts differences by % chg (default is alphabetic)
+# -f ignores fetch-loss statistics
+# -d ignores all distributions
+#
+
+getopts('dfn:pt:h');
+
+if ($#ARGV < 1)
+{
+ print "\nError: need two file arguments (<reference> <new>).\n";
+ print " Options: -d = Ignore distributions\n";
+ print " -f = Ignore fetch-loss stats\n";
+ print " -p = Sort errors by percentage\n";
+ print " -h = Diff header info separately from stats\n";
+ print " -n <num> = Print top <num> errors (default 20)\n";
+ print " -t <num> = Error threshold in percent (default 1)\n\n";
+ die -1;
+}
+
+open(REF, "<$ARGV[0]") or die "Error: can't open $ARGV[0].\n";
+open(NEW, "<$ARGV[1]") or die "Error: can't open $ARGV[1].\n";
+
+
+#
+# Things that really should be adjustable via the command line
+#
+
+# Ignorable error (in percent)
+$err_thresh = ($opt_t) ? $opt_t : 0;
+
+# Number of stats to print before omitting
+$omit_count = ($opt_n) ? $opt_n : 20;
+
+
+#
+# First copy everything up to the simulation statistics to a pair of
+# temporary files, stripping out date-related items, and do a plain
+# diff. Any differences in the arguments are not necessarily an issue;
+# any differences in the program output should be caught by the EIO
+# mechanism if an EIO file is used.
+#
+
+# copy_header takes input filehandle and output filename
+
+sub copy_header
+{
+ my ($inhandle, $outname) = @_;
+
+ open(OUTPUT, ">$outname") or die "Error: can't open $outname.\n";
+
+ while (<$inhandle>)
+ {
+ # strip out lines that can vary
+ next if /^(command line:|M5 compiled on |M5 simulation started |M5 executing on )/;
+ last if /Begin Simulation Statistics/;
+ print OUTPUT;
+ }
+ close OUTPUT;
+}
+
+if ($opt_h) {
+
+ # Diff header separately from stats
+
+ $refheader = "/tmp/smt-test.refheader.$$";
+ $newheader = "/tmp/smt-test.newheader.$$";
+
+ copy_header(\*REF, $refheader);
+ copy_header(\*NEW, $newheader);
+
+ print "\n===== Header and program output differences =====\n\n";
+
+ print `diff $refheader $newheader`;
+
+ print "\n===== Statistics differences =====\n\n";
+}
+
+#
+# Now parse statistics
+#
+
+#
+# This function takes an open filehandle and returns a reference to
+# a hash containing all the statistics variables and their values.
+#
+sub parse_file
+{
+ $stathandle = shift;
+
+ $in_dist = undef;
+ $hashref = { }; # initialize hash for values
+
+ while (<$stathandle>)
+ {
+ next if /^\s*$/; # skip blank lines
+ next if /^\*\*Ignore/; # temporary, to make totaling scripts easy for ISCA 03
+ last if /End Simulation Statistics/;
+
+ s/ *#.*//; # strip comments
+
+ if (/^Memory usage: (\d+) KBytes/) {
+ $stat = 'memory usage';
+ $value = $1;
+ }
+ elsif ($in_dist) {
+ if ($in_dist =~ /^fetch_loss_counters/) {
+ if (/^fetch_loss_counters_\d+\.end/) {
+ # end line of distribution: clear $in_dist flag
+ $in_dist = undef;
+ next;
+ }
+ else {
+ next if $opt_f;
+
+ ($stat, $value) = /^(\S+)\s+(.*)/;
+ }
+ }
+ else {
+ if (/(.*)\.end_dist/) {
+ # end line of distribution: clear $in_dist flag
+ $in_dist = undef;
+ next;
+ }
+ if ($opt_d) {
+ next; # bail out if we are ignoring dists...
+ }
+ elsif (/(.*)\.(min|max)_value/) {
+ # treat these like normal stats
+ ($stat, $value) = /^(\S+)\s+(.*)/;
+ }
+ else {
+ # this is ugly because labels in the distribution
+ # buckets don't start in column 0 and may include
+ # embedded spaces
+ ($stat, $value) =
+ /^\s*(\S+(?:.*\S)?)\s+(\d+)\s+\d+\.\d+%/;
+ $stat = $in_dist . '::' . $stat;
+ }
+ }
+ }
+ else {
+ if (/(.*)\.start_dist/) {
+ # start line of distribution: set $in_dist flag
+ # and save distribution name for future reference
+ $in_dist = $1;
+ $stat = $1;
+ $value = 0;
+ }
+ elsif (/^(fetch_loss_counters_\d+)\.start/) {
+ # treat fetch loss counters like distribution, sort of
+ $in_dist = $1;
+ $stat = $1;
+ $value = 0;
+ }
+ else {
+ ($stat, $value) = /^(\S+)\s+(.*)/;
+ }
+ }
+
+ $$hashref{$stat} = $value;
+ }
+
+ close($stathandle);
+ return $hashref;
+}
+
+
+#
+# pct_diff($old, $new) returns percent difference from $old to $new.
+#
+sub pct_diff
+{
+ my ($old, $new) = @_;
+ return ($old == 0) ? (($new == 0) ? 0 : 9999) : 100 * ($new - $old) / $old;
+}
+
+
+#
+# Statistics to ignore: these relate to simulator performance, not
+# correctness, so don't fail on changes here.
+#
+%ignore = (
+ 'host_seconds' => 1,
+ 'host_tick_rate' => 1,
+ 'host_inst_rate' => 1,
+ 'host_mem_usage' => 1
+);
+
+#
+# List of key statistics (always displayed)
+# ==> list stats here WITHOUT trailing thread ID
+#
+@key_stat_list = (
+ 'COM:IPC',
+ 'ISSUE:MSIPC',
+ 'COM:count',
+ 'host_inst_rate',
+ 'sim_insts',
+ 'sim_ticks',
+ 'host_mem_usage'
+);
+
+$key_stat_pattern = join('|', @key_stat_list);
+
+# initialize first statistics from each file
+
+$max_err_mag = 0;
+
+$refhash = parse_file(\*REF);
+$newhash = parse_file(\*NEW);
+
+# The string sim-smt prints on a divide by zero
+$divbyzero = '<err: divide by zero>';
+
+foreach $stat (sort keys %$refhash)
+{
+ $refvalue = $$refhash{$stat};
+ $newvalue = $$newhash{$stat};
+
+ if (!defined($newvalue)) {
+ # stat missing from new file
+ push @missing_stats, $stat;
+ next;
+ }
+
+ if ($stat =~ /($key_stat_pattern)/o) {
+ # key statistics: always record & display changes in these
+ push @key_stats, [$stat, $refvalue, $newvalue];
+ }
+
+ if ($ignore{$stat} or $refvalue eq $newvalue) {
+ # stat is in "ignore" list, or hasn't changed
+ }
+ else {
+ if ($refvalue eq $divbyzero || $newvalue eq $divbyzero) {
+ # one or the other was a divide by zero:
+ # no point in trying to quantify error
+ print "$stat: $refvalue --> $newvalue\n";
+ }
+ else {
+ $reldiff = pct_diff($refvalue, $newvalue);
+ $diffmag = abs($reldiff);
+
+ if ($diffmag > $err_thresh) {
+ push @errs,
+ [$stat, $refvalue, $newvalue, $reldiff];
+ }
+
+ if ($diffmag > $max_err_mag) {
+ $max_err_mag = $diffmag;
+ }
+ }
+ }
+
+ # remove from new hash so we can detect added stats
+ delete $$newhash{$stat};
+}
+
+
+#
+# All done. Print comparison summary.
+#
+
+printf("Maximum error magnitude: %+f%%\n\n", $max_err_mag);
+
+printf(" %-30s %10s %10s %10s %7s\n", ' ', 'Reference', 'New Value', 'Abs Diff', 'Pct Chg');
+
+printf("Key statistics:\n\n");
+
+foreach $key_stat (@key_stats)
+{
+ ($statname, $refvalue, $newvalue, $reldiff) = @$key_stat;
+
+ # deduce format from reference value
+ $pointpos = rindex($refvalue, '.');
+ $digits = ($pointpos < 0) ? 0 :(length($refvalue) - $pointpos - 1);
+ $fmt = "%10.${digits}f";
+
+ # print differing values with absolute and relative error
+ printf(" %-30s $fmt $fmt $fmt %+7.2f%%\n",
+ $statname, $refvalue, $newvalue,
+ $newvalue - $refvalue, pct_diff($refvalue, $newvalue));
+}
+
+printf("\nLargest $omit_count relative errors (> %d%%):\n\n", $err_thresh);
+
+$num_errs = 0;
+
+if ($opt_p)
+{
+ # sort differences by percent change
+ @errs = sort { abs($$b[3]) <=> abs($$a[3]) } @errs;
+}
+
+foreach $err (@errs)
+{
+ ($statname, $refvalue, $newvalue, $reldiff) = @$err;
+
+ # deduce format from reference value
+ $pointpos1 = rindex($refvalue, '.');
+ $digits1 = ($pointpos1 < 0) ? 0 :(length($refvalue) - $pointpos1 - 1);
+ $pointpos2 = rindex($newvalue, '.');
+ $digits2 = ($pointpos2 < 0) ? 0 :(length($newvalue) - $pointpos2 - 1);
+ $digits = ($digits1 > $digits2) ? $digits1 : $digits2;
+ $fmt = "%10.${digits}f";
+
+ # print differing values with absolute and relative error
+ printf(" %-30s $fmt $fmt $fmt %+7.2f%%\n",
+ $statname, $refvalue, $newvalue, $newvalue - $refvalue, $reldiff);
+
+ # only print top N errors
+ if (++$num_errs >= $omit_count)
+ {
+ print "[... additional errors omitted ...]\n";
+ last;
+ }
+}
+
+#
+# Report missing stats, but first filter out distribution buckets:
+# these are mostly noise
+
+@missing_stats = grep { !/::(\d+|overflows)?$/ } @missing_stats;
+
+# get count
+$missing_stats = scalar(@missing_stats);
+
+if ($missing_stats)
+{
+ print "\nMissing $missing_stats reference statistics:\n\n";
+ foreach $stat (@missing_stats)
+ {
+# print "\t$stat\n";
+ printf " %-50s ", $stat;
+ print "$$refhash{$stat}\n";
+ }
+}
+
+#
+# Any stats left in newhash are added since the reference file
+#
+
+@added_stats = keys %$newhash;
+
+# first filter out distribution buckets: mostly noise
+
+@added_stats = grep { !/::(\d+|overflows)?$/ } @added_stats;
+
+# get count
+$added_stats = scalar(@added_stats);
+
+if ($added_stats)
+{
+ print "\nFound $added_stats new statistics:\n\n";
+ foreach $stat (sort @added_stats)
+ {
+# print "\t$stat\n";
+ printf " %-50s ", $stat;
+ print "$$newhash{$stat}\n";
+ }
+}
+
+cleanup();
+# Exit code is 0 if no stats error, 1 otherwise
+$status = ($max_err_mag == 0.0) ? 0 : 1;
+exit $status;
+
+sub cleanup
+{
+ unlink($refheader) if ($refheader);
+ unlink($newheader) if ($newheader);
+}
diff --git a/tests/halt.sh b/tests/halt.sh
new file mode 100644
index 000000000..b1332ebab
--- /dev/null
+++ b/tests/halt.sh
@@ -0,0 +1 @@
+m5 exit
diff --git a/tests/linux-boot/ref/alpha/atomic/config.ini b/tests/linux-boot/ref/alpha/atomic/config.ini
new file mode 100644
index 000000000..3da9202dd
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/config.ini
@@ -0,0 +1,523 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=2000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=LinuxAlphaSystem
+children=bridge cpu disk0 disk2 intrctrl iobus membus physmem sim_console simple_disk tsunami
+boot_cpu_frequency=1
+boot_osflags=root=/dev/hda1 console=ttyS0
+console=/dist/m5/system/binaries/console
+init_param=0
+kernel=/dist/m5/system/binaries/vmlinux
+mem_mode=atomic
+pal=/dist/m5/system/binaries/ts_osfpal
+physmem=system.physmem
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+system_rev=1024
+system_type=34
+
+[system.bridge]
+type=Bridge
+delay=0
+queue_size_a=16
+queue_size_b=16
+write_ack=false
+
+[system.cpu]
+type=AtomicSimpleCPU
+children=dtb itb
+clock=1
+cpu_id=-1
+defer_registration=false
+dtb=system.cpu.dtb
+function_trace=false
+function_trace_start=0
+itb=system.cpu.itb
+max_insts_all_threads=0
+max_insts_any_thread=0
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.membus
+profile=0
+simulate_stalls=false
+system=system
+width=1
+
+[system.cpu.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu.itb]
+type=AlphaITB
+size=48
+
+[system.disk0]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk0.image
+
+[system.disk0.image]
+type=CowDiskImage
+children=child
+child=system.disk0.image.child
+read_only=false
+table_size=65536
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk2]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk2.image
+
+[system.disk2.image]
+type=CowDiskImage
+children=child
+child=system.disk2.image.child
+read_only=false
+table_size=65536
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+range=0:134217727
+
+[system.sim_console]
+type=SimConsole
+children=listener
+append_name=true
+intr_control=system.intrctrl
+listener=system.sim_console.listener
+number=0
+output=console
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.simple_disk]
+type=SimpleDisk
+children=disk
+disk=system.simple_disk.disk
+system=system
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.tsunami]
+type=Tsunami
+children=cchip console etherint ethernet fake_OROM fake_ata0 fake_ata1 fake_pnp_addr fake_pnp_read0 fake_pnp_read1 fake_pnp_read2 fake_pnp_read3 fake_pnp_read4 fake_pnp_read5 fake_pnp_read6 fake_pnp_read7 fake_pnp_write fake_ppc fake_sm_chip fake_uart1 fake_uart2 fake_uart3 fake_uart4 fb ide io pchip pciconfig uart
+intrctrl=system.intrctrl
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.console]
+type=AlphaConsole
+cpu=system.cpu
+disk=system.simple_disk
+pio_addr=8804682956800
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.etherint]
+type=NSGigEInt
+device=system.tsunami.ethernet
+peer=Null
+
+[system.tsunami.ethernet]
+type=NSGigE
+children=configdata
+clock=0
+config_latency=40
+configdata=system.tsunami.ethernet.configdata
+dma_data_free=false
+dma_desc_free=false
+dma_no_allocate=true
+dma_read_delay=0
+dma_read_factor=0
+dma_write_delay=0
+dma_write_factor=0
+hardware_address=00:90:00:00:00:01
+intr_delay=20000
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+rss=false
+rx_delay=2000
+rx_fifo_size=524288
+rx_filter=true
+rx_thread=false
+system=system
+tx_delay=2000
+tx_fifo_size=524288
+tx_thread=false
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=256
+BAR1=0
+BAR1Size=4096
+BAR2=0
+BAR2Size=0
+BAR3=0
+BAR3Size=0
+BAR4=0
+BAR4Size=0
+BAR5=0
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=2
+Command=0
+DeviceID=34
+ExpansionROM=0
+HeaderType=0
+InterruptLine=30
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=52
+MinimumGrant=176
+ProgIF=0
+Revision=0
+Status=656
+SubClassCode=0
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=4107
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide]
+type=IdeController
+children=configdata
+config_latency=40
+configdata=system.tsunami.ide.configdata
+disks=system.disk0 system.disk2
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=8
+BAR1=1
+BAR1Size=4
+BAR2=1
+BAR2Size=8
+BAR3=1
+BAR3Size=4
+BAR4=1
+BAR4Size=16
+BAR5=1
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=1
+Command=0
+DeviceID=28945
+ExpansionROM=0
+HeaderType=0
+InterruptLine=31
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=0
+MinimumGrant=0
+ProgIF=133
+Revision=0
+Status=640
+SubClassCode=1
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=32902
+
+[system.tsunami.io]
+type=TsunamiIO
+frequency=1953125
+pio_addr=8804615847936
+pio_latency=2
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.pciconfig]
+type=PciConfigAll
+bus=0
+pio_latency=1
+platform=system.tsunami
+size=16777216
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[trace]
+bufsize=0
+cycle=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/linux-boot/ref/alpha/atomic/config.out b/tests/linux-boot/ref/alpha/atomic/config.out
new file mode 100644
index 000000000..d87648683
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/config.out
@@ -0,0 +1,515 @@
+[root]
+type=Root
+clock=2000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+range=[0,134217727]
+latency=1
+
+[system]
+type=LinuxAlphaSystem
+boot_cpu_frequency=1
+physmem=system.physmem
+mem_mode=atomic
+kernel=/dist/m5/system/binaries/vmlinux
+console=/dist/m5/system/binaries/console
+pal=/dist/m5/system/binaries/ts_osfpal
+boot_osflags=root=/dev/hda1 console=ttyS0
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+init_param=0
+system_type=34
+system_rev=1024
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.bridge]
+type=Bridge
+queue_size_a=16
+queue_size_b=16
+delay=0
+write_ack=false
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk0.image]
+type=CowDiskImage
+child=system.disk0.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk0]
+type=IdeDisk
+image=system.disk0.image
+driveID=master
+delay=2000
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.disk2.image]
+type=CowDiskImage
+child=system.disk2.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk2]
+type=IdeDisk
+image=system.disk2.image
+driveID=master
+delay=2000
+
+[system.cpu.itb]
+type=AlphaITB
+size=48
+
+[system.cpu.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu]
+type=AtomicSimpleCPU
+max_insts_any_thread=0
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.membus
+system=system
+itb=system.cpu.itb
+dtb=system.cpu.dtb
+cpu_id=-1
+profile=0
+clock=1
+defer_registration=false
+width=1
+function_trace=false
+function_trace_start=0
+simulate_stalls=false
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.simple_disk]
+type=SimpleDisk
+system=system
+disk=system.simple_disk.disk
+
+[system.tsunami]
+type=Tsunami
+system=system
+intrctrl=system.intrctrl
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.io]
+type=TsunamiIO
+pio_addr=8804615847936
+pio_latency=2
+frequency=1953125
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[]
+type=PciConfigAll
+pio_latency=1
+bus=0
+size=16777216
+platform=system.tsunami
+system=system
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.sim_console]
+type=SimConsole
+listener=system.sim_console.listener
+intr_control=system.intrctrl
+output=console
+append_name=true
+number=0
+
+[system.tsunami.console]
+type=AlphaConsole
+sim_console=system.sim_console
+disk=system.simple_disk
+pio_addr=8804682956800
+system=system
+cpu=system.cpu
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+system=system
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+VendorID=4107
+DeviceID=34
+Command=0
+Status=656
+Revision=0
+ProgIF=0
+SubClassCode=0
+ClassCode=2
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=0
+BAR2=0
+BAR3=0
+BAR4=0
+BAR5=0
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=30
+InterruptPin=1
+MinimumGrant=176
+MaximumLatency=52
+BAR0Size=256
+BAR1Size=4096
+BAR2Size=0
+BAR3Size=0
+BAR4Size=0
+BAR5Size=0
+
+[system.tsunami.ethernet]
+type=NSGigE
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ethernet.configdata
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+config_latency=40
+clock=0
+dma_desc_free=false
+dma_data_free=false
+dma_read_delay=0
+dma_write_delay=0
+dma_read_factor=0
+dma_write_factor=0
+dma_no_allocate=true
+intr_delay=20000
+rx_delay=2000
+tx_delay=2000
+rx_fifo_size=524288
+tx_fifo_size=524288
+rx_filter=true
+hardware_address=00:90:00:00:00:01
+rx_thread=false
+tx_thread=false
+rss=false
+
+[system.tsunami.etherint]
+type=NSGigEInt
+peer=null
+device=system.tsunami.ethernet
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+VendorID=32902
+DeviceID=28945
+Command=0
+Status=640
+Revision=0
+ProgIF=133
+SubClassCode=1
+ClassCode=1
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=1
+BAR2=1
+BAR3=1
+BAR4=1
+BAR5=1
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=31
+InterruptPin=1
+MinimumGrant=0
+MaximumLatency=0
+BAR0Size=8
+BAR1Size=4
+BAR2Size=8
+BAR3Size=4
+BAR4Size=16
+BAR5Size=0
+
+[system.tsunami.ide]
+type=IdeController
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ide.configdata
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+config_latency=40
+disks=system.disk0 system.disk2
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[trace]
+flags=
+start=0
+cycle=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
+[pseudo_inst]
+quiesce=true
+statistics=true
+checkpoint=true
+
diff --git a/tests/linux-boot/ref/alpha/atomic/console.system.sim_console b/tests/linux-boot/ref/alpha/atomic/console.system.sim_console
new file mode 100644
index 000000000..ea7a20777
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/console.system.sim_console
@@ -0,0 +1,106 @@
+M5 console: m5AlphaAccess @ 0xFFFFFD0200000000
+ Got Configuration 623
+ memsize 8000000 pages 4000
+ First free page after ROM 0xFFFFFC0000018000
+ HWRPB 0xFFFFFC0000018000 l1pt 0xFFFFFC0000040000 l2pt 0xFFFFFC0000042000 l3pt_rpb 0xFFFFFC0000044000 l3pt_kernel 0xFFFFFC0000048000 l2reserv 0xFFFFFC0000046000
+ kstart = 0xFFFFFC0000310000, kend = 0xFFFFFC00008064E8, kentry = 0xFFFFFC0000310000, numCPUs = 0x1
+ CPU Clock at 2000 MHz IntrClockFrequency=1024
+ Booting with 1 processor(s)
+ KSP: 0x20043FE8 PTBR 0x20
+ Console Callback at 0x0, fixup at 0x0, crb offset: 0x510
+ Memory cluster 0 [0 - 392]
+ Memory cluster 1 [392 - 15992]
+ Initalizing mdt_bitmap addr 0xFFFFFC0000038000 mem_pages 4000
+ ConsoleDispatch at virt 10000658 phys 18658 val FFFFFC00000100A8
+ unix_boot_mem ends at FFFFFC0000076000
+ k_argc = 0
+ jumping to kernel at 0xFFFFFC0000310000, (PCBB 0xFFFFFC0000018180 pfn 1028)
+ CallbackFixup 0 18000, t7=FFFFFC0000700000
+ Linux version 2.6.8.1 (binkertn@ziff.eecs.umich.edu) (gcc version 3.4.3) #36 SMP Mon May 2 19:50:53 EDT 2005
+ Booting GENERIC on Tsunami variation DP264 using machine vector DP264 from SRM
+ Major Options: SMP LEGACY_START VERBOSE_MCHECK
+ Command line: root=/dev/hda1 console=ttyS0
+ memcluster 0, usage 1, start 0, end 392
+ memcluster 1, usage 0, start 392, end 16384
+ freeing pages 1030:16384
+ reserving pages 1030:1031
+ SMP: 1 CPUs probed -- cpu_present_mask = 1
+ Built 1 zonelists
+ Kernel command line: root=/dev/hda1 console=ttyS0
+ PID hash table entries: 1024 (order 10: 16384 bytes)
+ Using epoch = 1900
+ Console: colour dummy device 80x25
+ Dentry cache hash table entries: 32768 (order: 5, 262144 bytes)
+ Inode-cache hash table entries: 16384 (order: 4, 131072 bytes)
+ Memory: 119072k/131072k available (3058k kernel code, 8680k reserved, 695k data, 480k init)
+ Mount-cache hash table entries: 512 (order: 0, 8192 bytes)
+ per-CPU timeslice cutoff: 374.49 usecs.
+ task migration cache decay timeout: 0 msecs.
+ SMP mode deactivated.
+ Brought up 1 CPUs
+ SMP: Total of 1 processors activated (4002.20 BogoMIPS).
+ NET: Registered protocol family 16
+ EISA bus registered
+ pci: enabling save/restore of SRM state
+ SCSI subsystem initialized
+ srm_env: version 0.0.5 loaded successfully
+ Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
+ Initializing Cryptographic API
+ rtc: Standard PC (1900) epoch (1900) detected
+ Real Time Clock Driver v1.12
+ Serial: 8250/16550 driver $Revision: 1.90 $ 5 ports, IRQ sharing disabled
+ ttyS0 at I/O 0x3f8 (irq = 4) is a 8250
+ loop: loaded (max 8 devices)
+ Using anticipatory io scheduler
+ nbd: registered device at major 43
+ sinic.c: M5 Simple Integrated NIC driver
+ ns83820.c: National Semiconductor DP83820 10/100/1000 driver.
+ eth0: ns83820.c: 0x22c: 00000000, subsystem: 0000:0000
+ eth0: enabling optical transceiver
+ eth0: ns83820 v0.20: DP83820 v1.3: 00:90:00:00:00:01 io=0x09000000 irq=30 f=sg
+ Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
+ ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
+ PIIX4: IDE controller at PCI slot 0000:00:00.0
+ PIIX4: chipset revision 0
+ PIIX4: 100% native mode on irq 31
+ ide0: BM-DMA at 0x8400-0x8407, BIOS settings: hda:DMA, hdb:DMA
+ ide1: BM-DMA at 0x8408-0x840f, BIOS settings: hdc:DMA, hdd:DMA
+ hda: M5 IDE Disk, ATA DISK drive
+ hdb: M5 IDE Disk, ATA DISK drive
+ ide0 at 0x8410-0x8417,0x8422 on irq 31
+ hda: max request size: 128KiB
+ hda: 163296 sectors (83 MB), CHS=162/16/63, UDMA(33)
+ hda: hda1
+ hdb: max request size: 128KiB
+ hdb: 4177920 sectors (2139 MB), CHS=4144/16/63, UDMA(33)
+ hdb: unknown partition table
+ scsi0 : scsi_m5, version 1.73 [20040518], dev_size_mb=8, opts=0x0
+ Vendor: Linux Model: scsi_m5 Li Rev: 0004
+ Type: Direct-Access ANSI SCSI revision: 03
+ SCSI device sda: 16384 512-byte hdwr sectors (8 MB)
+ SCSI device sda: drive cache: write back
+ sda: unknown partition table
+ Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
+ mice: PS/2 mouse device common for all mice
+ NET: Registered protocol family 2
+ IP: routing cache hash table of 1024 buckets, 16Kbytes
+ TCP: Hash tables configured (established 8192 bind 8192)
+ ip_conntrack version 2.1 (512 buckets, 4096 max) - 440 bytes per conntrack
+ ip_tables: (C) 2000-2002 Netfilter core team
+ arp_tables: (C) 2002 David S. Miller
+ Initializing IPsec netlink socket
+ NET: Registered protocol family 1
+ NET: Registered protocol family 17
+ NET: Registered protocol family 15
+ Bridge firewalling registered
+ 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
+ All bugs added by David S. Miller <davem@redhat.com>
+ VFS: Mounted root (ext2 filesystem) readonly.
+ Freeing unused kernel memory: 480k freed
+ init started: BusyBox v1.00-rc2 (2004.11.18-16:22+0000) multi-call binary
+
+PTXdist-0.7.0 (2004-11-18T11:23:40-0500)
+
+mounting filesystems...
+EXT2-fs warning: checktime reached, running e2fsck is recommended
+ loading script...
diff --git a/tests/linux-boot/ref/alpha/atomic/m5stats.txt b/tests/linux-boot/ref/alpha/atomic/m5stats.txt
new file mode 100644
index 000000000..9939c1755
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/m5stats.txt
@@ -0,0 +1,166 @@
+
+---------- Begin Simulation Statistics ----------
+host_inst_rate 505604 # Simulator instruction rate (inst/s)
+host_mem_usage 195484 # Number of bytes of host memory used
+host_seconds 118.53 # Real time elapsed on the host
+host_tick_rate 29473706 # Simulator tick rate (ticks/s)
+sim_freq 2000000000 # Frequency of simulated ticks
+sim_insts 59929520 # Number of instructions simulated
+sim_seconds 1.746773 # Number of seconds simulated
+sim_ticks 3493545624 # Number of ticks simulated
+system.cpu.dtb.accesses 2354955 # DTB accesses
+system.cpu.dtb.acv 413 # DTB access violations
+system.cpu.dtb.hits 13929995 # DTB hits
+system.cpu.dtb.misses 16187 # DTB misses
+system.cpu.dtb.read_accesses 832415 # DTB read accesses
+system.cpu.dtb.read_acv 242 # DTB read access violations
+system.cpu.dtb.read_hits 7718636 # DTB read hits
+system.cpu.dtb.read_misses 13695 # DTB read misses
+system.cpu.dtb.write_accesses 1522540 # DTB write accesses
+system.cpu.dtb.write_acv 171 # DTB write access violations
+system.cpu.dtb.write_hits 6211359 # DTB write hits
+system.cpu.dtb.write_misses 2492 # DTB write misses
+system.cpu.idle_fraction 0.982844 # Percentage of idle cycles
+system.cpu.itb.accesses 4037380 # ITB accesses
+system.cpu.itb.acv 239 # ITB acv
+system.cpu.itb.hits 4030656 # ITB hits
+system.cpu.itb.misses 6724 # ITB misses
+system.cpu.kern.callpal 184022 # number of callpals executed
+system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
+system.cpu.kern.callpal_wrmces 1 0.00% 0.00% # number of callpals executed
+system.cpu.kern.callpal_wrfen 1 0.00% 0.00% # number of callpals executed
+system.cpu.kern.callpal_wrvptptr 1 0.00% 0.00% # number of callpals executed
+system.cpu.kern.callpal_swpctx 1864 1.01% 1.02% # number of callpals executed
+system.cpu.kern.callpal_tbi 28 0.02% 1.03% # number of callpals executed
+system.cpu.kern.callpal_wrent 7 0.00% 1.03% # number of callpals executed
+system.cpu.kern.callpal_swpipl 172016 93.48% 94.51% # number of callpals executed
+system.cpu.kern.callpal_rdps 4808 2.61% 97.12% # number of callpals executed
+system.cpu.kern.callpal_wrkgp 1 0.00% 97.12% # number of callpals executed
+system.cpu.kern.callpal_wrusp 8 0.00% 97.13% # number of callpals executed
+system.cpu.kern.callpal_rdusp 12 0.01% 97.13% # number of callpals executed
+system.cpu.kern.callpal_whami 2 0.00% 97.14% # number of callpals executed
+system.cpu.kern.callpal_rti 4291 2.33% 99.47% # number of callpals executed
+system.cpu.kern.callpal_callsys 667 0.36% 99.83% # number of callpals executed
+system.cpu.kern.callpal_imb 314 0.17% 100.00% # number of callpals executed
+system.cpu.kern.inst.arm 0 # number of arm instructions executed
+system.cpu.kern.inst.hwrei 209657 # number of hwrei instructions executed
+system.cpu.kern.inst.ivlb 0 # number of ivlb instructions executed
+system.cpu.kern.inst.ivle 0 # number of ivle instructions executed
+system.cpu.kern.inst.quiesce 1868 # number of quiesce instructions executed
+system.cpu.kern.ipl_count 178378 # number of times we switched to this ipl
+system.cpu.kern.ipl_count_0 75463 42.31% 42.31% # number of times we switched to this ipl
+system.cpu.kern.ipl_count_21 286 0.16% 42.47% # number of times we switched to this ipl
+system.cpu.kern.ipl_count_22 5446 3.05% 45.52% # number of times we switched to this ipl
+system.cpu.kern.ipl_count_31 97183 54.48% 100.00% # number of times we switched to this ipl
+system.cpu.kern.ipl_good 160188 # number of times we switched to this ipl from a different ipl
+system.cpu.kern.ipl_good_0 75397 47.07% 47.07% # number of times we switched to this ipl from a different ipl
+system.cpu.kern.ipl_good_21 286 0.18% 47.25% # number of times we switched to this ipl from a different ipl
+system.cpu.kern.ipl_good_22 5446 3.40% 50.65% # number of times we switched to this ipl from a different ipl
+system.cpu.kern.ipl_good_31 79059 49.35% 100.00% # number of times we switched to this ipl from a different ipl
+system.cpu.kern.ipl_ticks 3493545167 # number of cycles we spent at this ipl
+system.cpu.kern.ipl_ticks_0 3471576124 99.37% 99.37% # number of cycles we spent at this ipl
+system.cpu.kern.ipl_ticks_21 45785 0.00% 99.37% # number of cycles we spent at this ipl
+system.cpu.kern.ipl_ticks_22 934362 0.03% 99.40% # number of cycles we spent at this ipl
+system.cpu.kern.ipl_ticks_31 20988896 0.60% 100.00% # number of cycles we spent at this ipl
+system.cpu.kern.ipl_used 0.898026 # fraction of swpipl calls that actually changed the ipl
+system.cpu.kern.ipl_used_0 0.999125 # fraction of swpipl calls that actually changed the ipl
+system.cpu.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu.kern.ipl_used_31 0.813506 # fraction of swpipl calls that actually changed the ipl
+system.cpu.kern.mode_good_kernel 2342
+system.cpu.kern.mode_good_user 2171
+system.cpu.kern.mode_good_idle 171
+system.cpu.kern.mode_switch_kernel 4092 # number of protection mode switches
+system.cpu.kern.mode_switch_user 2171 # number of protection mode switches
+system.cpu.kern.mode_switch_idle 2041 # number of protection mode switches
+system.cpu.kern.mode_switch_good 0.564066 # fraction of useful protection mode switches
+system.cpu.kern.mode_switch_good_kernel 0.572336 # fraction of useful protection mode switches
+system.cpu.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
+system.cpu.kern.mode_switch_good_idle 0.083782 # fraction of useful protection mode switches
+system.cpu.kern.mode_ticks_kernel 33028385 0.95% 0.95% # number of ticks spent at the given mode
+system.cpu.kern.mode_ticks_user 4450361 0.13% 1.07% # number of ticks spent at the given mode
+system.cpu.kern.mode_ticks_idle 3456066419 98.93% 100.00% # number of ticks spent at the given mode
+system.cpu.kern.swap_context 1865 # number of times the context was actually changed
+system.cpu.kern.syscall 475 # number of syscalls executed
+system.cpu.kern.syscall_fork 10 2.11% 2.11% # number of syscalls executed
+system.cpu.kern.syscall_read 33 6.95% 9.05% # number of syscalls executed
+system.cpu.kern.syscall_write 7 1.47% 10.53% # number of syscalls executed
+system.cpu.kern.syscall_close 49 10.32% 20.84% # number of syscalls executed
+system.cpu.kern.syscall_chdir 1 0.21% 21.05% # number of syscalls executed
+system.cpu.kern.syscall_chmod 1 0.21% 21.26% # number of syscalls executed
+system.cpu.kern.syscall_obreak 44 9.26% 30.53% # number of syscalls executed
+system.cpu.kern.syscall_lseek 13 2.74% 33.26% # number of syscalls executed
+system.cpu.kern.syscall_getpid 10 2.11% 35.37% # number of syscalls executed
+system.cpu.kern.syscall_setuid 4 0.84% 36.21% # number of syscalls executed
+system.cpu.kern.syscall_getuid 8 1.68% 37.89% # number of syscalls executed
+system.cpu.kern.syscall_access 4 0.84% 38.74% # number of syscalls executed
+system.cpu.kern.syscall_dup 4 0.84% 39.58% # number of syscalls executed
+system.cpu.kern.syscall_open 68 14.32% 53.89% # number of syscalls executed
+system.cpu.kern.syscall_getgid 8 1.68% 55.58% # number of syscalls executed
+system.cpu.kern.syscall_sigprocmask 14 2.95% 58.53% # number of syscalls executed
+system.cpu.kern.syscall_ioctl 16 3.37% 61.89% # number of syscalls executed
+system.cpu.kern.syscall_readlink 2 0.42% 62.32% # number of syscalls executed
+system.cpu.kern.syscall_execve 8 1.68% 64.00% # number of syscalls executed
+system.cpu.kern.syscall_pre_F64_stat 31 6.53% 70.53% # number of syscalls executed
+system.cpu.kern.syscall_pre_F64_lstat 1 0.21% 70.74% # number of syscalls executed
+system.cpu.kern.syscall_mmap 55 11.58% 82.32% # number of syscalls executed
+system.cpu.kern.syscall_munmap 6 1.26% 83.58% # number of syscalls executed
+system.cpu.kern.syscall_mprotect 14 2.95% 86.53% # number of syscalls executed
+system.cpu.kern.syscall_gethostname 2 0.42% 86.95% # number of syscalls executed
+system.cpu.kern.syscall_dup2 4 0.84% 87.79% # number of syscalls executed
+system.cpu.kern.syscall_pre_F64_fstat 28 5.89% 93.68% # number of syscalls executed
+system.cpu.kern.syscall_fcntl 14 2.95% 96.63% # number of syscalls executed
+system.cpu.kern.syscall_socket 3 0.63% 97.26% # number of syscalls executed
+system.cpu.kern.syscall_connect 3 0.63% 97.89% # number of syscalls executed
+system.cpu.kern.syscall_setgid 4 0.84% 98.74% # number of syscalls executed
+system.cpu.kern.syscall_getrlimit 3 0.63% 99.37% # number of syscalls executed
+system.cpu.kern.syscall_setsid 3 0.63% 100.00% # number of syscalls executed
+system.cpu.not_idle_fraction 0.017156 # Percentage of non-idle cycles
+system.cpu.numCycles 59936483 # number of cpu cycles simulated
+system.cpu.num_insts 59929520 # Number of instructions executed
+system.cpu.num_refs 13982880 # Number of memory references
+system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
+system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
+system.disk0.dma_write_bytes 2521088 # Number of bytes transfered via DMA writes.
+system.disk0.dma_write_full_pages 285 # Number of full page size DMA writes.
+system.disk0.dma_write_txs 375 # Number of DMA write transactions.
+system.disk2.dma_read_bytes 0 # Number of bytes transfered via DMA reads (not PRD).
+system.disk2.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk2.dma_read_txs 0 # Number of DMA read transactions (not PRD).
+system.disk2.dma_write_bytes 8192 # Number of bytes transfered via DMA writes.
+system.disk2.dma_write_full_pages 1 # Number of full page size DMA writes.
+system.disk2.dma_write_txs 1 # Number of DMA write transactions.
+system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedRxIdle <err: div-0> # average number of RxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
+system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
+system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
+system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
+system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
+system.tsunami.ethernet.descDMAReads 0 # Number of descriptors the device read w/ DMA
+system.tsunami.ethernet.descDMAWrites 0 # Number of descriptors the device wrote w/ DMA
+system.tsunami.ethernet.descDmaReadBytes 0 # number of descriptor bytes read w/ DMA
+system.tsunami.ethernet.descDmaWriteBytes 0 # number of descriptor bytes write w/ DMA
+system.tsunami.ethernet.droppedPackets 0 # number of packets dropped
+system.tsunami.ethernet.postedInterrupts 0 # number of posts to CPU
+system.tsunami.ethernet.postedRxDesc 0 # number of RxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedRxIdle 0 # number of rxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedRxOk 0 # number of RxOk interrupts posted to CPU
+system.tsunami.ethernet.postedRxOrn 0 # number of RxOrn posted to CPU
+system.tsunami.ethernet.postedSwi 0 # number of software interrupts posted to CPU
+system.tsunami.ethernet.postedTxDesc 0 # number of TxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedTxIdle 0 # number of TxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedTxOk 0 # number of TxOk interrupts posted to CPU
+system.tsunami.ethernet.totalRxDesc 0 # total number of RxDesc written to ISR
+system.tsunami.ethernet.totalRxIdle 0 # total number of RxIdle written to ISR
+system.tsunami.ethernet.totalRxOk 0 # total number of RxOk written to ISR
+system.tsunami.ethernet.totalRxOrn 0 # total number of RxOrn written to ISR
+system.tsunami.ethernet.totalSwi 0 # total number of Swi written to ISR
+system.tsunami.ethernet.totalTxDesc 0 # total number of TxDesc written to ISR
+system.tsunami.ethernet.totalTxIdle 0 # total number of TxIdle written to ISR
+system.tsunami.ethernet.totalTxOk 0 # total number of TxOk written to ISR
+
+---------- End Simulation Statistics ----------
diff --git a/tests/linux-boot/ref/alpha/atomic/stderr b/tests/linux-boot/ref/alpha/atomic/stderr
new file mode 100644
index 000000000..4741dd710
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/stderr
@@ -0,0 +1,4 @@
+ 0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
+Listening for console connection on port 3457
+0: system.remote_gdb.listener: listening for remote gdb #0 on port 7001
+warn: Entering event queue @ 0. Starting simulation...
diff --git a/tests/linux-boot/ref/alpha/atomic/stdout b/tests/linux-boot/ref/alpha/atomic/stdout
new file mode 100644
index 000000000..81e161af4
--- /dev/null
+++ b/tests/linux-boot/ref/alpha/atomic/stdout
@@ -0,0 +1,12 @@
+M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 16:54:00
+M5 started Thu Jul 27 17:10:13 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/test/opt/linux-boot/atomic tests/linux-boot/run.py
+Exiting @ cycle 3493545624 because m5_exit instruction encountered
diff --git a/tests/linux-mpboot/ref/alpha/atomic/config.ini b/tests/linux-mpboot/ref/alpha/atomic/config.ini
new file mode 100644
index 000000000..77644ba5c
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/config.ini
@@ -0,0 +1,551 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=2000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=LinuxAlphaSystem
+children=bridge cpu0 cpu1 disk0 disk2 intrctrl iobus membus physmem sim_console simple_disk tsunami
+boot_cpu_frequency=1
+boot_osflags=root=/dev/hda1 console=ttyS0
+console=/dist/m5/system/binaries/console
+init_param=0
+kernel=/dist/m5/system/binaries/vmlinux
+mem_mode=atomic
+pal=/dist/m5/system/binaries/ts_osfpal
+physmem=system.physmem
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+system_rev=1024
+system_type=34
+
+[system.bridge]
+type=Bridge
+delay=0
+queue_size_a=16
+queue_size_b=16
+write_ack=false
+
+[system.cpu0]
+type=AtomicSimpleCPU
+children=dtb itb
+clock=1
+cpu_id=-1
+defer_registration=false
+dtb=system.cpu0.dtb
+function_trace=false
+function_trace_start=0
+itb=system.cpu0.itb
+max_insts_all_threads=0
+max_insts_any_thread=0
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.membus
+profile=0
+simulate_stalls=false
+system=system
+width=1
+
+[system.cpu0.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu0.itb]
+type=AlphaITB
+size=48
+
+[system.cpu1]
+type=AtomicSimpleCPU
+children=dtb itb
+clock=1
+cpu_id=-1
+defer_registration=false
+dtb=system.cpu1.dtb
+function_trace=false
+function_trace_start=0
+itb=system.cpu1.itb
+max_insts_all_threads=0
+max_insts_any_thread=0
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.membus
+profile=0
+simulate_stalls=false
+system=system
+width=1
+
+[system.cpu1.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu1.itb]
+type=AlphaITB
+size=48
+
+[system.disk0]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk0.image
+
+[system.disk0.image]
+type=CowDiskImage
+children=child
+child=system.disk0.image.child
+read_only=false
+table_size=65536
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk2]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk2.image
+
+[system.disk2.image]
+type=CowDiskImage
+children=child
+child=system.disk2.image.child
+read_only=false
+table_size=65536
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu0
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+range=0:134217727
+
+[system.sim_console]
+type=SimConsole
+children=listener
+append_name=true
+intr_control=system.intrctrl
+listener=system.sim_console.listener
+number=0
+output=console
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.simple_disk]
+type=SimpleDisk
+children=disk
+disk=system.simple_disk.disk
+system=system
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.tsunami]
+type=Tsunami
+children=cchip console etherint ethernet fake_OROM fake_ata0 fake_ata1 fake_pnp_addr fake_pnp_read0 fake_pnp_read1 fake_pnp_read2 fake_pnp_read3 fake_pnp_read4 fake_pnp_read5 fake_pnp_read6 fake_pnp_read7 fake_pnp_write fake_ppc fake_sm_chip fake_uart1 fake_uart2 fake_uart3 fake_uart4 fb ide io pchip pciconfig uart
+intrctrl=system.intrctrl
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.console]
+type=AlphaConsole
+cpu=system.cpu0
+disk=system.simple_disk
+pio_addr=8804682956800
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.etherint]
+type=NSGigEInt
+device=system.tsunami.ethernet
+peer=Null
+
+[system.tsunami.ethernet]
+type=NSGigE
+children=configdata
+clock=0
+config_latency=40
+configdata=system.tsunami.ethernet.configdata
+dma_data_free=false
+dma_desc_free=false
+dma_no_allocate=true
+dma_read_delay=0
+dma_read_factor=0
+dma_write_delay=0
+dma_write_factor=0
+hardware_address=00:90:00:00:00:01
+intr_delay=20000
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+rss=false
+rx_delay=2000
+rx_fifo_size=524288
+rx_filter=true
+rx_thread=false
+system=system
+tx_delay=2000
+tx_fifo_size=524288
+tx_thread=false
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=256
+BAR1=0
+BAR1Size=4096
+BAR2=0
+BAR2Size=0
+BAR3=0
+BAR3Size=0
+BAR4=0
+BAR4Size=0
+BAR5=0
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=2
+Command=0
+DeviceID=34
+ExpansionROM=0
+HeaderType=0
+InterruptLine=30
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=52
+MinimumGrant=176
+ProgIF=0
+Revision=0
+Status=656
+SubClassCode=0
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=4107
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide]
+type=IdeController
+children=configdata
+config_latency=40
+configdata=system.tsunami.ide.configdata
+disks=system.disk0 system.disk2
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=8
+BAR1=1
+BAR1Size=4
+BAR2=1
+BAR2Size=8
+BAR3=1
+BAR3Size=4
+BAR4=1
+BAR4Size=16
+BAR5=1
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=1
+Command=0
+DeviceID=28945
+ExpansionROM=0
+HeaderType=0
+InterruptLine=31
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=0
+MinimumGrant=0
+ProgIF=133
+Revision=0
+Status=640
+SubClassCode=1
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=32902
+
+[system.tsunami.io]
+type=TsunamiIO
+frequency=1953125
+pio_addr=8804615847936
+pio_latency=2
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.pciconfig]
+type=PciConfigAll
+bus=0
+pio_latency=1
+platform=system.tsunami
+size=16777216
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[trace]
+bufsize=0
+cycle=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/linux-mpboot/ref/alpha/atomic/config.out b/tests/linux-mpboot/ref/alpha/atomic/config.out
new file mode 100644
index 000000000..dc59ece72
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/config.out
@@ -0,0 +1,542 @@
+[root]
+type=Root
+clock=2000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+range=[0,134217727]
+latency=1
+
+[system]
+type=LinuxAlphaSystem
+boot_cpu_frequency=1
+physmem=system.physmem
+mem_mode=atomic
+kernel=/dist/m5/system/binaries/vmlinux
+console=/dist/m5/system/binaries/console
+pal=/dist/m5/system/binaries/ts_osfpal
+boot_osflags=root=/dev/hda1 console=ttyS0
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+init_param=0
+system_type=34
+system_rev=1024
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.bridge]
+type=Bridge
+queue_size_a=16
+queue_size_b=16
+delay=0
+write_ack=false
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk0.image]
+type=CowDiskImage
+child=system.disk0.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk0]
+type=IdeDisk
+image=system.disk0.image
+driveID=master
+delay=2000
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.disk2.image]
+type=CowDiskImage
+child=system.disk2.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk2]
+type=IdeDisk
+image=system.disk2.image
+driveID=master
+delay=2000
+
+[system.cpu0.itb]
+type=AlphaITB
+size=48
+
+[system.cpu0.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu0]
+type=AtomicSimpleCPU
+max_insts_any_thread=0
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.membus
+system=system
+itb=system.cpu0.itb
+dtb=system.cpu0.dtb
+cpu_id=-1
+profile=0
+clock=1
+defer_registration=false
+width=1
+function_trace=false
+function_trace_start=0
+simulate_stalls=false
+
+[system.cpu1.itb]
+type=AlphaITB
+size=48
+
+[system.cpu1.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu1]
+type=AtomicSimpleCPU
+max_insts_any_thread=0
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.membus
+system=system
+itb=system.cpu1.itb
+dtb=system.cpu1.dtb
+cpu_id=-1
+profile=0
+clock=1
+defer_registration=false
+width=1
+function_trace=false
+function_trace_start=0
+simulate_stalls=false
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu0
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.simple_disk]
+type=SimpleDisk
+system=system
+disk=system.simple_disk.disk
+
+[system.tsunami]
+type=Tsunami
+system=system
+intrctrl=system.intrctrl
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.io]
+type=TsunamiIO
+pio_addr=8804615847936
+pio_latency=2
+frequency=1953125
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[]
+type=PciConfigAll
+pio_latency=1
+bus=0
+size=16777216
+platform=system.tsunami
+system=system
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.sim_console]
+type=SimConsole
+listener=system.sim_console.listener
+intr_control=system.intrctrl
+output=console
+append_name=true
+number=0
+
+[system.tsunami.console]
+type=AlphaConsole
+sim_console=system.sim_console
+disk=system.simple_disk
+pio_addr=8804682956800
+system=system
+cpu=system.cpu0
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+system=system
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+VendorID=4107
+DeviceID=34
+Command=0
+Status=656
+Revision=0
+ProgIF=0
+SubClassCode=0
+ClassCode=2
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=0
+BAR2=0
+BAR3=0
+BAR4=0
+BAR5=0
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=30
+InterruptPin=1
+MinimumGrant=176
+MaximumLatency=52
+BAR0Size=256
+BAR1Size=4096
+BAR2Size=0
+BAR3Size=0
+BAR4Size=0
+BAR5Size=0
+
+[system.tsunami.ethernet]
+type=NSGigE
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ethernet.configdata
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+config_latency=40
+clock=0
+dma_desc_free=false
+dma_data_free=false
+dma_read_delay=0
+dma_write_delay=0
+dma_read_factor=0
+dma_write_factor=0
+dma_no_allocate=true
+intr_delay=20000
+rx_delay=2000
+tx_delay=2000
+rx_fifo_size=524288
+tx_fifo_size=524288
+rx_filter=true
+hardware_address=00:90:00:00:00:01
+rx_thread=false
+tx_thread=false
+rss=false
+
+[system.tsunami.etherint]
+type=NSGigEInt
+peer=null
+device=system.tsunami.ethernet
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+VendorID=32902
+DeviceID=28945
+Command=0
+Status=640
+Revision=0
+ProgIF=133
+SubClassCode=1
+ClassCode=1
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=1
+BAR2=1
+BAR3=1
+BAR4=1
+BAR5=1
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=31
+InterruptPin=1
+MinimumGrant=0
+MaximumLatency=0
+BAR0Size=8
+BAR1Size=4
+BAR2Size=8
+BAR3Size=4
+BAR4Size=16
+BAR5Size=0
+
+[system.tsunami.ide]
+type=IdeController
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ide.configdata
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+config_latency=40
+disks=system.disk0 system.disk2
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[trace]
+flags=
+start=0
+cycle=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
+[pseudo_inst]
+quiesce=true
+statistics=true
+checkpoint=true
+
diff --git a/tests/linux-mpboot/ref/alpha/atomic/console.system.sim_console b/tests/linux-mpboot/ref/alpha/atomic/console.system.sim_console
new file mode 100644
index 000000000..c3c7b2676
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/console.system.sim_console
@@ -0,0 +1,111 @@
+M5 console: m5AlphaAccess @ 0xFFFFFD0200000000
+ Got Configuration 623
+ memsize 8000000 pages 4000
+ First free page after ROM 0xFFFFFC0000018000
+ HWRPB 0xFFFFFC0000018000 l1pt 0xFFFFFC0000040000 l2pt 0xFFFFFC0000042000 l3pt_rpb 0xFFFFFC0000044000 l3pt_kernel 0xFFFFFC0000048000 l2reserv 0xFFFFFC0000046000
+ kstart = 0xFFFFFC0000310000, kend = 0xFFFFFC00008064E8, kentry = 0xFFFFFC0000310000, numCPUs = 0x2
+ CPU Clock at 2000 MHz IntrClockFrequency=1024
+ Booting with 2 processor(s)
+ KSP: 0x20043FE8 PTBR 0x20
+ KSP: 0x20043FE8 PTBR 0x20
+ Console Callback at 0x0, fixup at 0x0, crb offset: 0x790
+ Memory cluster 0 [0 - 392]
+ Memory cluster 1 [392 - 15992]
+ Initalizing mdt_bitmap addr 0xFFFFFC0000038000 mem_pages 4000
+ ConsoleDispatch at virt 100008D8 phys 188D8 val FFFFFC00000100A8
+ Bootstraping CPU 1 with sp=0xFFFFFC0000076000
+ unix_boot_mem ends at FFFFFC0000078000
+ k_argc = 0
+ jumping to kernel at 0xFFFFFC0000310000, (PCBB 0xFFFFFC0000018180 pfn 1028)
+ CallbackFixup 0 18000, t7=FFFFFC0000700000
+ Entering slaveloop for cpu 1 my_rpb=FFFFFC0000018400
+ Linux version 2.6.8.1 (binkertn@ziff.eecs.umich.edu) (gcc version 3.4.3) #36 SMP Mon May 2 19:50:53 EDT 2005
+ Booting GENERIC on Tsunami variation DP264 using machine vector DP264 from SRM
+ Major Options: SMP LEGACY_START VERBOSE_MCHECK
+ Command line: root=/dev/hda1 console=ttyS0
+ memcluster 0, usage 1, start 0, end 392
+ memcluster 1, usage 0, start 392, end 16384
+ freeing pages 1030:16384
+ reserving pages 1030:1031
+ SMP: 2 CPUs probed -- cpu_present_mask = 3
+ Built 1 zonelists
+ Kernel command line: root=/dev/hda1 console=ttyS0
+ PID hash table entries: 1024 (order 10: 16384 bytes)
+ Using epoch = 1900
+ Console: colour dummy device 80x25
+ Dentry cache hash table entries: 32768 (order: 5, 262144 bytes)
+ Inode-cache hash table entries: 16384 (order: 4, 131072 bytes)
+ Memory: 119072k/131072k available (3058k kernel code, 8680k reserved, 695k data, 480k init)
+ Mount-cache hash table entries: 512 (order: 0, 8192 bytes)
+ per-CPU timeslice cutoff: 374.49 usecs.
+ task migration cache decay timeout: 0 msecs.
+ SMP starting up secondaries.
+ Slave CPU 1 console command START
+SlaveCmd: restart FFFFFC0000310020 FFFFFC0000310020 vptb FFFFFFFE00000000 my_rpb FFFFFC0000018400 my_rpb_phys 18400
+ Brought up 2 CPUs
+ SMP: Total of 2 processors activated (8000.15 BogoMIPS).
+ NET: Registered protocol family 16
+ EISA bus registered
+ pci: enabling save/restore of SRM state
+ SCSI subsystem initialized
+ srm_env: version 0.0.5 loaded successfully
+ Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
+ Initializing Cryptographic API
+ rtc: Standard PC (1900) epoch (1900) detected
+ Real Time Clock Driver v1.12
+ Serial: 8250/16550 driver $Revision: 1.90 $ 5 ports, IRQ sharing disabled
+ ttyS0 at I/O 0x3f8 (irq = 4) is a 8250
+ loop: loaded (max 8 devices)
+ Using anticipatory io scheduler
+ nbd: registered device at major 43
+ sinic.c: M5 Simple Integrated NIC driver
+ ns83820.c: National Semiconductor DP83820 10/100/1000 driver.
+ eth0: ns83820.c: 0x22c: 00000000, subsystem: 0000:0000
+ eth0: enabling optical transceiver
+ eth0: ns83820 v0.20: DP83820 v1.3: 00:90:00:00:00:01 io=0x09000000 irq=30 f=sg
+ Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
+ ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
+ PIIX4: IDE controller at PCI slot 0000:00:00.0
+ PIIX4: chipset revision 0
+ PIIX4: 100% native mode on irq 31
+ ide0: BM-DMA at 0x8400-0x8407, BIOS settings: hda:DMA, hdb:DMA
+ ide1: BM-DMA at 0x8408-0x840f, BIOS settings: hdc:DMA, hdd:DMA
+ hda: M5 IDE Disk, ATA DISK drive
+ hdb: M5 IDE Disk, ATA DISK drive
+ ide0 at 0x8410-0x8417,0x8422 on irq 31
+ hda: max request size: 128KiB
+ hda: 163296 sectors (83 MB), CHS=162/16/63, UDMA(33)
+ hda: hda1
+ hdb: max request size: 128KiB
+ hdb: 4177920 sectors (2139 MB), CHS=4144/16/63, UDMA(33)
+ hdb: unknown partition table
+ scsi0 : scsi_m5, version 1.73 [20040518], dev_size_mb=8, opts=0x0
+ Vendor: Linux Model: scsi_m5 Li Rev: 0004
+ Type: Direct-Access ANSI SCSI revision: 03
+ SCSI device sda: 16384 512-byte hdwr sectors (8 MB)
+ SCSI device sda: drive cache: write back
+ sda: unknown partition table
+ Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
+ mice: PS/2 mouse device common for all mice
+ NET: Registered protocol family 2
+ IP: routing cache hash table of 1024 buckets, 16Kbytes
+ TCP: Hash tables configured (established 8192 bind 8192)
+ ip_conntrack version 2.1 (512 buckets, 4096 max) - 440 bytes per conntrack
+ ip_tables: (C) 2000-2002 Netfilter core team
+ arp_tables: (C) 2002 David S. Miller
+ Initializing IPsec netlink socket
+ NET: Registered protocol family 1
+ NET: Registered protocol family 17
+ NET: Registered protocol family 15
+ Bridge firewalling registered
+ 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
+ All bugs added by David S. Miller <davem@redhat.com>
+ VFS: Mounted root (ext2 filesystem) readonly.
+ Freeing unused kernel memory: 480k freed
+ init started: BusyBox v1.00-rc2 (2004.11.18-16:22+0000) multi-call binary
+
+PTXdist-0.7.0 (2004-11-18T11:23:40-0500)
+
+mounting filesystems...
+EXT2-fs warning: checktime reached, running e2fsck is recommended
+ loading script...
diff --git a/tests/linux-mpboot/ref/alpha/atomic/m5stats.txt b/tests/linux-mpboot/ref/alpha/atomic/m5stats.txt
new file mode 100644
index 000000000..bc318cec0
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/m5stats.txt
@@ -0,0 +1,275 @@
+
+---------- Begin Simulation Statistics ----------
+host_inst_rate 677052 # Simulator instruction rate (inst/s)
+host_mem_usage 195656 # Number of bytes of host memory used
+host_seconds 93.44 # Real time elapsed on the host
+host_tick_rate 38056235 # Simulator tick rate (ticks/s)
+sim_freq 2000000000 # Frequency of simulated ticks
+sim_insts 63264995 # Number of instructions simulated
+sim_seconds 1.778030 # Number of seconds simulated
+sim_ticks 3556060806 # Number of ticks simulated
+system.cpu0.dtb.accesses 1831687 # DTB accesses
+system.cpu0.dtb.acv 360 # DTB access violations
+system.cpu0.dtb.hits 12876975 # DTB hits
+system.cpu0.dtb.misses 11050 # DTB misses
+system.cpu0.dtb.read_accesses 495437 # DTB read accesses
+system.cpu0.dtb.read_acv 219 # DTB read access violations
+system.cpu0.dtb.read_hits 7121424 # DTB read hits
+system.cpu0.dtb.read_misses 9036 # DTB read misses
+system.cpu0.dtb.write_accesses 1336250 # DTB write accesses
+system.cpu0.dtb.write_acv 141 # DTB write access violations
+system.cpu0.dtb.write_hits 5755551 # DTB write hits
+system.cpu0.dtb.write_misses 2014 # DTB write misses
+system.cpu0.idle_fraction 0.984569 # Percentage of idle cycles
+system.cpu0.itb.accesses 2328068 # ITB accesses
+system.cpu0.itb.acv 216 # ITB acv
+system.cpu0.itb.hits 2323500 # ITB hits
+system.cpu0.itb.misses 4568 # ITB misses
+system.cpu0.kern.callpal 179206 # number of callpals executed
+system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
+system.cpu0.kern.callpal_wripir 91 0.05% 0.05% # number of callpals executed
+system.cpu0.kern.callpal_wrmces 1 0.00% 0.05% # number of callpals executed
+system.cpu0.kern.callpal_wrfen 1 0.00% 0.05% # number of callpals executed
+system.cpu0.kern.callpal_wrvptptr 1 0.00% 0.05% # number of callpals executed
+system.cpu0.kern.callpal_swpctx 1375 0.77% 0.82% # number of callpals executed
+system.cpu0.kern.callpal_tbi 20 0.01% 0.83% # number of callpals executed
+system.cpu0.kern.callpal_wrent 7 0.00% 0.84% # number of callpals executed
+system.cpu0.kern.callpal_swpipl 168681 94.13% 94.96% # number of callpals executed
+system.cpu0.kern.callpal_rdps 4713 2.63% 97.59% # number of callpals executed
+system.cpu0.kern.callpal_wrkgp 1 0.00% 97.59% # number of callpals executed
+system.cpu0.kern.callpal_wrusp 4 0.00% 97.59% # number of callpals executed
+system.cpu0.kern.callpal_rdusp 11 0.01% 97.60% # number of callpals executed
+system.cpu0.kern.callpal_whami 2 0.00% 97.60% # number of callpals executed
+system.cpu0.kern.callpal_rti 3639 2.03% 99.63% # number of callpals executed
+system.cpu0.kern.callpal_callsys 461 0.26% 99.89% # number of callpals executed
+system.cpu0.kern.callpal_imb 197 0.11% 100.00% # number of callpals executed
+system.cpu0.kern.inst.arm 0 # number of arm instructions executed
+system.cpu0.kern.inst.hwrei 197512 # number of hwrei instructions executed
+system.cpu0.kern.inst.ivlb 0 # number of ivlb instructions executed
+system.cpu0.kern.inst.ivle 0 # number of ivle instructions executed
+system.cpu0.kern.inst.quiesce 1917 # number of quiesce instructions executed
+system.cpu0.kern.ipl_count 174431 # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_0 73383 42.07% 42.07% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_21 286 0.16% 42.23% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_22 5540 3.18% 45.41% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_30 8 0.00% 45.41% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_31 95214 54.59% 100.00% # number of times we switched to this ipl
+system.cpu0.kern.ipl_good 156222 # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_0 73336 46.94% 46.94% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_21 286 0.18% 47.13% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_22 5540 3.55% 50.67% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_30 8 0.01% 50.68% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_31 77052 49.32% 100.00% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_ticks 3555570558 # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_0 3533670973 99.38% 99.38% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_21 45785 0.00% 99.39% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_22 1008642 0.03% 99.41% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_30 1988 0.00% 99.41% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_31 20843170 0.59% 100.00% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_used 0.895609 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_0 0.999360 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_31 0.809251 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.mode_good_kernel 1633
+system.cpu0.kern.mode_good_user 1486
+system.cpu0.kern.mode_good_idle 147
+system.cpu0.kern.mode_switch_kernel 2898 # number of protection mode switches
+system.cpu0.kern.mode_switch_user 1486 # number of protection mode switches
+system.cpu0.kern.mode_switch_idle 2090 # number of protection mode switches
+system.cpu0.kern.mode_switch_good 0.504479 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_kernel 0.563492 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_idle 0.070335 # fraction of useful protection mode switches
+system.cpu0.kern.mode_ticks_kernel 29671488 0.83% 0.83% # number of ticks spent at the given mode
+system.cpu0.kern.mode_ticks_user 2605758 0.07% 0.91% # number of ticks spent at the given mode
+system.cpu0.kern.mode_ticks_idle 3523245106 99.09% 100.00% # number of ticks spent at the given mode
+system.cpu0.kern.swap_context 1376 # number of times the context was actually changed
+system.cpu0.kern.syscall 312 # number of syscalls executed
+system.cpu0.kern.syscall_fork 9 2.88% 2.88% # number of syscalls executed
+system.cpu0.kern.syscall_read 20 6.41% 9.29% # number of syscalls executed
+system.cpu0.kern.syscall_write 6 1.92% 11.22% # number of syscalls executed
+system.cpu0.kern.syscall_close 36 11.54% 22.76% # number of syscalls executed
+system.cpu0.kern.syscall_chdir 1 0.32% 23.08% # number of syscalls executed
+system.cpu0.kern.syscall_chmod 1 0.32% 23.40% # number of syscalls executed
+system.cpu0.kern.syscall_obreak 26 8.33% 31.73% # number of syscalls executed
+system.cpu0.kern.syscall_lseek 9 2.88% 34.62% # number of syscalls executed
+system.cpu0.kern.syscall_getpid 8 2.56% 37.18% # number of syscalls executed
+system.cpu0.kern.syscall_setuid 2 0.64% 37.82% # number of syscalls executed
+system.cpu0.kern.syscall_getuid 4 1.28% 39.10% # number of syscalls executed
+system.cpu0.kern.syscall_access 4 1.28% 40.38% # number of syscalls executed
+system.cpu0.kern.syscall_dup 4 1.28% 41.67% # number of syscalls executed
+system.cpu0.kern.syscall_open 40 12.82% 54.49% # number of syscalls executed
+system.cpu0.kern.syscall_getgid 4 1.28% 55.77% # number of syscalls executed
+system.cpu0.kern.syscall_sigprocmask 12 3.85% 59.62% # number of syscalls executed
+system.cpu0.kern.syscall_ioctl 13 4.17% 63.78% # number of syscalls executed
+system.cpu0.kern.syscall_readlink 1 0.32% 64.10% # number of syscalls executed
+system.cpu0.kern.syscall_execve 7 2.24% 66.35% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_stat 22 7.05% 73.40% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_lstat 1 0.32% 73.72% # number of syscalls executed
+system.cpu0.kern.syscall_mmap 28 8.97% 82.69% # number of syscalls executed
+system.cpu0.kern.syscall_munmap 4 1.28% 83.97% # number of syscalls executed
+system.cpu0.kern.syscall_mprotect 7 2.24% 86.22% # number of syscalls executed
+system.cpu0.kern.syscall_gethostname 1 0.32% 86.54% # number of syscalls executed
+system.cpu0.kern.syscall_dup2 3 0.96% 87.50% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_fstat 15 4.81% 92.31% # number of syscalls executed
+system.cpu0.kern.syscall_fcntl 11 3.53% 95.83% # number of syscalls executed
+system.cpu0.kern.syscall_socket 3 0.96% 96.79% # number of syscalls executed
+system.cpu0.kern.syscall_connect 3 0.96% 97.76% # number of syscalls executed
+system.cpu0.kern.syscall_setgid 2 0.64% 98.40% # number of syscalls executed
+system.cpu0.kern.syscall_getrlimit 2 0.64% 99.04% # number of syscalls executed
+system.cpu0.kern.syscall_setsid 3 0.96% 100.00% # number of syscalls executed
+system.cpu0.not_idle_fraction 0.015431 # Percentage of non-idle cycles
+system.cpu0.numCycles 54873632 # number of cpu cycles simulated
+system.cpu0.num_insts 54868848 # Number of instructions executed
+system.cpu0.num_refs 12918621 # Number of memory references
+system.cpu1.dtb.accesses 524398 # DTB accesses
+system.cpu1.dtb.acv 60 # DTB access violations
+system.cpu1.dtb.hits 2058922 # DTB hits
+system.cpu1.dtb.misses 5263 # DTB misses
+system.cpu1.dtb.read_accesses 337746 # DTB read accesses
+system.cpu1.dtb.read_acv 23 # DTB read access violations
+system.cpu1.dtb.read_hits 1301369 # DTB read hits
+system.cpu1.dtb.read_misses 4766 # DTB read misses
+system.cpu1.dtb.write_accesses 186652 # DTB write accesses
+system.cpu1.dtb.write_acv 37 # DTB write access violations
+system.cpu1.dtb.write_hits 757553 # DTB write hits
+system.cpu1.dtb.write_misses 497 # DTB write misses
+system.cpu1.idle_fraction 0.997638 # Percentage of idle cycles
+system.cpu1.itb.accesses 1711917 # ITB accesses
+system.cpu1.itb.acv 23 # ITB acv
+system.cpu1.itb.hits 1709682 # ITB hits
+system.cpu1.itb.misses 2235 # ITB misses
+system.cpu1.kern.callpal 25990 # number of callpals executed
+system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
+system.cpu1.kern.callpal_wripir 8 0.03% 0.03% # number of callpals executed
+system.cpu1.kern.callpal_wrmces 1 0.00% 0.04% # number of callpals executed
+system.cpu1.kern.callpal_wrfen 1 0.00% 0.04% # number of callpals executed
+system.cpu1.kern.callpal_swpctx 554 2.13% 2.17% # number of callpals executed
+system.cpu1.kern.callpal_tbi 7 0.03% 2.20% # number of callpals executed
+system.cpu1.kern.callpal_wrent 7 0.03% 2.23% # number of callpals executed
+system.cpu1.kern.callpal_swpipl 22366 86.06% 88.28% # number of callpals executed
+system.cpu1.kern.callpal_rdps 98 0.38% 88.66% # number of callpals executed
+system.cpu1.kern.callpal_wrkgp 1 0.00% 88.66% # number of callpals executed
+system.cpu1.kern.callpal_wrusp 4 0.02% 88.68% # number of callpals executed
+system.cpu1.kern.callpal_rdusp 1 0.00% 88.68% # number of callpals executed
+system.cpu1.kern.callpal_whami 3 0.01% 88.70% # number of callpals executed
+system.cpu1.kern.callpal_rti 2613 10.05% 98.75% # number of callpals executed
+system.cpu1.kern.callpal_callsys 208 0.80% 99.55% # number of callpals executed
+system.cpu1.kern.callpal_imb 116 0.45% 100.00% # number of callpals executed
+system.cpu1.kern.callpal_rdunique 1 0.00% 100.00% # number of callpals executed
+system.cpu1.kern.inst.arm 0 # number of arm instructions executed
+system.cpu1.kern.inst.hwrei 35475 # number of hwrei instructions executed
+system.cpu1.kern.inst.ivlb 0 # number of ivlb instructions executed
+system.cpu1.kern.inst.ivle 0 # number of ivle instructions executed
+system.cpu1.kern.inst.quiesce 1946 # number of quiesce instructions executed
+system.cpu1.kern.ipl_count 26882 # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_0 9636 35.85% 35.85% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_22 5504 20.47% 56.32% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_30 91 0.34% 56.66% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_31 11651 43.34% 100.00% # number of times we switched to this ipl
+system.cpu1.kern.ipl_good 26602 # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_0 9607 36.11% 36.11% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_22 5504 20.69% 56.80% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_30 91 0.34% 57.15% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_31 11400 42.85% 100.00% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_ticks 3556060349 # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_0 3533823708 99.37% 99.37% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_22 1040434 0.03% 99.40% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_30 23860 0.00% 99.40% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_31 21172347 0.60% 100.00% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_used 0.989584 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_0 0.996990 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_31 0.978457 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.mode_good_kernel 691
+system.cpu1.kern.mode_good_user 692
+system.cpu1.kern.mode_good_idle 0
+system.cpu1.kern.mode_switch_kernel 3163 # number of protection mode switches
+system.cpu1.kern.mode_switch_user 692 # number of protection mode switches
+system.cpu1.kern.mode_switch_idle 0 # number of protection mode switches
+system.cpu1.kern.mode_switch_good 0.358755 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_kernel 0.218463 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_idle <err: div-0> # fraction of useful protection mode switches
+system.cpu1.kern.mode_ticks_kernel 3554209770 99.95% 99.95% # number of ticks spent at the given mode
+system.cpu1.kern.mode_ticks_user 1850577 0.05% 100.00% # number of ticks spent at the given mode
+system.cpu1.kern.mode_ticks_idle 0 0.00% 100.00% # number of ticks spent at the given mode
+system.cpu1.kern.swap_context 555 # number of times the context was actually changed
+system.cpu1.kern.syscall 163 # number of syscalls executed
+system.cpu1.kern.syscall_fork 1 0.61% 0.61% # number of syscalls executed
+system.cpu1.kern.syscall_read 13 7.98% 8.59% # number of syscalls executed
+system.cpu1.kern.syscall_write 1 0.61% 9.20% # number of syscalls executed
+system.cpu1.kern.syscall_close 13 7.98% 17.18% # number of syscalls executed
+system.cpu1.kern.syscall_obreak 18 11.04% 28.22% # number of syscalls executed
+system.cpu1.kern.syscall_lseek 4 2.45% 30.67% # number of syscalls executed
+system.cpu1.kern.syscall_getpid 2 1.23% 31.90% # number of syscalls executed
+system.cpu1.kern.syscall_setuid 2 1.23% 33.13% # number of syscalls executed
+system.cpu1.kern.syscall_getuid 4 2.45% 35.58% # number of syscalls executed
+system.cpu1.kern.syscall_open 28 17.18% 52.76% # number of syscalls executed
+system.cpu1.kern.syscall_getgid 4 2.45% 55.21% # number of syscalls executed
+system.cpu1.kern.syscall_sigprocmask 2 1.23% 56.44% # number of syscalls executed
+system.cpu1.kern.syscall_ioctl 3 1.84% 58.28% # number of syscalls executed
+system.cpu1.kern.syscall_readlink 1 0.61% 58.90% # number of syscalls executed
+system.cpu1.kern.syscall_execve 1 0.61% 59.51% # number of syscalls executed
+system.cpu1.kern.syscall_pre_F64_stat 9 5.52% 65.03% # number of syscalls executed
+system.cpu1.kern.syscall_mmap 27 16.56% 81.60% # number of syscalls executed
+system.cpu1.kern.syscall_munmap 2 1.23% 82.82% # number of syscalls executed
+system.cpu1.kern.syscall_mprotect 7 4.29% 87.12% # number of syscalls executed
+system.cpu1.kern.syscall_gethostname 1 0.61% 87.73% # number of syscalls executed
+system.cpu1.kern.syscall_dup2 1 0.61% 88.34% # number of syscalls executed
+system.cpu1.kern.syscall_pre_F64_fstat 13 7.98% 96.32% # number of syscalls executed
+system.cpu1.kern.syscall_fcntl 3 1.84% 98.16% # number of syscalls executed
+system.cpu1.kern.syscall_setgid 2 1.23% 99.39% # number of syscalls executed
+system.cpu1.kern.syscall_getrlimit 1 0.61% 100.00% # number of syscalls executed
+system.cpu1.not_idle_fraction 0.002362 # Percentage of non-idle cycles
+system.cpu1.numCycles 8398405 # number of cpu cycles simulated
+system.cpu1.num_insts 8396147 # Number of instructions executed
+system.cpu1.num_refs 2073144 # Number of memory references
+system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
+system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
+system.disk0.dma_write_bytes 2521088 # Number of bytes transfered via DMA writes.
+system.disk0.dma_write_full_pages 285 # Number of full page size DMA writes.
+system.disk0.dma_write_txs 375 # Number of DMA write transactions.
+system.disk2.dma_read_bytes 0 # Number of bytes transfered via DMA reads (not PRD).
+system.disk2.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk2.dma_read_txs 0 # Number of DMA read transactions (not PRD).
+system.disk2.dma_write_bytes 8192 # Number of bytes transfered via DMA writes.
+system.disk2.dma_write_full_pages 1 # Number of full page size DMA writes.
+system.disk2.dma_write_txs 1 # Number of DMA write transactions.
+system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedRxIdle <err: div-0> # average number of RxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
+system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
+system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
+system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
+system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
+system.tsunami.ethernet.descDMAReads 0 # Number of descriptors the device read w/ DMA
+system.tsunami.ethernet.descDMAWrites 0 # Number of descriptors the device wrote w/ DMA
+system.tsunami.ethernet.descDmaReadBytes 0 # number of descriptor bytes read w/ DMA
+system.tsunami.ethernet.descDmaWriteBytes 0 # number of descriptor bytes write w/ DMA
+system.tsunami.ethernet.droppedPackets 0 # number of packets dropped
+system.tsunami.ethernet.postedInterrupts 0 # number of posts to CPU
+system.tsunami.ethernet.postedRxDesc 0 # number of RxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedRxIdle 0 # number of rxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedRxOk 0 # number of RxOk interrupts posted to CPU
+system.tsunami.ethernet.postedRxOrn 0 # number of RxOrn posted to CPU
+system.tsunami.ethernet.postedSwi 0 # number of software interrupts posted to CPU
+system.tsunami.ethernet.postedTxDesc 0 # number of TxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedTxIdle 0 # number of TxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedTxOk 0 # number of TxOk interrupts posted to CPU
+system.tsunami.ethernet.totalRxDesc 0 # total number of RxDesc written to ISR
+system.tsunami.ethernet.totalRxIdle 0 # total number of RxIdle written to ISR
+system.tsunami.ethernet.totalRxOk 0 # total number of RxOk written to ISR
+system.tsunami.ethernet.totalRxOrn 0 # total number of RxOrn written to ISR
+system.tsunami.ethernet.totalSwi 0 # total number of Swi written to ISR
+system.tsunami.ethernet.totalTxDesc 0 # total number of TxDesc written to ISR
+system.tsunami.ethernet.totalTxIdle 0 # total number of TxIdle written to ISR
+system.tsunami.ethernet.totalTxOk 0 # total number of TxOk written to ISR
+
+---------- End Simulation Statistics ----------
diff --git a/tests/linux-mpboot/ref/alpha/atomic/stderr b/tests/linux-mpboot/ref/alpha/atomic/stderr
new file mode 100644
index 000000000..ea7591277
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/stderr
@@ -0,0 +1,6 @@
+ 0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
+Listening for console connection on port 3457
+0: system.remote_gdb.listener: listening for remote gdb #0 on port 7001
+0: system.remote_gdb.listener: listening for remote gdb #1 on port 7002
+warn: Entering event queue @ 0. Starting simulation...
+warn: 195722: Trying to launch CPU number 1!
diff --git a/tests/linux-mpboot/ref/alpha/atomic/stdout b/tests/linux-mpboot/ref/alpha/atomic/stdout
new file mode 100644
index 000000000..cc4170f81
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/atomic/stdout
@@ -0,0 +1,12 @@
+M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 16:54:00
+M5 started Thu Jul 27 17:12:14 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/test/opt/linux-mpboot/atomic tests/linux-mpboot/run.py
+Exiting @ cycle 3556060806 because m5_exit instruction encountered
diff --git a/tests/linux-mpboot/ref/alpha/timing/config.ini b/tests/linux-mpboot/ref/alpha/timing/config.ini
new file mode 100644
index 000000000..0e3ca3953
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/config.ini
@@ -0,0 +1,547 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=2000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=LinuxAlphaSystem
+children=bridge cpu0 cpu1 disk0 disk2 intrctrl iobus membus physmem sim_console simple_disk tsunami
+boot_cpu_frequency=1
+boot_osflags=root=/dev/hda1 console=ttyS0
+console=/dist/m5/system/binaries/console
+init_param=0
+kernel=/dist/m5/system/binaries/vmlinux
+mem_mode=timing
+pal=/dist/m5/system/binaries/ts_osfpal
+physmem=system.physmem
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+system_rev=1024
+system_type=34
+
+[system.bridge]
+type=Bridge
+delay=0
+queue_size_a=16
+queue_size_b=16
+write_ack=false
+
+[system.cpu0]
+type=TimingSimpleCPU
+children=dtb itb
+clock=1
+cpu_id=-1
+defer_registration=false
+dtb=system.cpu0.dtb
+function_trace=false
+function_trace_start=0
+itb=system.cpu0.itb
+max_insts_all_threads=0
+max_insts_any_thread=0
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.membus
+profile=0
+system=system
+
+[system.cpu0.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu0.itb]
+type=AlphaITB
+size=48
+
+[system.cpu1]
+type=TimingSimpleCPU
+children=dtb itb
+clock=1
+cpu_id=-1
+defer_registration=false
+dtb=system.cpu1.dtb
+function_trace=false
+function_trace_start=0
+itb=system.cpu1.itb
+max_insts_all_threads=0
+max_insts_any_thread=0
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.membus
+profile=0
+system=system
+
+[system.cpu1.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu1.itb]
+type=AlphaITB
+size=48
+
+[system.disk0]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk0.image
+
+[system.disk0.image]
+type=CowDiskImage
+children=child
+child=system.disk0.image.child
+read_only=false
+table_size=65536
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk2]
+type=IdeDisk
+children=image
+delay=2000
+driveID=master
+image=system.disk2.image
+
+[system.disk2.image]
+type=CowDiskImage
+children=child
+child=system.disk2.image.child
+read_only=false
+table_size=65536
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu0
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+range=0:134217727
+
+[system.sim_console]
+type=SimConsole
+children=listener
+append_name=true
+intr_control=system.intrctrl
+listener=system.sim_console.listener
+number=0
+output=console
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.simple_disk]
+type=SimpleDisk
+children=disk
+disk=system.simple_disk.disk
+system=system
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.tsunami]
+type=Tsunami
+children=cchip console etherint ethernet fake_OROM fake_ata0 fake_ata1 fake_pnp_addr fake_pnp_read0 fake_pnp_read1 fake_pnp_read2 fake_pnp_read3 fake_pnp_read4 fake_pnp_read5 fake_pnp_read6 fake_pnp_read7 fake_pnp_write fake_ppc fake_sm_chip fake_uart1 fake_uart2 fake_uart3 fake_uart4 fb ide io pchip pciconfig uart
+intrctrl=system.intrctrl
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.console]
+type=AlphaConsole
+cpu=system.cpu0
+disk=system.simple_disk
+pio_addr=8804682956800
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.etherint]
+type=NSGigEInt
+device=system.tsunami.ethernet
+peer=Null
+
+[system.tsunami.ethernet]
+type=NSGigE
+children=configdata
+clock=0
+config_latency=40
+configdata=system.tsunami.ethernet.configdata
+dma_data_free=false
+dma_desc_free=false
+dma_no_allocate=true
+dma_read_delay=0
+dma_read_factor=0
+dma_write_delay=0
+dma_write_factor=0
+hardware_address=00:90:00:00:00:01
+intr_delay=20000
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+rss=false
+rx_delay=2000
+rx_fifo_size=524288
+rx_filter=true
+rx_thread=false
+system=system
+tx_delay=2000
+tx_fifo_size=524288
+tx_thread=false
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=256
+BAR1=0
+BAR1Size=4096
+BAR2=0
+BAR2Size=0
+BAR3=0
+BAR3Size=0
+BAR4=0
+BAR4Size=0
+BAR5=0
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=2
+Command=0
+DeviceID=34
+ExpansionROM=0
+HeaderType=0
+InterruptLine=30
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=52
+MinimumGrant=176
+ProgIF=0
+Revision=0
+Status=656
+SubClassCode=0
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=4107
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide]
+type=IdeController
+children=configdata
+config_latency=40
+configdata=system.tsunami.ide.configdata
+disks=system.disk0 system.disk2
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+BAR0=1
+BAR0Size=8
+BAR1=1
+BAR1Size=4
+BAR2=1
+BAR2Size=8
+BAR3=1
+BAR3Size=4
+BAR4=1
+BAR4Size=16
+BAR5=1
+BAR5Size=0
+BIST=0
+CacheLineSize=0
+CardbusCIS=0
+ClassCode=1
+Command=0
+DeviceID=28945
+ExpansionROM=0
+HeaderType=0
+InterruptLine=31
+InterruptPin=1
+LatencyTimer=0
+MaximumLatency=0
+MinimumGrant=0
+ProgIF=133
+Revision=0
+Status=640
+SubClassCode=1
+SubsystemID=0
+SubsystemVendorID=0
+VendorID=32902
+
+[system.tsunami.io]
+type=TsunamiIO
+frequency=1953125
+pio_addr=8804615847936
+pio_latency=2
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.pciconfig]
+type=PciConfigAll
+bus=0
+pio_latency=1
+platform=system.tsunami
+size=16777216
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[trace]
+bufsize=0
+cycle=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/linux-mpboot/ref/alpha/timing/config.out b/tests/linux-mpboot/ref/alpha/timing/config.out
new file mode 100644
index 000000000..3d49bfedb
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/config.out
@@ -0,0 +1,542 @@
+[root]
+type=Root
+clock=2000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+range=[0,134217727]
+latency=1
+
+[system]
+type=LinuxAlphaSystem
+boot_cpu_frequency=1
+physmem=system.physmem
+mem_mode=timing
+kernel=/dist/m5/system/binaries/vmlinux
+console=/dist/m5/system/binaries/console
+pal=/dist/m5/system/binaries/ts_osfpal
+boot_osflags=root=/dev/hda1 console=ttyS0
+readfile=/z/ktlim2/clean/newmem-merge/tests/halt.sh
+init_param=0
+system_type=34
+system_rev=1024
+
+[system.membus]
+type=Bus
+bus_id=1
+
+[system.bridge]
+type=Bridge
+queue_size_a=16
+queue_size_b=16
+delay=0
+write_ack=false
+
+[system.disk0.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.disk0.image]
+type=CowDiskImage
+child=system.disk0.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk0]
+type=IdeDisk
+image=system.disk0.image
+driveID=master
+delay=2000
+
+[system.disk2.image.child]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-bigswap2.img
+read_only=true
+
+[system.disk2.image]
+type=CowDiskImage
+child=system.disk2.image.child
+image_file=
+table_size=65536
+read_only=false
+
+[system.disk2]
+type=IdeDisk
+image=system.disk2.image
+driveID=master
+delay=2000
+
+[system.cpu0.itb]
+type=AlphaITB
+size=48
+
+[system.cpu0.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu0]
+type=TimingSimpleCPU
+max_insts_any_thread=0
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.membus
+system=system
+itb=system.cpu0.itb
+dtb=system.cpu0.dtb
+cpu_id=-1
+profile=0
+clock=1
+defer_registration=false
+// width not specified
+function_trace=false
+function_trace_start=0
+// simulate_stalls not specified
+
+[system.cpu1.itb]
+type=AlphaITB
+size=48
+
+[system.cpu1.dtb]
+type=AlphaDTB
+size=64
+
+[system.cpu1]
+type=TimingSimpleCPU
+max_insts_any_thread=0
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.membus
+system=system
+itb=system.cpu1.itb
+dtb=system.cpu1.dtb
+cpu_id=-1
+profile=0
+clock=1
+defer_registration=false
+// width not specified
+function_trace=false
+function_trace_start=0
+// simulate_stalls not specified
+
+[system.intrctrl]
+type=IntrControl
+cpu=system.cpu0
+
+[system.simple_disk.disk]
+type=RawDiskImage
+image_file=/dist/m5/system/disks/linux-latest.img
+read_only=true
+
+[system.simple_disk]
+type=SimpleDisk
+system=system
+disk=system.simple_disk.disk
+
+[system.tsunami]
+type=Tsunami
+system=system
+intrctrl=system.intrctrl
+
+[system.tsunami.fake_uart1]
+type=IsaFake
+pio_addr=8804615848696
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart2]
+type=IsaFake
+pio_addr=8804615848936
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart3]
+type=IsaFake
+pio_addr=8804615848680
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_uart4]
+type=IsaFake
+pio_addr=8804615848944
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ppc]
+type=IsaFake
+pio_addr=8804615848892
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.cchip]
+type=TsunamiCChip
+pio_addr=8803072344064
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.io]
+type=TsunamiIO
+pio_addr=8804615847936
+pio_latency=2
+frequency=1953125
+platform=system.tsunami
+system=system
+time=1136073600
+tsunami=system.tsunami
+
+[]
+type=PciConfigAll
+pio_latency=1
+bus=0
+size=16777216
+platform=system.tsunami
+system=system
+
+[system.sim_console.listener]
+type=ConsoleListener
+port=3456
+
+[system.sim_console]
+type=SimConsole
+listener=system.sim_console.listener
+intr_control=system.intrctrl
+output=console
+append_name=true
+number=0
+
+[system.tsunami.console]
+type=AlphaConsole
+sim_console=system.sim_console
+disk=system.simple_disk
+pio_addr=8804682956800
+system=system
+cpu=system.cpu0
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.fake_ata1]
+type=IsaFake
+pio_addr=8804615848304
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_ata0]
+type=IsaFake
+pio_addr=8804615848432
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.pchip]
+type=TsunamiPChip
+pio_addr=8802535473152
+pio_latency=2
+platform=system.tsunami
+system=system
+tsunami=system.tsunami
+
+[system.tsunami.fake_pnp_read3]
+type=IsaFake
+pio_addr=8804615848643
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read2]
+type=IsaFake
+pio_addr=8804615848579
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read1]
+type=IsaFake
+pio_addr=8804615848515
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read0]
+type=IsaFake
+pio_addr=8804615848451
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read7]
+type=IsaFake
+pio_addr=8804615848899
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read6]
+type=IsaFake
+pio_addr=8804615848835
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read5]
+type=IsaFake
+pio_addr=8804615848771
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_read4]
+type=IsaFake
+pio_addr=8804615848707
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_write]
+type=IsaFake
+pio_addr=8804615850617
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fb]
+type=BadDevice
+devicename=FrameBuffer
+pio_addr=8804615848912
+system=system
+platform=system.tsunami
+pio_latency=2
+
+[system.tsunami.ethernet.configdata]
+type=PciConfigData
+VendorID=4107
+DeviceID=34
+Command=0
+Status=656
+Revision=0
+ProgIF=0
+SubClassCode=0
+ClassCode=2
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=0
+BAR2=0
+BAR3=0
+BAR4=0
+BAR5=0
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=30
+InterruptPin=1
+MinimumGrant=176
+MaximumLatency=52
+BAR0Size=256
+BAR1Size=4096
+BAR2Size=0
+BAR3Size=0
+BAR4Size=0
+BAR5Size=0
+
+[system.tsunami.ethernet]
+type=NSGigE
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ethernet.configdata
+pci_bus=0
+pci_dev=1
+pci_func=0
+pio_latency=2
+config_latency=40
+clock=0
+dma_desc_free=false
+dma_data_free=false
+dma_read_delay=0
+dma_write_delay=0
+dma_read_factor=0
+dma_write_factor=0
+dma_no_allocate=true
+intr_delay=20000
+rx_delay=2000
+tx_delay=2000
+rx_fifo_size=524288
+tx_fifo_size=524288
+rx_filter=true
+hardware_address=00:90:00:00:00:01
+rx_thread=false
+tx_thread=false
+rss=false
+
+[system.tsunami.etherint]
+type=NSGigEInt
+peer=null
+device=system.tsunami.ethernet
+
+[system.tsunami.fake_OROM]
+type=IsaFake
+pio_addr=8796093677568
+pio_latency=2
+pio_size=393216
+platform=system.tsunami
+system=system
+
+[system.tsunami.uart]
+type=Uart8250
+pio_addr=8804615848952
+pio_latency=2
+platform=system.tsunami
+sim_console=system.sim_console
+system=system
+
+[system.tsunami.fake_sm_chip]
+type=IsaFake
+pio_addr=8804615848816
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.fake_pnp_addr]
+type=IsaFake
+pio_addr=8804615848569
+pio_latency=2
+pio_size=8
+platform=system.tsunami
+system=system
+
+[system.tsunami.ide.configdata]
+type=PciConfigData
+VendorID=32902
+DeviceID=28945
+Command=0
+Status=640
+Revision=0
+ProgIF=133
+SubClassCode=1
+ClassCode=1
+CacheLineSize=0
+LatencyTimer=0
+HeaderType=0
+BIST=0
+BAR0=1
+BAR1=1
+BAR2=1
+BAR3=1
+BAR4=1
+BAR5=1
+CardbusCIS=0
+SubsystemVendorID=0
+SubsystemID=0
+ExpansionROM=0
+InterruptLine=31
+InterruptPin=1
+MinimumGrant=0
+MaximumLatency=0
+BAR0Size=8
+BAR1Size=4
+BAR2Size=8
+BAR3Size=4
+BAR4Size=16
+BAR5Size=0
+
+[system.tsunami.ide]
+type=IdeController
+system=system
+platform=system.tsunami
+configdata=system.tsunami.ide.configdata
+pci_bus=0
+pci_dev=0
+pci_func=0
+pio_latency=2
+config_latency=40
+disks=system.disk0 system.disk2
+
+[system.iobus]
+type=Bus
+bus_id=0
+
+[trace]
+flags=
+start=0
+cycle=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
+[pseudo_inst]
+quiesce=true
+statistics=true
+checkpoint=true
+
diff --git a/tests/linux-mpboot/ref/alpha/timing/console.system.sim_console b/tests/linux-mpboot/ref/alpha/timing/console.system.sim_console
new file mode 100644
index 000000000..c3c7b2676
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/console.system.sim_console
@@ -0,0 +1,111 @@
+M5 console: m5AlphaAccess @ 0xFFFFFD0200000000
+ Got Configuration 623
+ memsize 8000000 pages 4000
+ First free page after ROM 0xFFFFFC0000018000
+ HWRPB 0xFFFFFC0000018000 l1pt 0xFFFFFC0000040000 l2pt 0xFFFFFC0000042000 l3pt_rpb 0xFFFFFC0000044000 l3pt_kernel 0xFFFFFC0000048000 l2reserv 0xFFFFFC0000046000
+ kstart = 0xFFFFFC0000310000, kend = 0xFFFFFC00008064E8, kentry = 0xFFFFFC0000310000, numCPUs = 0x2
+ CPU Clock at 2000 MHz IntrClockFrequency=1024
+ Booting with 2 processor(s)
+ KSP: 0x20043FE8 PTBR 0x20
+ KSP: 0x20043FE8 PTBR 0x20
+ Console Callback at 0x0, fixup at 0x0, crb offset: 0x790
+ Memory cluster 0 [0 - 392]
+ Memory cluster 1 [392 - 15992]
+ Initalizing mdt_bitmap addr 0xFFFFFC0000038000 mem_pages 4000
+ ConsoleDispatch at virt 100008D8 phys 188D8 val FFFFFC00000100A8
+ Bootstraping CPU 1 with sp=0xFFFFFC0000076000
+ unix_boot_mem ends at FFFFFC0000078000
+ k_argc = 0
+ jumping to kernel at 0xFFFFFC0000310000, (PCBB 0xFFFFFC0000018180 pfn 1028)
+ CallbackFixup 0 18000, t7=FFFFFC0000700000
+ Entering slaveloop for cpu 1 my_rpb=FFFFFC0000018400
+ Linux version 2.6.8.1 (binkertn@ziff.eecs.umich.edu) (gcc version 3.4.3) #36 SMP Mon May 2 19:50:53 EDT 2005
+ Booting GENERIC on Tsunami variation DP264 using machine vector DP264 from SRM
+ Major Options: SMP LEGACY_START VERBOSE_MCHECK
+ Command line: root=/dev/hda1 console=ttyS0
+ memcluster 0, usage 1, start 0, end 392
+ memcluster 1, usage 0, start 392, end 16384
+ freeing pages 1030:16384
+ reserving pages 1030:1031
+ SMP: 2 CPUs probed -- cpu_present_mask = 3
+ Built 1 zonelists
+ Kernel command line: root=/dev/hda1 console=ttyS0
+ PID hash table entries: 1024 (order 10: 16384 bytes)
+ Using epoch = 1900
+ Console: colour dummy device 80x25
+ Dentry cache hash table entries: 32768 (order: 5, 262144 bytes)
+ Inode-cache hash table entries: 16384 (order: 4, 131072 bytes)
+ Memory: 119072k/131072k available (3058k kernel code, 8680k reserved, 695k data, 480k init)
+ Mount-cache hash table entries: 512 (order: 0, 8192 bytes)
+ per-CPU timeslice cutoff: 374.49 usecs.
+ task migration cache decay timeout: 0 msecs.
+ SMP starting up secondaries.
+ Slave CPU 1 console command START
+SlaveCmd: restart FFFFFC0000310020 FFFFFC0000310020 vptb FFFFFFFE00000000 my_rpb FFFFFC0000018400 my_rpb_phys 18400
+ Brought up 2 CPUs
+ SMP: Total of 2 processors activated (8000.15 BogoMIPS).
+ NET: Registered protocol family 16
+ EISA bus registered
+ pci: enabling save/restore of SRM state
+ SCSI subsystem initialized
+ srm_env: version 0.0.5 loaded successfully
+ Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
+ Initializing Cryptographic API
+ rtc: Standard PC (1900) epoch (1900) detected
+ Real Time Clock Driver v1.12
+ Serial: 8250/16550 driver $Revision: 1.90 $ 5 ports, IRQ sharing disabled
+ ttyS0 at I/O 0x3f8 (irq = 4) is a 8250
+ loop: loaded (max 8 devices)
+ Using anticipatory io scheduler
+ nbd: registered device at major 43
+ sinic.c: M5 Simple Integrated NIC driver
+ ns83820.c: National Semiconductor DP83820 10/100/1000 driver.
+ eth0: ns83820.c: 0x22c: 00000000, subsystem: 0000:0000
+ eth0: enabling optical transceiver
+ eth0: ns83820 v0.20: DP83820 v1.3: 00:90:00:00:00:01 io=0x09000000 irq=30 f=sg
+ Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
+ ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
+ PIIX4: IDE controller at PCI slot 0000:00:00.0
+ PIIX4: chipset revision 0
+ PIIX4: 100% native mode on irq 31
+ ide0: BM-DMA at 0x8400-0x8407, BIOS settings: hda:DMA, hdb:DMA
+ ide1: BM-DMA at 0x8408-0x840f, BIOS settings: hdc:DMA, hdd:DMA
+ hda: M5 IDE Disk, ATA DISK drive
+ hdb: M5 IDE Disk, ATA DISK drive
+ ide0 at 0x8410-0x8417,0x8422 on irq 31
+ hda: max request size: 128KiB
+ hda: 163296 sectors (83 MB), CHS=162/16/63, UDMA(33)
+ hda: hda1
+ hdb: max request size: 128KiB
+ hdb: 4177920 sectors (2139 MB), CHS=4144/16/63, UDMA(33)
+ hdb: unknown partition table
+ scsi0 : scsi_m5, version 1.73 [20040518], dev_size_mb=8, opts=0x0
+ Vendor: Linux Model: scsi_m5 Li Rev: 0004
+ Type: Direct-Access ANSI SCSI revision: 03
+ SCSI device sda: 16384 512-byte hdwr sectors (8 MB)
+ SCSI device sda: drive cache: write back
+ sda: unknown partition table
+ Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
+ mice: PS/2 mouse device common for all mice
+ NET: Registered protocol family 2
+ IP: routing cache hash table of 1024 buckets, 16Kbytes
+ TCP: Hash tables configured (established 8192 bind 8192)
+ ip_conntrack version 2.1 (512 buckets, 4096 max) - 440 bytes per conntrack
+ ip_tables: (C) 2000-2002 Netfilter core team
+ arp_tables: (C) 2002 David S. Miller
+ Initializing IPsec netlink socket
+ NET: Registered protocol family 1
+ NET: Registered protocol family 17
+ NET: Registered protocol family 15
+ Bridge firewalling registered
+ 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
+ All bugs added by David S. Miller <davem@redhat.com>
+ VFS: Mounted root (ext2 filesystem) readonly.
+ Freeing unused kernel memory: 480k freed
+ init started: BusyBox v1.00-rc2 (2004.11.18-16:22+0000) multi-call binary
+
+PTXdist-0.7.0 (2004-11-18T11:23:40-0500)
+
+mounting filesystems...
+EXT2-fs warning: checktime reached, running e2fsck is recommended
+ loading script...
diff --git a/tests/linux-mpboot/ref/alpha/timing/m5stats.txt b/tests/linux-mpboot/ref/alpha/timing/m5stats.txt
new file mode 100644
index 000000000..d3b8bc005
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/m5stats.txt
@@ -0,0 +1,275 @@
+
+---------- Begin Simulation Statistics ----------
+host_inst_rate 502011 # Simulator instruction rate (inst/s)
+host_mem_usage 195696 # Number of bytes of host memory used
+host_seconds 125.67 # Real time elapsed on the host
+host_tick_rate 28164267 # Simulator tick rate (ticks/s)
+sim_freq 2000000000 # Frequency of simulated ticks
+sim_insts 63088076 # Number of instructions simulated
+sim_seconds 1.769718 # Number of seconds simulated
+sim_ticks 3539435029 # Number of ticks simulated
+system.cpu0.dtb.accesses 1831687 # DTB accesses
+system.cpu0.dtb.acv 360 # DTB access violations
+system.cpu0.dtb.hits 10286150 # DTB hits
+system.cpu0.dtb.misses 11050 # DTB misses
+system.cpu0.dtb.read_accesses 495437 # DTB read accesses
+system.cpu0.dtb.read_acv 219 # DTB read access violations
+system.cpu0.dtb.read_hits 5741423 # DTB read hits
+system.cpu0.dtb.read_misses 9036 # DTB read misses
+system.cpu0.dtb.write_accesses 1336250 # DTB write accesses
+system.cpu0.dtb.write_acv 141 # DTB write access violations
+system.cpu0.dtb.write_hits 4544727 # DTB write hits
+system.cpu0.dtb.write_misses 2014 # DTB write misses
+system.cpu0.idle_fraction 0.984526 # Percentage of idle cycles
+system.cpu0.itb.accesses 2328068 # ITB accesses
+system.cpu0.itb.acv 216 # ITB acv
+system.cpu0.itb.hits 2323500 # ITB hits
+system.cpu0.itb.misses 4568 # ITB misses
+system.cpu0.kern.callpal 145575 # number of callpals executed
+system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
+system.cpu0.kern.callpal_wripir 45 0.03% 0.03% # number of callpals executed
+system.cpu0.kern.callpal_wrmces 1 0.00% 0.03% # number of callpals executed
+system.cpu0.kern.callpal_wrfen 1 0.00% 0.03% # number of callpals executed
+system.cpu0.kern.callpal_wrvptptr 1 0.00% 0.03% # number of callpals executed
+system.cpu0.kern.callpal_swpctx 1334 0.92% 0.95% # number of callpals executed
+system.cpu0.kern.callpal_tbi 20 0.01% 0.96% # number of callpals executed
+system.cpu0.kern.callpal_wrent 7 0.00% 0.97% # number of callpals executed
+system.cpu0.kern.callpal_swpipl 135235 92.90% 93.87% # number of callpals executed
+system.cpu0.kern.callpal_rdps 4594 3.16% 97.02% # number of callpals executed
+system.cpu0.kern.callpal_wrkgp 1 0.00% 97.02% # number of callpals executed
+system.cpu0.kern.callpal_wrusp 4 0.00% 97.02% # number of callpals executed
+system.cpu0.kern.callpal_rdusp 11 0.01% 97.03% # number of callpals executed
+system.cpu0.kern.callpal_whami 2 0.00% 97.03% # number of callpals executed
+system.cpu0.kern.callpal_rti 3660 2.51% 99.55% # number of callpals executed
+system.cpu0.kern.callpal_callsys 461 0.32% 99.86% # number of callpals executed
+system.cpu0.kern.callpal_imb 197 0.14% 100.00% # number of callpals executed
+system.cpu0.kern.inst.arm 0 # number of arm instructions executed
+system.cpu0.kern.inst.hwrei 163916 # number of hwrei instructions executed
+system.cpu0.kern.inst.ivlb 0 # number of ivlb instructions executed
+system.cpu0.kern.inst.ivle 0 # number of ivle instructions executed
+system.cpu0.kern.inst.quiesce 1952 # number of quiesce instructions executed
+system.cpu0.kern.ipl_count 141041 # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_0 56950 40.38% 40.38% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_21 286 0.20% 40.58% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_22 5513 3.91% 44.49% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_30 52 0.04% 44.53% # number of times we switched to this ipl
+system.cpu0.kern.ipl_count_31 78240 55.47% 100.00% # number of times we switched to this ipl
+system.cpu0.kern.ipl_good 123339 # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_0 56917 46.15% 46.15% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_21 286 0.23% 46.38% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_22 5513 4.47% 50.85% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_30 52 0.04% 50.89% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_good_31 60571 49.11% 100.00% # number of times we switched to this ipl from a different ipl
+system.cpu0.kern.ipl_ticks 3539063979 # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_0 3513499166 99.28% 99.28% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_21 60705 0.00% 99.28% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_22 1354114 0.04% 99.32% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_30 18748 0.00% 99.32% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_ticks_31 24131246 0.68% 100.00% # number of cycles we spent at this ipl
+system.cpu0.kern.ipl_used 0.874490 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_0 0.999421 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.ipl_used_31 0.774169 # fraction of swpipl calls that actually changed the ipl
+system.cpu0.kern.mode_good_kernel 1632
+system.cpu0.kern.mode_good_user 1487
+system.cpu0.kern.mode_good_idle 145
+system.cpu0.kern.mode_switch_kernel 2857 # number of protection mode switches
+system.cpu0.kern.mode_switch_user 1487 # number of protection mode switches
+system.cpu0.kern.mode_switch_idle 2125 # number of protection mode switches
+system.cpu0.kern.mode_switch_good 0.504560 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_kernel 0.571229 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
+system.cpu0.kern.mode_switch_good_idle 0.068235 # fraction of useful protection mode switches
+system.cpu0.kern.mode_ticks_kernel 23634401 0.67% 0.67% # number of ticks spent at the given mode
+system.cpu0.kern.mode_ticks_user 3241731 0.09% 0.76% # number of ticks spent at the given mode
+system.cpu0.kern.mode_ticks_idle 3511854943 99.24% 100.00% # number of ticks spent at the given mode
+system.cpu0.kern.swap_context 1335 # number of times the context was actually changed
+system.cpu0.kern.syscall 312 # number of syscalls executed
+system.cpu0.kern.syscall_fork 9 2.88% 2.88% # number of syscalls executed
+system.cpu0.kern.syscall_read 20 6.41% 9.29% # number of syscalls executed
+system.cpu0.kern.syscall_write 6 1.92% 11.22% # number of syscalls executed
+system.cpu0.kern.syscall_close 36 11.54% 22.76% # number of syscalls executed
+system.cpu0.kern.syscall_chdir 1 0.32% 23.08% # number of syscalls executed
+system.cpu0.kern.syscall_chmod 1 0.32% 23.40% # number of syscalls executed
+system.cpu0.kern.syscall_obreak 26 8.33% 31.73% # number of syscalls executed
+system.cpu0.kern.syscall_lseek 9 2.88% 34.62% # number of syscalls executed
+system.cpu0.kern.syscall_getpid 8 2.56% 37.18% # number of syscalls executed
+system.cpu0.kern.syscall_setuid 2 0.64% 37.82% # number of syscalls executed
+system.cpu0.kern.syscall_getuid 4 1.28% 39.10% # number of syscalls executed
+system.cpu0.kern.syscall_access 4 1.28% 40.38% # number of syscalls executed
+system.cpu0.kern.syscall_dup 4 1.28% 41.67% # number of syscalls executed
+system.cpu0.kern.syscall_open 40 12.82% 54.49% # number of syscalls executed
+system.cpu0.kern.syscall_getgid 4 1.28% 55.77% # number of syscalls executed
+system.cpu0.kern.syscall_sigprocmask 12 3.85% 59.62% # number of syscalls executed
+system.cpu0.kern.syscall_ioctl 13 4.17% 63.78% # number of syscalls executed
+system.cpu0.kern.syscall_readlink 1 0.32% 64.10% # number of syscalls executed
+system.cpu0.kern.syscall_execve 7 2.24% 66.35% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_stat 22 7.05% 73.40% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_lstat 1 0.32% 73.72% # number of syscalls executed
+system.cpu0.kern.syscall_mmap 28 8.97% 82.69% # number of syscalls executed
+system.cpu0.kern.syscall_munmap 4 1.28% 83.97% # number of syscalls executed
+system.cpu0.kern.syscall_mprotect 7 2.24% 86.22% # number of syscalls executed
+system.cpu0.kern.syscall_gethostname 1 0.32% 86.54% # number of syscalls executed
+system.cpu0.kern.syscall_dup2 3 0.96% 87.50% # number of syscalls executed
+system.cpu0.kern.syscall_pre_F64_fstat 15 4.81% 92.31% # number of syscalls executed
+system.cpu0.kern.syscall_fcntl 11 3.53% 95.83% # number of syscalls executed
+system.cpu0.kern.syscall_socket 3 0.96% 96.79% # number of syscalls executed
+system.cpu0.kern.syscall_connect 3 0.96% 97.76% # number of syscalls executed
+system.cpu0.kern.syscall_setgid 2 0.64% 98.40% # number of syscalls executed
+system.cpu0.kern.syscall_getrlimit 2 0.64% 99.04% # number of syscalls executed
+system.cpu0.kern.syscall_setsid 3 0.96% 100.00% # number of syscalls executed
+system.cpu0.not_idle_fraction 0.015474 # Percentage of non-idle cycles
+system.cpu0.numCycles 0 # number of cpu cycles simulated
+system.cpu0.num_insts 44447414 # Number of instructions executed
+system.cpu0.num_refs 10321518 # Number of memory references
+system.cpu1.dtb.accesses 524398 # DTB accesses
+system.cpu1.dtb.acv 60 # DTB access violations
+system.cpu1.dtb.hits 4612716 # DTB hits
+system.cpu1.dtb.misses 5263 # DTB misses
+system.cpu1.dtb.read_accesses 337746 # DTB read accesses
+system.cpu1.dtb.read_acv 23 # DTB read access violations
+system.cpu1.dtb.read_hits 2649302 # DTB read hits
+system.cpu1.dtb.read_misses 4766 # DTB read misses
+system.cpu1.dtb.write_accesses 186652 # DTB write accesses
+system.cpu1.dtb.write_acv 37 # DTB write access violations
+system.cpu1.dtb.write_hits 1963414 # DTB write hits
+system.cpu1.dtb.write_misses 497 # DTB write misses
+system.cpu1.idle_fraction 0.993423 # Percentage of idle cycles
+system.cpu1.itb.accesses 1711918 # ITB accesses
+system.cpu1.itb.acv 23 # ITB acv
+system.cpu1.itb.hits 1709683 # ITB hits
+system.cpu1.itb.misses 2235 # ITB misses
+system.cpu1.kern.callpal 58341 # number of callpals executed
+system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
+system.cpu1.kern.callpal_wripir 52 0.09% 0.09% # number of callpals executed
+system.cpu1.kern.callpal_wrmces 1 0.00% 0.09% # number of callpals executed
+system.cpu1.kern.callpal_wrfen 1 0.00% 0.09% # number of callpals executed
+system.cpu1.kern.callpal_swpctx 588 1.01% 1.10% # number of callpals executed
+system.cpu1.kern.callpal_tbi 7 0.01% 1.11% # number of callpals executed
+system.cpu1.kern.callpal_wrent 7 0.01% 1.13% # number of callpals executed
+system.cpu1.kern.callpal_swpipl 54562 93.52% 94.65% # number of callpals executed
+system.cpu1.kern.callpal_rdps 217 0.37% 95.02% # number of callpals executed
+system.cpu1.kern.callpal_wrkgp 1 0.00% 95.02% # number of callpals executed
+system.cpu1.kern.callpal_wrusp 4 0.01% 95.03% # number of callpals executed
+system.cpu1.kern.callpal_rdusp 1 0.00% 95.03% # number of callpals executed
+system.cpu1.kern.callpal_whami 3 0.01% 95.04% # number of callpals executed
+system.cpu1.kern.callpal_rti 2571 4.41% 99.44% # number of callpals executed
+system.cpu1.kern.callpal_callsys 208 0.36% 99.80% # number of callpals executed
+system.cpu1.kern.callpal_imb 116 0.20% 100.00% # number of callpals executed
+system.cpu1.kern.callpal_rdunique 1 0.00% 100.00% # number of callpals executed
+system.cpu1.kern.inst.arm 0 # number of arm instructions executed
+system.cpu1.kern.inst.hwrei 67770 # number of hwrei instructions executed
+system.cpu1.kern.inst.ivlb 0 # number of ivlb instructions executed
+system.cpu1.kern.inst.ivle 0 # number of ivle instructions executed
+system.cpu1.kern.inst.quiesce 1892 # number of quiesce instructions executed
+system.cpu1.kern.ipl_count 58980 # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_0 25467 43.18% 43.18% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_22 5476 9.28% 52.46% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_30 45 0.08% 52.54% # number of times we switched to this ipl
+system.cpu1.kern.ipl_count_31 27992 47.46% 100.00% # number of times we switched to this ipl
+system.cpu1.kern.ipl_good 58199 # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_0 25424 43.68% 43.68% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_22 5476 9.41% 53.09% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_30 45 0.08% 53.17% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_good_31 27254 46.83% 100.00% # number of times we switched to this ipl from a different ipl
+system.cpu1.kern.ipl_ticks 3539434499 # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_0 3510645847 99.19% 99.19% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_22 1415637 0.04% 99.23% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_30 16792 0.00% 99.23% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_ticks_31 27356223 0.77% 100.00% # number of cycles we spent at this ipl
+system.cpu1.kern.ipl_used 0.986758 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_0 0.998312 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.ipl_used_31 0.973635 # fraction of swpipl calls that actually changed the ipl
+system.cpu1.kern.mode_good_kernel 690
+system.cpu1.kern.mode_good_user 691
+system.cpu1.kern.mode_good_idle 0
+system.cpu1.kern.mode_switch_kernel 3141 # number of protection mode switches
+system.cpu1.kern.mode_switch_user 691 # number of protection mode switches
+system.cpu1.kern.mode_switch_idle 0 # number of protection mode switches
+system.cpu1.kern.mode_switch_good 0.360386 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_kernel 0.219675 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
+system.cpu1.kern.mode_switch_good_idle <err: div-0> # fraction of useful protection mode switches
+system.cpu1.kern.mode_ticks_kernel 3537141786 99.94% 99.94% # number of ticks spent at the given mode
+system.cpu1.kern.mode_ticks_user 2292711 0.06% 100.00% # number of ticks spent at the given mode
+system.cpu1.kern.mode_ticks_idle 0 0.00% 100.00% # number of ticks spent at the given mode
+system.cpu1.kern.swap_context 589 # number of times the context was actually changed
+system.cpu1.kern.syscall 163 # number of syscalls executed
+system.cpu1.kern.syscall_fork 1 0.61% 0.61% # number of syscalls executed
+system.cpu1.kern.syscall_read 13 7.98% 8.59% # number of syscalls executed
+system.cpu1.kern.syscall_write 1 0.61% 9.20% # number of syscalls executed
+system.cpu1.kern.syscall_close 13 7.98% 17.18% # number of syscalls executed
+system.cpu1.kern.syscall_obreak 18 11.04% 28.22% # number of syscalls executed
+system.cpu1.kern.syscall_lseek 4 2.45% 30.67% # number of syscalls executed
+system.cpu1.kern.syscall_getpid 2 1.23% 31.90% # number of syscalls executed
+system.cpu1.kern.syscall_setuid 2 1.23% 33.13% # number of syscalls executed
+system.cpu1.kern.syscall_getuid 4 2.45% 35.58% # number of syscalls executed
+system.cpu1.kern.syscall_open 28 17.18% 52.76% # number of syscalls executed
+system.cpu1.kern.syscall_getgid 4 2.45% 55.21% # number of syscalls executed
+system.cpu1.kern.syscall_sigprocmask 2 1.23% 56.44% # number of syscalls executed
+system.cpu1.kern.syscall_ioctl 3 1.84% 58.28% # number of syscalls executed
+system.cpu1.kern.syscall_readlink 1 0.61% 58.90% # number of syscalls executed
+system.cpu1.kern.syscall_execve 1 0.61% 59.51% # number of syscalls executed
+system.cpu1.kern.syscall_pre_F64_stat 9 5.52% 65.03% # number of syscalls executed
+system.cpu1.kern.syscall_mmap 27 16.56% 81.60% # number of syscalls executed
+system.cpu1.kern.syscall_munmap 2 1.23% 82.82% # number of syscalls executed
+system.cpu1.kern.syscall_mprotect 7 4.29% 87.12% # number of syscalls executed
+system.cpu1.kern.syscall_gethostname 1 0.61% 87.73% # number of syscalls executed
+system.cpu1.kern.syscall_dup2 1 0.61% 88.34% # number of syscalls executed
+system.cpu1.kern.syscall_pre_F64_fstat 13 7.98% 96.32% # number of syscalls executed
+system.cpu1.kern.syscall_fcntl 3 1.84% 98.16% # number of syscalls executed
+system.cpu1.kern.syscall_setgid 2 1.23% 99.39% # number of syscalls executed
+system.cpu1.kern.syscall_getrlimit 1 0.61% 100.00% # number of syscalls executed
+system.cpu1.not_idle_fraction 0.006577 # Percentage of non-idle cycles
+system.cpu1.numCycles 0 # number of cpu cycles simulated
+system.cpu1.num_insts 18640662 # Number of instructions executed
+system.cpu1.num_refs 4633112 # Number of memory references
+system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
+system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
+system.disk0.dma_write_bytes 2521088 # Number of bytes transfered via DMA writes.
+system.disk0.dma_write_full_pages 285 # Number of full page size DMA writes.
+system.disk0.dma_write_txs 375 # Number of DMA write transactions.
+system.disk2.dma_read_bytes 0 # Number of bytes transfered via DMA reads (not PRD).
+system.disk2.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
+system.disk2.dma_read_txs 0 # Number of DMA read transactions (not PRD).
+system.disk2.dma_write_bytes 8192 # Number of bytes transfered via DMA writes.
+system.disk2.dma_write_full_pages 1 # Number of full page size DMA writes.
+system.disk2.dma_write_txs 1 # Number of DMA write transactions.
+system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedRxIdle <err: div-0> # average number of RxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
+system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
+system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
+system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
+system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
+system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
+system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
+system.tsunami.ethernet.descDMAReads 0 # Number of descriptors the device read w/ DMA
+system.tsunami.ethernet.descDMAWrites 0 # Number of descriptors the device wrote w/ DMA
+system.tsunami.ethernet.descDmaReadBytes 0 # number of descriptor bytes read w/ DMA
+system.tsunami.ethernet.descDmaWriteBytes 0 # number of descriptor bytes write w/ DMA
+system.tsunami.ethernet.droppedPackets 0 # number of packets dropped
+system.tsunami.ethernet.postedInterrupts 0 # number of posts to CPU
+system.tsunami.ethernet.postedRxDesc 0 # number of RxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedRxIdle 0 # number of rxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedRxOk 0 # number of RxOk interrupts posted to CPU
+system.tsunami.ethernet.postedRxOrn 0 # number of RxOrn posted to CPU
+system.tsunami.ethernet.postedSwi 0 # number of software interrupts posted to CPU
+system.tsunami.ethernet.postedTxDesc 0 # number of TxDesc interrupts posted to CPU
+system.tsunami.ethernet.postedTxIdle 0 # number of TxIdle interrupts posted to CPU
+system.tsunami.ethernet.postedTxOk 0 # number of TxOk interrupts posted to CPU
+system.tsunami.ethernet.totalRxDesc 0 # total number of RxDesc written to ISR
+system.tsunami.ethernet.totalRxIdle 0 # total number of RxIdle written to ISR
+system.tsunami.ethernet.totalRxOk 0 # total number of RxOk written to ISR
+system.tsunami.ethernet.totalRxOrn 0 # total number of RxOrn written to ISR
+system.tsunami.ethernet.totalSwi 0 # total number of Swi written to ISR
+system.tsunami.ethernet.totalTxDesc 0 # total number of TxDesc written to ISR
+system.tsunami.ethernet.totalTxIdle 0 # total number of TxIdle written to ISR
+system.tsunami.ethernet.totalTxOk 0 # total number of TxOk written to ISR
+
+---------- End Simulation Statistics ----------
diff --git a/tests/linux-mpboot/ref/alpha/timing/stderr b/tests/linux-mpboot/ref/alpha/timing/stderr
new file mode 100644
index 000000000..719722c8f
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/stderr
@@ -0,0 +1,6 @@
+ 0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
+Listening for console connection on port 3456
+0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
+0: system.remote_gdb.listener: listening for remote gdb #1 on port 7003
+warn: Entering event queue @ 0. Starting simulation...
+warn: 271342: Trying to launch CPU number 1!
diff --git a/tests/linux-mpboot/ref/alpha/timing/stdout b/tests/linux-mpboot/ref/alpha/timing/stdout
new file mode 100644
index 000000000..e91c14045
--- /dev/null
+++ b/tests/linux-mpboot/ref/alpha/timing/stdout
@@ -0,0 +1,12 @@
+M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 16:54:00
+M5 started Thu Jul 27 17:12:18 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/test/opt/linux-mpboot/timing tests/linux-mpboot/run.py --timing
+Exiting @ cycle 3539435029 because m5_exit instruction encountered
diff --git a/tests/test1/ref/alpha/atomic/config.ini b/tests/test1/ref/alpha/atomic/config.ini
new file mode 100644
index 000000000..4cbe1fce6
--- /dev/null
+++ b/tests/test1/ref/alpha/atomic/config.ini
@@ -0,0 +1,95 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=1000000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=System
+children=cpu physmem workload
+mem_mode=atomic
+physmem=system.physmem
+
+[system.cpu]
+type=AtomicSimpleCPU
+children=mem
+clock=1
+defer_registration=false
+function_trace=false
+function_trace_start=0
+max_insts_all_threads=0
+max_insts_any_thread=500000
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.cpu.mem
+simulate_stalls=false
+system=system
+width=1
+workload=system.workload
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+
+[system.workload]
+type=EioProcess
+chkpt=
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+output=cout
+system=system
+
+[trace]
+bufsize=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/test1/ref/alpha/atomic/config.out b/tests/test1/ref/alpha/atomic/config.out
new file mode 100644
index 000000000..65a9f6f7f
--- /dev/null
+++ b/tests/test1/ref/alpha/atomic/config.out
@@ -0,0 +1,90 @@
+[root]
+type=Root
+clock=1000000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+// range not specified
+latency=1
+
+[system]
+type=System
+physmem=system.physmem
+mem_mode=atomic
+
+[system.workload]
+type=EioProcess
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+chkpt=
+output=cout
+system=system
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.cpu]
+type=AtomicSimpleCPU
+max_insts_any_thread=500000
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.cpu.mem
+system=system
+workload=system.workload
+clock=1
+defer_registration=false
+width=1
+function_trace=false
+function_trace_start=0
+simulate_stalls=false
+
+[trace]
+flags=
+start=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
diff --git a/tests/test1/ref/alpha/atomic/m5stats.txt b/tests/test1/ref/alpha/atomic/m5stats.txt
new file mode 100644
index 000000000..29c0b91ac
--- /dev/null
+++ b/tests/test1/ref/alpha/atomic/m5stats.txt
@@ -0,0 +1,18 @@
+
+---------- Begin Simulation Statistics ----------
+host_inst_rate 1310554 # Simulator instruction rate (inst/s)
+host_mem_usage 147620 # Number of bytes of host memory used
+host_seconds 0.38 # Real time elapsed on the host
+host_tick_rate 1308843 # Simulator tick rate (ticks/s)
+sim_freq 1000000000000 # Frequency of simulated ticks
+sim_insts 500000 # Number of instructions simulated
+sim_seconds 0.000000 # Number of seconds simulated
+sim_ticks 499999 # Number of ticks simulated
+system.cpu.idle_fraction 0 # Percentage of idle cycles
+system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
+system.cpu.numCycles 500000 # number of cpu cycles simulated
+system.cpu.num_insts 500000 # Number of instructions executed
+system.cpu.num_refs 182204 # Number of memory references
+system.workload.PROG:num_syscalls 18 # Number of system calls
+
+---------- End Simulation Statistics ----------
diff --git a/tests/test1/ref/alpha/atomic/stderr b/tests/test1/ref/alpha/atomic/stderr
new file mode 100644
index 000000000..4e444fa6b
--- /dev/null
+++ b/tests/test1/ref/alpha/atomic/stderr
@@ -0,0 +1,3 @@
+warn: Entering event queue @ 0. Starting simulation...
+
+gzip: stdout: Broken pipe
diff --git a/tests/test1/ref/alpha/atomic/stdout b/tests/test1/ref/alpha/atomic/stdout
new file mode 100644
index 000000000..80b37e259
--- /dev/null
+++ b/tests/test1/ref/alpha/atomic/stdout
@@ -0,0 +1,14 @@
+main dictionary has 1245 entries
+49508 bytes wasted
+>M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 17:25:03
+M5 started Thu Jul 27 17:25:11 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/test/opt/test1/atomic tests/test1/run.py
+Exiting @ tick 499999 because a thread reached the max instruction count
diff --git a/tests/test1/ref/alpha/detailed/config.ini b/tests/test1/ref/alpha/detailed/config.ini
new file mode 100644
index 000000000..a442ec572
--- /dev/null
+++ b/tests/test1/ref/alpha/detailed/config.ini
@@ -0,0 +1,285 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=1000000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=System
+children=cpu physmem workload
+mem_mode=atomic
+physmem=system.physmem
+
+[system.cpu]
+type=DerivO3CPU
+children=fuPool mem
+BTBEntries=4096
+BTBTagSize=16
+LFSTSize=1024
+LQEntries=32
+RASSize=16
+SQEntries=32
+SSITSize=1024
+activity=0
+backComSize=5
+choiceCtrBits=2
+choicePredictorSize=8192
+clock=1
+commitToDecodeDelay=1
+commitToFetchDelay=1
+commitToIEWDelay=1
+commitToRenameDelay=1
+commitWidth=8
+decodeToFetchDelay=1
+decodeToRenameDelay=1
+decodeWidth=8
+defer_registration=false
+dispatchWidth=8
+fetchToDecodeDelay=1
+fetchTrapLatency=1
+fetchWidth=8
+forwardComSize=5
+fuPool=system.cpu.fuPool
+function_trace=false
+function_trace_start=0
+globalCtrBits=2
+globalHistoryBits=13
+globalPredictorSize=8192
+iewToCommitDelay=1
+iewToDecodeDelay=1
+iewToFetchDelay=1
+iewToRenameDelay=1
+instShiftAmt=2
+issueToExecuteDelay=1
+issueWidth=8
+localCtrBits=2
+localHistoryBits=11
+localHistoryTableSize=2048
+localPredictorSize=2048
+max_insts_all_threads=0
+max_insts_any_thread=500000
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.cpu.mem
+numIQEntries=64
+numPhysFloatRegs=256
+numPhysIntRegs=256
+numROBEntries=192
+numRobs=1
+numThreads=1
+predType=tournament
+renameToDecodeDelay=1
+renameToFetchDelay=1
+renameToIEWDelay=2
+renameToROBDelay=1
+renameWidth=8
+squashWidth=8
+system=system
+trapLatency=13
+wbDepth=1
+wbWidth=8
+workload=system.workload
+
+[system.cpu.fuPool]
+type=FUPool
+children=FUList0 FUList1 FUList2 FUList3 FUList4 FUList5 FUList6 FUList7
+FUList=system.cpu.fuPool.FUList0 system.cpu.fuPool.FUList1 system.cpu.fuPool.FUList2 system.cpu.fuPool.FUList3 system.cpu.fuPool.FUList4 system.cpu.fuPool.FUList5 system.cpu.fuPool.FUList6 system.cpu.fuPool.FUList7
+
+[system.cpu.fuPool.FUList0]
+type=FUDesc
+children=opList0
+count=6
+opList=system.cpu.fuPool.FUList0.opList0
+
+[system.cpu.fuPool.FUList0.opList0]
+type=OpDesc
+issueLat=1
+opClass=IntAlu
+opLat=1
+
+[system.cpu.fuPool.FUList1]
+type=FUDesc
+children=opList0 opList1
+count=2
+opList=system.cpu.fuPool.FUList1.opList0 system.cpu.fuPool.FUList1.opList1
+
+[system.cpu.fuPool.FUList1.opList0]
+type=OpDesc
+issueLat=1
+opClass=IntMult
+opLat=3
+
+[system.cpu.fuPool.FUList1.opList1]
+type=OpDesc
+issueLat=19
+opClass=IntDiv
+opLat=20
+
+[system.cpu.fuPool.FUList2]
+type=FUDesc
+children=opList0 opList1 opList2
+count=4
+opList=system.cpu.fuPool.FUList2.opList0 system.cpu.fuPool.FUList2.opList1 system.cpu.fuPool.FUList2.opList2
+
+[system.cpu.fuPool.FUList2.opList0]
+type=OpDesc
+issueLat=1
+opClass=FloatAdd
+opLat=2
+
+[system.cpu.fuPool.FUList2.opList1]
+type=OpDesc
+issueLat=1
+opClass=FloatCmp
+opLat=2
+
+[system.cpu.fuPool.FUList2.opList2]
+type=OpDesc
+issueLat=1
+opClass=FloatCvt
+opLat=2
+
+[system.cpu.fuPool.FUList3]
+type=FUDesc
+children=opList0 opList1 opList2
+count=2
+opList=system.cpu.fuPool.FUList3.opList0 system.cpu.fuPool.FUList3.opList1 system.cpu.fuPool.FUList3.opList2
+
+[system.cpu.fuPool.FUList3.opList0]
+type=OpDesc
+issueLat=1
+opClass=FloatMult
+opLat=4
+
+[system.cpu.fuPool.FUList3.opList1]
+type=OpDesc
+issueLat=12
+opClass=FloatDiv
+opLat=12
+
+[system.cpu.fuPool.FUList3.opList2]
+type=OpDesc
+issueLat=24
+opClass=FloatSqrt
+opLat=24
+
+[system.cpu.fuPool.FUList4]
+type=FUDesc
+children=opList0
+count=0
+opList=system.cpu.fuPool.FUList4.opList0
+
+[system.cpu.fuPool.FUList4.opList0]
+type=OpDesc
+issueLat=1
+opClass=MemRead
+opLat=1
+
+[system.cpu.fuPool.FUList5]
+type=FUDesc
+children=opList0
+count=0
+opList=system.cpu.fuPool.FUList5.opList0
+
+[system.cpu.fuPool.FUList5.opList0]
+type=OpDesc
+issueLat=1
+opClass=MemWrite
+opLat=1
+
+[system.cpu.fuPool.FUList6]
+type=FUDesc
+children=opList0 opList1
+count=4
+opList=system.cpu.fuPool.FUList6.opList0 system.cpu.fuPool.FUList6.opList1
+
+[system.cpu.fuPool.FUList6.opList0]
+type=OpDesc
+issueLat=1
+opClass=MemRead
+opLat=1
+
+[system.cpu.fuPool.FUList6.opList1]
+type=OpDesc
+issueLat=1
+opClass=MemWrite
+opLat=1
+
+[system.cpu.fuPool.FUList7]
+type=FUDesc
+children=opList0
+count=1
+opList=system.cpu.fuPool.FUList7.opList0
+
+[system.cpu.fuPool.FUList7.opList0]
+type=OpDesc
+issueLat=3
+opClass=IprAccess
+opLat=3
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+
+[system.workload]
+type=EioProcess
+chkpt=
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+output=cout
+system=system
+
+[trace]
+bufsize=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/test1/ref/alpha/detailed/config.out b/tests/test1/ref/alpha/detailed/config.out
new file mode 100644
index 000000000..c92557696
--- /dev/null
+++ b/tests/test1/ref/alpha/detailed/config.out
@@ -0,0 +1,279 @@
+[root]
+type=Root
+clock=1000000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+// range not specified
+latency=1
+
+[system]
+type=System
+physmem=system.physmem
+mem_mode=atomic
+
+[system.workload]
+type=EioProcess
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+chkpt=
+output=cout
+system=system
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.cpu.fuPool.FUList0.opList0]
+type=OpDesc
+opClass=IntAlu
+opLat=1
+issueLat=1
+
+[system.cpu.fuPool.FUList0]
+type=FUDesc
+opList=system.cpu.fuPool.FUList0.opList0
+count=6
+
+[system.cpu.fuPool.FUList1.opList0]
+type=OpDesc
+opClass=IntMult
+opLat=3
+issueLat=1
+
+[system.cpu.fuPool.FUList1.opList1]
+type=OpDesc
+opClass=IntDiv
+opLat=20
+issueLat=19
+
+[system.cpu.fuPool.FUList1]
+type=FUDesc
+opList=system.cpu.fuPool.FUList1.opList0 system.cpu.fuPool.FUList1.opList1
+count=2
+
+[system.cpu.fuPool.FUList2.opList0]
+type=OpDesc
+opClass=FloatAdd
+opLat=2
+issueLat=1
+
+[system.cpu.fuPool.FUList2.opList1]
+type=OpDesc
+opClass=FloatCmp
+opLat=2
+issueLat=1
+
+[system.cpu.fuPool.FUList2.opList2]
+type=OpDesc
+opClass=FloatCvt
+opLat=2
+issueLat=1
+
+[system.cpu.fuPool.FUList2]
+type=FUDesc
+opList=system.cpu.fuPool.FUList2.opList0 system.cpu.fuPool.FUList2.opList1 system.cpu.fuPool.FUList2.opList2
+count=4
+
+[system.cpu.fuPool.FUList3.opList0]
+type=OpDesc
+opClass=FloatMult
+opLat=4
+issueLat=1
+
+[system.cpu.fuPool.FUList3.opList1]
+type=OpDesc
+opClass=FloatDiv
+opLat=12
+issueLat=12
+
+[system.cpu.fuPool.FUList3.opList2]
+type=OpDesc
+opClass=FloatSqrt
+opLat=24
+issueLat=24
+
+[system.cpu.fuPool.FUList3]
+type=FUDesc
+opList=system.cpu.fuPool.FUList3.opList0 system.cpu.fuPool.FUList3.opList1 system.cpu.fuPool.FUList3.opList2
+count=2
+
+[system.cpu.fuPool.FUList4.opList0]
+type=OpDesc
+opClass=MemRead
+opLat=1
+issueLat=1
+
+[system.cpu.fuPool.FUList4]
+type=FUDesc
+opList=system.cpu.fuPool.FUList4.opList0
+count=0
+
+[system.cpu.fuPool.FUList5.opList0]
+type=OpDesc
+opClass=MemWrite
+opLat=1
+issueLat=1
+
+[system.cpu.fuPool.FUList5]
+type=FUDesc
+opList=system.cpu.fuPool.FUList5.opList0
+count=0
+
+[system.cpu.fuPool.FUList6.opList0]
+type=OpDesc
+opClass=MemRead
+opLat=1
+issueLat=1
+
+[system.cpu.fuPool.FUList6.opList1]
+type=OpDesc
+opClass=MemWrite
+opLat=1
+issueLat=1
+
+[system.cpu.fuPool.FUList6]
+type=FUDesc
+opList=system.cpu.fuPool.FUList6.opList0 system.cpu.fuPool.FUList6.opList1
+count=4
+
+[system.cpu.fuPool.FUList7.opList0]
+type=OpDesc
+opClass=IprAccess
+opLat=3
+issueLat=3
+
+[system.cpu.fuPool.FUList7]
+type=FUDesc
+opList=system.cpu.fuPool.FUList7.opList0
+count=1
+
+[system.cpu.fuPool]
+type=FUPool
+FUList=system.cpu.fuPool.FUList0 system.cpu.fuPool.FUList1 system.cpu.fuPool.FUList2 system.cpu.fuPool.FUList3 system.cpu.fuPool.FUList4 system.cpu.fuPool.FUList5 system.cpu.fuPool.FUList6 system.cpu.fuPool.FUList7
+
+[system.cpu]
+type=DerivO3CPU
+clock=1
+numThreads=1
+activity=0
+workload=system.workload
+mem=system.cpu.mem
+checker=null
+max_insts_any_thread=500000
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+cachePorts=200
+decodeToFetchDelay=1
+renameToFetchDelay=1
+iewToFetchDelay=1
+commitToFetchDelay=1
+fetchWidth=8
+renameToDecodeDelay=1
+iewToDecodeDelay=1
+commitToDecodeDelay=1
+fetchToDecodeDelay=1
+decodeWidth=8
+iewToRenameDelay=1
+commitToRenameDelay=1
+decodeToRenameDelay=1
+renameWidth=8
+commitToIEWDelay=1
+renameToIEWDelay=2
+issueToExecuteDelay=1
+dispatchWidth=8
+issueWidth=8
+wbWidth=8
+wbDepth=1
+fuPool=system.cpu.fuPool
+iewToCommitDelay=1
+renameToROBDelay=1
+commitWidth=8
+squashWidth=8
+trapLatency=13
+backComSize=5
+forwardComSize=5
+predType=tournament
+localPredictorSize=2048
+localCtrBits=2
+localHistoryTableSize=2048
+localHistoryBits=11
+globalPredictorSize=8192
+globalCtrBits=2
+globalHistoryBits=13
+choicePredictorSize=8192
+choiceCtrBits=2
+BTBEntries=4096
+BTBTagSize=16
+RASSize=16
+LQEntries=32
+SQEntries=32
+LFSTSize=1024
+SSITSize=1024
+numPhysIntRegs=256
+numPhysFloatRegs=256
+numIQEntries=64
+numROBEntries=192
+smtNumFetchingThreads=1
+smtFetchPolicy=SingleThread
+smtLSQPolicy=Partitioned
+smtLSQThreshold=100
+smtIQPolicy=Partitioned
+smtIQThreshold=100
+smtROBPolicy=Partitioned
+smtROBThreshold=100
+smtCommitPolicy=RoundRobin
+instShiftAmt=2
+defer_registration=false
+function_trace=false
+function_trace_start=0
+
+[trace]
+flags=
+start=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
diff --git a/tests/test1/ref/alpha/detailed/m5stats.txt b/tests/test1/ref/alpha/detailed/m5stats.txt
new file mode 100644
index 000000000..119cc8e9d
--- /dev/null
+++ b/tests/test1/ref/alpha/detailed/m5stats.txt
@@ -0,0 +1,1774 @@
+
+---------- Begin Simulation Statistics ----------
+global.BPredUnit.BTBCorrect 0 # Number of correct BTB predictions (this stat may not work properly.
+global.BPredUnit.BTBHits 47245 # Number of BTB hits
+global.BPredUnit.BTBLookups 62226 # Number of BTB lookups
+global.BPredUnit.RASInCorrect 88 # Number of incorrect RAS predictions.
+global.BPredUnit.condIncorrect 3133 # Number of conditional branches incorrect
+global.BPredUnit.condPredicted 48198 # Number of conditional branches predicted
+global.BPredUnit.lookups 72853 # Number of BP lookups
+global.BPredUnit.usedRAS 7892 # Number of times the RAS was used to get a target.
+host_inst_rate 90438 # Simulator instruction rate (inst/s)
+host_mem_usage 148172 # Number of bytes of host memory used
+host_seconds 5.53 # Real time elapsed on the host
+host_tick_rate 35958 # Simulator tick rate (ticks/s)
+memdepunit.memDep.conflictingLoads 15372 # Number of conflicting loads.
+memdepunit.memDep.conflictingStores 1808 # Number of conflicting stores.
+memdepunit.memDep.insertedLoads 147140 # Number of loads inserted to the mem dependence unit.
+memdepunit.memDep.insertedStores 63225 # Number of stores inserted to the mem dependence unit.
+sim_freq 1000000000000 # Frequency of simulated ticks
+sim_insts 500002 # Number of instructions simulated
+sim_seconds 0.000000 # Number of seconds simulated
+sim_ticks 198813 # Number of ticks simulated
+system.cpu.commit.COM:branches 61160 # Number of branches committed
+system.cpu.commit.COM:bw_lim_events 24524 # number cycles where commit BW limit reached
+system.cpu.commit.COM:bw_limited 0 # number of insts not committed due to BW limits
+system.cpu.commit.COM:committed_per_cycle.start_dist # Number of insts commited each cycle
+system.cpu.commit.COM:committed_per_cycle.samples 189916
+system.cpu.commit.COM:committed_per_cycle.min_value 0
+ 0 37455 1972.19%
+ 1 50343 2650.80%
+ 2 29014 1527.73%
+ 3 12786 673.25%
+ 4 19808 1042.99%
+ 5 2516 132.48%
+ 6 10075 530.50%
+ 7 3395 178.76%
+ 8 24524 1291.31%
+system.cpu.commit.COM:committed_per_cycle.max_value 8
+system.cpu.commit.COM:committed_per_cycle.end_dist
+
+system.cpu.commit.COM:count 518948 # Number of instructions committed
+system.cpu.commit.COM:loads 131376 # Number of loads committed
+system.cpu.commit.COM:membars 0 # Number of memory barriers committed
+system.cpu.commit.COM:refs 189772 # Number of memory references committed
+system.cpu.commit.COM:swp_count 0 # Number of s/w prefetches committed
+system.cpu.commit.branchMispredicts 2863 # The number of times a branch was mispredicted
+system.cpu.commit.commitCommittedInsts 518948 # The number of committed instructions
+system.cpu.commit.commitNonSpecStalls 18 # The number of times commit has been forced to stall to communicate backwards
+system.cpu.commit.commitSquashedInsts 59006 # The number of squashed insts skipped by commit
+system.cpu.committedInsts 500002 # Number of Instructions Simulated
+system.cpu.committedInsts_total 500002 # Number of Instructions Simulated
+system.cpu.cpi 0.397624 # CPI: Cycles Per Instruction
+system.cpu.cpi_total 0.397624 # CPI: Total CPI of All Threads
+system.cpu.decode.DECODE:BlockedCycles 2191 # Number of cycles decode is blocked
+system.cpu.decode.DECODE:BranchMispred 297 # Number of times decode detected a branch misprediction
+system.cpu.decode.DECODE:BranchResolved 16283 # Number of times decode resolved a branch
+system.cpu.decode.DECODE:DecodedInsts 604200 # Number of instructions handled by decode
+system.cpu.decode.DECODE:IdleCycles 76141 # Number of cycles decode is idle
+system.cpu.decode.DECODE:RunCycles 110735 # Number of cycles decode is running
+system.cpu.decode.DECODE:SquashCycles 8898 # Number of cycles decode is squashing
+system.cpu.decode.DECODE:SquashedInsts 1017 # Number of squashed instructions handled by decode
+system.cpu.decode.DECODE:UnblockCycles 849 # Number of cycles decode is unblocking
+system.cpu.fetch.Branches 72853 # Number of branches that fetch encountered
+system.cpu.fetch.CacheLines 72795 # Number of cache lines fetched
+system.cpu.fetch.Cycles 186280 # Number of cycles fetch has run and was not squashing or blocked
+system.cpu.fetch.Insts 616104 # Number of instructions fetch has processed
+system.cpu.fetch.SquashCycles 3180 # Number of cycles fetch has spent squashing
+system.cpu.fetch.branchRate 0.366438 # Number of branch fetches per cycle
+system.cpu.fetch.icacheStallCycles 72795 # Number of cycles fetch is stalled on an Icache miss
+system.cpu.fetch.predictedBranches 55137 # Number of branches that fetch has predicted taken
+system.cpu.fetch.rate 3.098896 # Number of inst fetches per cycle
+system.cpu.fetch.rateDist.start_dist # Number of instructions fetched each cycle (Total)
+system.cpu.fetch.rateDist.samples 198814
+system.cpu.fetch.rateDist.min_value 0
+ 0 85330 4291.95%
+ 1 3737 187.96%
+ 2 9626 484.17%
+ 3 11018 554.19%
+ 4 8626 433.87%
+ 5 19021 956.72%
+ 6 27490 1382.70%
+ 7 6216 312.65%
+ 8 27750 1395.78%
+system.cpu.fetch.rateDist.max_value 8
+system.cpu.fetch.rateDist.end_dist
+
+system.cpu.iew.EXEC:branches 65998 # Number of branches executed
+system.cpu.iew.EXEC:insts 534582 # Number of executed instructions
+system.cpu.iew.EXEC:loads 141825 # Number of load instructions executed
+system.cpu.iew.EXEC:nop 21827 # number of nop insts executed
+system.cpu.iew.EXEC:rate 2.688855 # Inst execution rate
+system.cpu.iew.EXEC:refs 202010 # number of memory reference insts executed
+system.cpu.iew.EXEC:squashedInsts 7038 # Number of squashed instructions skipped in execute
+system.cpu.iew.EXEC:stores 60185 # Number of stores executed
+system.cpu.iew.EXEC:swp 0 # number of swp insts executed
+system.cpu.iew.WB:consumers 413743 # num instructions consuming a value
+system.cpu.iew.WB:count 532886 # cumulative count of insts written-back
+system.cpu.iew.WB:fanout 0.745847 # average fanout of values written-back
+system.cpu.iew.WB:penalized 0 # number of instrctions required to write to 'other' IQ
+system.cpu.iew.WB:penalized_rate 0 # fraction of instructions written-back that wrote to 'other' IQ
+system.cpu.iew.WB:producers 308589 # num instructions producing a value
+system.cpu.iew.WB:rate 2.680324 # insts written-back per cycle
+system.cpu.iew.WB:sent 533753 # cumulative count of insts sent to commit
+system.cpu.iew.branchMispredicts 3004 # Number of branch mispredicts detected at execute
+system.cpu.iew.iewBlockCycles 0 # Number of cycles IEW is blocking
+system.cpu.iew.iewDispLoadInsts 147140 # Number of dispatched load instructions
+system.cpu.iew.iewDispNonSpecInsts 27 # Number of dispatched non-speculative instructions
+system.cpu.iew.iewDispSquashedInsts 1292 # Number of squashed instructions skipped by dispatch
+system.cpu.iew.iewDispStoreInsts 63225 # Number of dispatched store instructions
+system.cpu.iew.iewDispatchedInsts 578006 # Number of instructions dispatched to IQ
+system.cpu.iew.iewIQFullEvents 0 # Number of times the IQ has become full, causing a stall
+system.cpu.iew.iewIdleCycles 0 # Number of cycles IEW is idle
+system.cpu.iew.iewLSQFullEvents 0 # Number of times the LSQ has become full, causing a stall
+system.cpu.iew.iewSquashCycles 8898 # Number of cycles IEW is squashing
+system.cpu.iew.iewUnblockCycles 0 # Number of cycles IEW is unblocking
+system.cpu.iew.lsq.thread.0.blockedLoads 1 # Number of blocked loads due to partial load-store forwarding
+system.cpu.iew.lsq.thread.0.cacheBlocked 0 # Number of times an access to memory failed due to the cache being blocked
+system.cpu.iew.lsq.thread.0.forwLoads 22061 # Number of loads that had data forwarded from stores
+system.cpu.iew.lsq.thread.0.ignoredResponses 8 # Number of memory responses ignored because the instruction is squashed
+system.cpu.iew.lsq.thread.0.invAddrLoads 0 # Number of loads ignored due to an invalid address
+system.cpu.iew.lsq.thread.0.invAddrSwpfs 0 # Number of software prefetches ignored due to an invalid address
+system.cpu.iew.lsq.thread.0.rescheduledLoads 1 # Number of loads that were rescheduled
+system.cpu.iew.lsq.thread.0.squashedLoads 15747 # Number of loads squashed
+system.cpu.iew.lsq.thread.0.squashedStores 4825 # Number of stores squashed
+system.cpu.iew.memOrderViolationEvents 48 # Number of memory order violations
+system.cpu.iew.predictedNotTakenIncorrect 1801 # Number of branches that were predicted not taken incorrectly
+system.cpu.iew.predictedTakenIncorrect 1203 # Number of branches that were predicted taken incorrectly
+system.cpu.ipc 2.514936 # IPC: Instructions Per Cycle
+system.cpu.ipc_total 2.514936 # IPC: Total IPC of All Threads
+system.cpu.iq.IQ:residence:(null).start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:(null).samples 0
+system.cpu.iq.IQ:residence:(null).min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:(null).max_value 0
+system.cpu.iq.IQ:residence:(null).end_dist
+
+system.cpu.iq.IQ:residence:IntAlu.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:IntAlu.samples 0
+system.cpu.iq.IQ:residence:IntAlu.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:IntAlu.max_value 0
+system.cpu.iq.IQ:residence:IntAlu.end_dist
+
+system.cpu.iq.IQ:residence:IntMult.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:IntMult.samples 0
+system.cpu.iq.IQ:residence:IntMult.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:IntMult.max_value 0
+system.cpu.iq.IQ:residence:IntMult.end_dist
+
+system.cpu.iq.IQ:residence:IntDiv.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:IntDiv.samples 0
+system.cpu.iq.IQ:residence:IntDiv.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:IntDiv.max_value 0
+system.cpu.iq.IQ:residence:IntDiv.end_dist
+
+system.cpu.iq.IQ:residence:FloatAdd.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatAdd.samples 0
+system.cpu.iq.IQ:residence:FloatAdd.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatAdd.max_value 0
+system.cpu.iq.IQ:residence:FloatAdd.end_dist
+
+system.cpu.iq.IQ:residence:FloatCmp.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatCmp.samples 0
+system.cpu.iq.IQ:residence:FloatCmp.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatCmp.max_value 0
+system.cpu.iq.IQ:residence:FloatCmp.end_dist
+
+system.cpu.iq.IQ:residence:FloatCvt.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatCvt.samples 0
+system.cpu.iq.IQ:residence:FloatCvt.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatCvt.max_value 0
+system.cpu.iq.IQ:residence:FloatCvt.end_dist
+
+system.cpu.iq.IQ:residence:FloatMult.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatMult.samples 0
+system.cpu.iq.IQ:residence:FloatMult.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatMult.max_value 0
+system.cpu.iq.IQ:residence:FloatMult.end_dist
+
+system.cpu.iq.IQ:residence:FloatDiv.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatDiv.samples 0
+system.cpu.iq.IQ:residence:FloatDiv.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatDiv.max_value 0
+system.cpu.iq.IQ:residence:FloatDiv.end_dist
+
+system.cpu.iq.IQ:residence:FloatSqrt.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:FloatSqrt.samples 0
+system.cpu.iq.IQ:residence:FloatSqrt.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:FloatSqrt.max_value 0
+system.cpu.iq.IQ:residence:FloatSqrt.end_dist
+
+system.cpu.iq.IQ:residence:MemRead.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:MemRead.samples 0
+system.cpu.iq.IQ:residence:MemRead.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:MemRead.max_value 0
+system.cpu.iq.IQ:residence:MemRead.end_dist
+
+system.cpu.iq.IQ:residence:MemWrite.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:MemWrite.samples 0
+system.cpu.iq.IQ:residence:MemWrite.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:MemWrite.max_value 0
+system.cpu.iq.IQ:residence:MemWrite.end_dist
+
+system.cpu.iq.IQ:residence:IprAccess.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:IprAccess.samples 0
+system.cpu.iq.IQ:residence:IprAccess.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:IprAccess.max_value 0
+system.cpu.iq.IQ:residence:IprAccess.end_dist
+
+system.cpu.iq.IQ:residence:InstPrefetch.start_dist # cycles from dispatch to issue
+system.cpu.iq.IQ:residence:InstPrefetch.samples 0
+system.cpu.iq.IQ:residence:InstPrefetch.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.IQ:residence:InstPrefetch.max_value 0
+system.cpu.iq.IQ:residence:InstPrefetch.end_dist
+
+system.cpu.iq.ISSUE:(null)_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:(null)_delay.samples 0
+system.cpu.iq.ISSUE:(null)_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:(null)_delay.max_value 0
+system.cpu.iq.ISSUE:(null)_delay.end_dist
+
+system.cpu.iq.ISSUE:IntAlu_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:IntAlu_delay.samples 0
+system.cpu.iq.ISSUE:IntAlu_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:IntAlu_delay.max_value 0
+system.cpu.iq.ISSUE:IntAlu_delay.end_dist
+
+system.cpu.iq.ISSUE:IntMult_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:IntMult_delay.samples 0
+system.cpu.iq.ISSUE:IntMult_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:IntMult_delay.max_value 0
+system.cpu.iq.ISSUE:IntMult_delay.end_dist
+
+system.cpu.iq.ISSUE:IntDiv_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:IntDiv_delay.samples 0
+system.cpu.iq.ISSUE:IntDiv_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:IntDiv_delay.max_value 0
+system.cpu.iq.ISSUE:IntDiv_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatAdd_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatAdd_delay.samples 0
+system.cpu.iq.ISSUE:FloatAdd_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatAdd_delay.max_value 0
+system.cpu.iq.ISSUE:FloatAdd_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatCmp_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatCmp_delay.samples 0
+system.cpu.iq.ISSUE:FloatCmp_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatCmp_delay.max_value 0
+system.cpu.iq.ISSUE:FloatCmp_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatCvt_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatCvt_delay.samples 0
+system.cpu.iq.ISSUE:FloatCvt_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatCvt_delay.max_value 0
+system.cpu.iq.ISSUE:FloatCvt_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatMult_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatMult_delay.samples 0
+system.cpu.iq.ISSUE:FloatMult_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatMult_delay.max_value 0
+system.cpu.iq.ISSUE:FloatMult_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatDiv_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatDiv_delay.samples 0
+system.cpu.iq.ISSUE:FloatDiv_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatDiv_delay.max_value 0
+system.cpu.iq.ISSUE:FloatDiv_delay.end_dist
+
+system.cpu.iq.ISSUE:FloatSqrt_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:FloatSqrt_delay.samples 0
+system.cpu.iq.ISSUE:FloatSqrt_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:FloatSqrt_delay.max_value 0
+system.cpu.iq.ISSUE:FloatSqrt_delay.end_dist
+
+system.cpu.iq.ISSUE:MemRead_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:MemRead_delay.samples 0
+system.cpu.iq.ISSUE:MemRead_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:MemRead_delay.max_value 0
+system.cpu.iq.ISSUE:MemRead_delay.end_dist
+
+system.cpu.iq.ISSUE:MemWrite_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:MemWrite_delay.samples 0
+system.cpu.iq.ISSUE:MemWrite_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:MemWrite_delay.max_value 0
+system.cpu.iq.ISSUE:MemWrite_delay.end_dist
+
+system.cpu.iq.ISSUE:IprAccess_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:IprAccess_delay.samples 0
+system.cpu.iq.ISSUE:IprAccess_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:IprAccess_delay.max_value 0
+system.cpu.iq.ISSUE:IprAccess_delay.end_dist
+
+system.cpu.iq.ISSUE:InstPrefetch_delay.start_dist # cycles from operands ready to issue
+system.cpu.iq.ISSUE:InstPrefetch_delay.samples 0
+system.cpu.iq.ISSUE:InstPrefetch_delay.min_value 0
+ 0 0
+ 2 0
+ 4 0
+ 6 0
+ 8 0
+ 10 0
+ 12 0
+ 14 0
+ 16 0
+ 18 0
+ 20 0
+ 22 0
+ 24 0
+ 26 0
+ 28 0
+ 30 0
+ 32 0
+ 34 0
+ 36 0
+ 38 0
+ 40 0
+ 42 0
+ 44 0
+ 46 0
+ 48 0
+ 50 0
+ 52 0
+ 54 0
+ 56 0
+ 58 0
+ 60 0
+ 62 0
+ 64 0
+ 66 0
+ 68 0
+ 70 0
+ 72 0
+ 74 0
+ 76 0
+ 78 0
+ 80 0
+ 82 0
+ 84 0
+ 86 0
+ 88 0
+ 90 0
+ 92 0
+ 94 0
+ 96 0
+ 98 0
+system.cpu.iq.ISSUE:InstPrefetch_delay.max_value 0
+system.cpu.iq.ISSUE:InstPrefetch_delay.end_dist
+
+system.cpu.iq.ISSUE:FU_type_0 541621 # Type of FU issued
+system.cpu.iq.ISSUE:FU_type_0.start_dist
+ (null) 0 0.00% # Type of FU issued
+ IntAlu 336144 62.06% # Type of FU issued
+ IntMult 10 0.00% # Type of FU issued
+ IntDiv 0 0.00% # Type of FU issued
+ FloatAdd 13 0.00% # Type of FU issued
+ FloatCmp 3 0.00% # Type of FU issued
+ FloatCvt 0 0.00% # Type of FU issued
+ FloatMult 2 0.00% # Type of FU issued
+ FloatDiv 0 0.00% # Type of FU issued
+ FloatSqrt 0 0.00% # Type of FU issued
+ MemRead 144008 26.59% # Type of FU issued
+ MemWrite 61441 11.34% # Type of FU issued
+ IprAccess 0 0.00% # Type of FU issued
+ InstPrefetch 0 0.00% # Type of FU issued
+system.cpu.iq.ISSUE:FU_type_0.end_dist
+system.cpu.iq.ISSUE:fu_busy_cnt 10389 # FU busy when requested
+system.cpu.iq.ISSUE:fu_busy_rate 0.019181 # FU busy rate (busy events/executed inst)
+system.cpu.iq.ISSUE:fu_full.start_dist
+ (null) 0 0.00% # attempts to use FU when none available
+ IntAlu 6229 59.96% # attempts to use FU when none available
+ IntMult 0 0.00% # attempts to use FU when none available
+ IntDiv 0 0.00% # attempts to use FU when none available
+ FloatAdd 0 0.00% # attempts to use FU when none available
+ FloatCmp 0 0.00% # attempts to use FU when none available
+ FloatCvt 0 0.00% # attempts to use FU when none available
+ FloatMult 0 0.00% # attempts to use FU when none available
+ FloatDiv 0 0.00% # attempts to use FU when none available
+ FloatSqrt 0 0.00% # attempts to use FU when none available
+ MemRead 2497 24.04% # attempts to use FU when none available
+ MemWrite 1663 16.01% # attempts to use FU when none available
+ IprAccess 0 0.00% # attempts to use FU when none available
+ InstPrefetch 0 0.00% # attempts to use FU when none available
+system.cpu.iq.ISSUE:fu_full.end_dist
+system.cpu.iq.ISSUE:issued_per_cycle.start_dist # Number of insts issued each cycle
+system.cpu.iq.ISSUE:issued_per_cycle.samples 198814
+system.cpu.iq.ISSUE:issued_per_cycle.min_value 0
+ 0 27333 1374.80%
+ 1 36906 1856.31%
+ 2 35716 1796.45%
+ 3 28916 1454.42%
+ 4 31868 1602.91%
+ 5 13027 655.24%
+ 6 21677 1090.32%
+ 7 3102 156.03%
+ 8 269 13.53%
+system.cpu.iq.ISSUE:issued_per_cycle.max_value 8
+system.cpu.iq.ISSUE:issued_per_cycle.end_dist
+
+system.cpu.iq.ISSUE:rate 2.724260 # Inst issue rate
+system.cpu.iq.iqInstsAdded 556152 # Number of instructions added to the IQ (excludes non-spec)
+system.cpu.iq.iqInstsIssued 541621 # Number of instructions issued
+system.cpu.iq.iqNonSpecInstsAdded 27 # Number of non-speculative instructions added to the IQ
+system.cpu.iq.iqSquashedInstsExamined 55198 # Number of squashed instructions iterated over during squash; mainly for profiling
+system.cpu.iq.iqSquashedInstsIssued 404 # Number of squashed instructions issued
+system.cpu.iq.iqSquashedNonSpecRemoved 9 # Number of squashed non-spec instructions that were removed
+system.cpu.iq.iqSquashedOperandsExamined 27398 # Number of squashed operands that are examined and possibly removed from graph
+system.cpu.numCycles 198814 # number of cpu cycles simulated
+system.cpu.rename.RENAME:BlockCycles 266 # Number of cycles rename is blocking
+system.cpu.rename.RENAME:CommittedMaps 386063 # Number of HB maps that are committed
+system.cpu.rename.RENAME:IdleCycles 78342 # Number of cycles rename is idle
+system.cpu.rename.RENAME:LSQFullEvents 1401 # Number of times rename has blocked due to LSQ full
+system.cpu.rename.RENAME:RenameLookups 775201 # Number of register rename lookups that rename has made
+system.cpu.rename.RENAME:RenamedInsts 594947 # Number of instructions processed by rename
+system.cpu.rename.RENAME:RenamedOperands 443127 # Number of destination operands rename has renamed
+system.cpu.rename.RENAME:RunCycles 109388 # Number of cycles rename is running
+system.cpu.rename.RENAME:SquashCycles 8898 # Number of cycles rename is squashing
+system.cpu.rename.RENAME:UnblockCycles 1662 # Number of cycles rename is unblocking
+system.cpu.rename.RENAME:UndoneMaps 57015 # Number of HB maps that are undone due to squashing
+system.cpu.rename.RENAME:serializeStallCycles 258 # count of cycles rename stalled for serializing inst
+system.cpu.rename.RENAME:serializingInsts 41 # count of serializing insts renamed
+system.cpu.rename.RENAME:skidInsts 4872 # count of insts added to the skid buffer
+system.cpu.rename.RENAME:tempSerializingInsts 39 # count of temporary serializing insts renamed
+system.workload.PROG:num_syscalls 18 # Number of system calls
+
+---------- End Simulation Statistics ----------
diff --git a/tests/test1/ref/alpha/detailed/stderr b/tests/test1/ref/alpha/detailed/stderr
new file mode 100644
index 000000000..7ded22db8
--- /dev/null
+++ b/tests/test1/ref/alpha/detailed/stderr
@@ -0,0 +1,4 @@
+warn: Entering event queue @ 0. Starting simulation...
+warn: cycle 0: fault (page_table_fault) detected @ PC 0x000000
+
+gzip: stdout: Broken pipe
diff --git a/tests/test1/ref/alpha/detailed/stdout b/tests/test1/ref/alpha/detailed/stdout
new file mode 100644
index 000000000..ee0eb672e
--- /dev/null
+++ b/tests/test1/ref/alpha/detailed/stdout
@@ -0,0 +1,14 @@
+main dictionary has 1245 entries
+49508 bytes wasted
+>M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 17:25:03
+M5 started Thu Jul 27 17:25:11 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/test/opt/test1/detailed tests/test1/run.py --detailed
+Exiting @ tick 198813 because a thread reached the max instruction count
diff --git a/tests/test1/ref/alpha/timing/config.ini b/tests/test1/ref/alpha/timing/config.ini
new file mode 100644
index 000000000..c4c381b93
--- /dev/null
+++ b/tests/test1/ref/alpha/timing/config.ini
@@ -0,0 +1,93 @@
+[root]
+type=Root
+children=system
+checkpoint=
+clock=1000000000000
+max_tick=0
+output_file=cout
+progress_interval=0
+
+[debug]
+break_cycles=
+
+[exetrace]
+intel_format=false
+pc_symbol=true
+print_cpseq=false
+print_cycle=true
+print_data=true
+print_effaddr=true
+print_fetchseq=false
+print_iregs=false
+print_opclass=true
+print_thread=true
+speculative=true
+trace_system=client
+
+[serialize]
+count=10
+cycle=0
+dir=cpt.%012d
+period=0
+
+[stats]
+descriptions=true
+dump_cycle=0
+dump_period=0
+dump_reset=false
+ignore_events=
+mysql_db=
+mysql_host=
+mysql_password=
+mysql_user=
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_compat=true
+text_file=m5stats.txt
+
+[system]
+type=System
+children=cpu physmem workload
+mem_mode=atomic
+physmem=system.physmem
+
+[system.cpu]
+type=TimingSimpleCPU
+children=mem
+clock=1
+defer_registration=false
+function_trace=false
+function_trace_start=0
+max_insts_all_threads=0
+max_insts_any_thread=500000
+max_loads_all_threads=0
+max_loads_any_thread=0
+mem=system.cpu.mem
+system=system
+workload=system.workload
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=1
+
+[system.workload]
+type=EioProcess
+chkpt=
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+output=cout
+system=system
+
+[trace]
+bufsize=0
+dump_on_exit=false
+file=cout
+flags=
+ignore=
+start=0
+
diff --git a/tests/test1/ref/alpha/timing/config.out b/tests/test1/ref/alpha/timing/config.out
new file mode 100644
index 000000000..882db9c06
--- /dev/null
+++ b/tests/test1/ref/alpha/timing/config.out
@@ -0,0 +1,90 @@
+[root]
+type=Root
+clock=1000000000000
+max_tick=0
+progress_interval=0
+output_file=cout
+
+[system.physmem]
+type=PhysicalMemory
+file=
+// range not specified
+latency=1
+
+[system]
+type=System
+physmem=system.physmem
+mem_mode=atomic
+
+[system.workload]
+type=EioProcess
+file=/z/ktlim2/clean/newmem-merge/tests/test-progs/anagram/bin/anagram-vshort.eio.gz
+chkpt=
+output=cout
+system=system
+
+[system.cpu.mem]
+type=Bus
+bus_id=0
+
+[system.cpu]
+type=TimingSimpleCPU
+max_insts_any_thread=500000
+max_insts_all_threads=0
+max_loads_any_thread=0
+max_loads_all_threads=0
+mem=system.cpu.mem
+system=system
+workload=system.workload
+clock=1
+defer_registration=false
+// width not specified
+function_trace=false
+function_trace_start=0
+// simulate_stalls not specified
+
+[trace]
+flags=
+start=0
+bufsize=0
+file=cout
+dump_on_exit=false
+ignore=
+
+[stats]
+descriptions=true
+project_name=test
+simulation_name=test
+simulation_sample=0
+text_file=m5stats.txt
+text_compat=true
+mysql_db=
+mysql_user=
+mysql_password=
+mysql_host=
+events_start=-1
+dump_reset=false
+dump_cycle=0
+dump_period=0
+ignore_events=
+
+[random]
+seed=1
+
+[exetrace]
+speculative=true
+print_cycle=true
+print_opclass=true
+print_thread=true
+print_effaddr=true
+print_data=true
+print_iregs=false
+print_fetchseq=false
+print_cpseq=false
+pc_symbol=true
+intel_format=false
+trace_system=client
+
+[debug]
+break_cycles=
+
diff --git a/tests/test1/ref/alpha/timing/m5stats.txt b/tests/test1/ref/alpha/timing/m5stats.txt
new file mode 100644
index 000000000..5f7766bac
--- /dev/null
+++ b/tests/test1/ref/alpha/timing/m5stats.txt
@@ -0,0 +1,18 @@
+
+---------- Begin Simulation Statistics ----------
+host_inst_rate 781730 # Simulator instruction rate (inst/s)
+host_mem_usage 147616 # Number of bytes of host memory used
+host_seconds 0.64 # Real time elapsed on the host
+host_tick_rate 1063244 # Simulator tick rate (ticks/s)
+sim_freq 1000000000000 # Frequency of simulated ticks
+sim_insts 500000 # Number of instructions simulated
+sim_seconds 0.000001 # Number of seconds simulated
+sim_ticks 680774 # Number of ticks simulated
+system.cpu.idle_fraction 0 # Percentage of idle cycles
+system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
+system.cpu.numCycles 0 # number of cpu cycles simulated
+system.cpu.num_insts 500000 # Number of instructions executed
+system.cpu.num_refs 182203 # Number of memory references
+system.workload.PROG:num_syscalls 18 # Number of system calls
+
+---------- End Simulation Statistics ----------
diff --git a/tests/test1/ref/alpha/timing/stderr b/tests/test1/ref/alpha/timing/stderr
new file mode 100644
index 000000000..4e444fa6b
--- /dev/null
+++ b/tests/test1/ref/alpha/timing/stderr
@@ -0,0 +1,3 @@
+warn: Entering event queue @ 0. Starting simulation...
+
+gzip: stdout: Broken pipe
diff --git a/tests/test1/ref/alpha/timing/stdout b/tests/test1/ref/alpha/timing/stdout
new file mode 100644
index 000000000..c14f4a3c9
--- /dev/null
+++ b/tests/test1/ref/alpha/timing/stdout
@@ -0,0 +1,14 @@
+main dictionary has 1245 entries
+49508 bytes wasted
+>M5 Simulator System
+
+Copyright (c) 2001-2006
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jul 27 2006 17:25:03
+M5 started Thu Jul 27 17:25:14 2006
+M5 executing on zamp.eecs.umich.edu
+command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/test/opt/test1/timing tests/test1/run.py --timing
+Exiting @ tick 680774 because a thread reached the max instruction count