summaryrefslogtreecommitdiff
path: root/tests/quick/60.rubytest
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2010-01-29 20:29:40 -0800
committerBrad Beckmann <Brad.Beckmann@amd.com>2010-01-29 20:29:40 -0800
commitab2f864af2fd38cbf141708550409f3ca72c675f (patch)
tree75b861a290240275d872a58d393a6d6f7e5598d5 /tests/quick/60.rubytest
parentceae8383ffeebdc2c12d9a383941c62653471de1 (diff)
downloadgem5-ab2f864af2fd38cbf141708550409f3ca72c675f.tar.xz
m5: Regression Tester Update
This patch includes the necessary regression updates to test the new ruby configuration system. The patch includes support for multiple ruby protocols and adds the ruby random tester. The patch removes atomic mode test for ruby since ruby does not support atomic mode acceses. These tests can be added back in when ruby supports atomic mode for real. --HG-- rename : tests/quick/50.memtest/test.py => tests/quick/60.rubytest/test.py
Diffstat (limited to 'tests/quick/60.rubytest')
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/config.ini225
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/ruby.stats616
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simerr1
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simout15
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/stats.txt10
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/config.ini221
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/ruby.stats1374
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simerr1
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simout15
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/stats.txt10
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/config.ini231
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/ruby.stats921
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simerr1
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simout15
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/stats.txt10
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/config.ini193
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/ruby.stats572
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simerr1
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simout15
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/stats.txt10
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/config.ini177
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/ruby.stats298
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simerr1
-rwxr-xr-xtests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simout15
-rw-r--r--tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/stats.txt10
-rw-r--r--tests/quick/60.rubytest/test.py29
26 files changed, 4987 insertions, 0 deletions
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/config.ini b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/config.ini
new file mode 100644
index 000000000..2da59c68b
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/config.ini
@@ -0,0 +1,225 @@
+[root]
+type=Root
+children=system
+dummy=0
+
+[system]
+type=System
+children=physmem ruby
+mem_mode=timing
+physmem=system.physmem
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=30
+latency_var=0
+null=false
+range=0:134217727
+zero=false
+port=system.ruby.network.topology.ext_links0.ext_node.sequencer.physMemPort
+
+[system.ruby]
+type=RubySystem
+children=debug network profiler tracer
+block_size_bytes=64
+clock=1
+debug=system.ruby.debug
+mem_size=134217728
+network=system.ruby.network
+profiler=system.ruby.profiler
+random_seed=1234
+randomization=true
+stats_filename=ruby.stats
+tracer=system.ruby.tracer
+
+[system.ruby.debug]
+type=RubyDebug
+filter_string=none
+output_filename=none
+protocol_trace=false
+start_time=1
+verbosity_string=none
+
+[system.ruby.network]
+type=SimpleNetwork
+children=topology
+adaptive_routing=true
+buffer_size=0
+control_msg_size=8
+endpoint_bandwidth=10000
+link_latency=1
+number_of_virtual_networks=10
+topology=system.ruby.network.topology
+
+[system.ruby.network.topology]
+type=Topology
+children=ext_links0 ext_links1 ext_links2 int_links0 int_links1 int_links2
+ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1 system.ruby.network.topology.ext_links2
+int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1 system.ruby.network.topology.int_links2
+num_int_nodes=4
+print_config=false
+
+[system.ruby.network.topology.ext_links0]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links0.ext_node
+int_node=0
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links0.ext_node]
+type=L1Cache_Controller
+children=sequencer
+L1DcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+L1IcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+buffer_size=0
+l1_request_latency=2
+l1_response_latency=2
+l2_select_num_bits=0
+number_of_TBEs=256
+recycle_latency=10
+sequencer=system.ruby.network.topology.ext_links0.ext_node.sequencer
+to_l2_latency=1
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer]
+type=RubySequencer
+children=dcache icache
+dcache=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+deadlock_threshold=500000
+icache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+max_outstanding_requests=16
+physmem=system.physmem
+using_ruby_tester=true
+version=0
+physMemPort=system.physmem.port[0]
+port=root.cpuPort[0]
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.icache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links1]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links1.ext_node
+int_node=1
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links1.ext_node]
+type=L2Cache_Controller
+children=L2cacheMemory
+L2cacheMemory=system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+buffer_size=0
+l2_request_latency=2
+l2_response_latency=2
+number_of_TBEs=256
+recycle_latency=10
+to_l1_latency=1
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory]
+type=RubyCache
+assoc=2
+latency=15
+replacement_policy=PSEUDO_LRU
+size=512
+
+[system.ruby.network.topology.ext_links2]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links2.ext_node
+int_node=2
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links2.ext_node]
+type=Directory_Controller
+children=directory memBuffer
+buffer_size=0
+directory=system.ruby.network.topology.ext_links2.ext_node.directory
+directory_latency=6
+memBuffer=system.ruby.network.topology.ext_links2.ext_node.memBuffer
+number_of_TBEs=256
+recycle_latency=10
+to_mem_ctrl_latency=1
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.directory]
+type=RubyDirectoryMemory
+size=134217728
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.memBuffer]
+type=RubyMemoryControl
+bank_bit_0=8
+bank_busy_time=11
+bank_queue_size=12
+banks_per_rank=8
+basic_bus_busy_time=2
+dimm_bit_0=12
+dimms_per_channel=2
+mem_bus_cycle_multiplier=10
+mem_ctl_latency=12
+mem_fixed_delay=0
+mem_random_arbitrate=0
+rank_bit_0=11
+rank_rank_delay=1
+ranks_per_dimm=2
+read_write_delay=2
+refresh_period=1560
+tFaw=0
+version=0
+
+[system.ruby.network.topology.int_links0]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=0
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links1]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=1
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links2]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=2
+node_b=3
+weight=1
+
+[system.ruby.profiler]
+type=RubyProfiler
+all_instructions=false
+hot_lines=false
+num_of_sequencers=1
+
+[system.ruby.tracer]
+type=RubyTracer
+warmup_length=100000
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/ruby.stats b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/ruby.stats
new file mode 100644
index 000000000..d99e75346
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/ruby.stats
@@ -0,0 +1,616 @@
+
+================ Begin RubySystem Configuration Print ================
+
+RubySystem config:
+ random_seed: 1234
+ randomization: 1
+ cycle_period: 1
+ block_size_bytes: 64
+ block_size_bits: 6
+ memory_size_bytes: 134217728
+ memory_size_bits: 27
+
+Network Configuration
+---------------------
+network: SIMPLE_NETWORK
+topology:
+
+virtual_net_0: active, unordered
+virtual_net_1: active, unordered
+virtual_net_2: active, unordered
+virtual_net_3: inactive
+virtual_net_4: inactive
+virtual_net_5: inactive
+virtual_net_6: inactive
+virtual_net_7: inactive
+virtual_net_8: inactive
+virtual_net_9: inactive
+
+
+Profiler Configuration
+----------------------
+periodic_stats_period: 1000000
+
+================ End RubySystem Configuration Print ================
+
+
+Real time: Jan/27/2010 22:07:37
+
+Profiler Stats
+--------------
+Elapsed_time_in_seconds: 2
+Elapsed_time_in_minutes: 0.0333333
+Elapsed_time_in_hours: 0.000555556
+Elapsed_time_in_days: 2.31481e-05
+
+Virtual_time_in_seconds: 1.4
+Virtual_time_in_minutes: 0.0233333
+Virtual_time_in_hours: 0.000388889
+Virtual_time_in_days: 1.62037e-05
+
+Ruby_current_time: 357031
+Ruby_start_time: 0
+Ruby_cycles: 357031
+
+mbytes_resident: 31.0938
+mbytes_total: 31.1016
+resident_ratio: 1
+
+Total_misses: 0
+total_misses: 0 [ 0 ]
+user_misses: 0 [ 0 ]
+supervisor_misses: 0 [ 0 ]
+
+ruby_cycles_executed: 357032 [ 357032 ]
+
+transactions_started: 0 [ 0 ]
+transactions_ended: 0 [ 0 ]
+cycles_per_transaction: 0 [ 0 ]
+misses_per_transaction: 0 [ 0 ]
+
+
+Busy Controller Counts:
+L1Cache-0:0
+L2Cache-0:0
+Directory-0:0
+
+
+Busy Bank Count:0
+
+sequencer_requests_outstanding: [binsize: 1 max: 16 count: 970 average: 15.8278 | standard deviation: 1.13986 | 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 48 908 ]
+
+All Non-Zero Cycle Demand Cache Accesses
+----------------------------------------
+miss_latency: [binsize: 256 max: 34787 count: 954 average: 5860.09 | standard deviation: 7881.77 | 94 12 70 81 75 77 58 51 39 26 24 21 14 6 9 8 5 4 5 6 9 4 5 3 5 4 2 1 1 5 1 2 1 0 0 1 1 1 1 0 0 2 3 5 3 1 1 1 2 2 2 1 5 1 4 6 2 2 5 8 1 6 6 4 2 3 8 3 1 3 5 8 3 5 4 1 5 6 6 4 6 3 6 2 3 5 2 1 3 1 4 2 1 1 4 2 2 2 3 3 1 2 4 3 0 1 0 2 3 0 1 0 1 0 1 1 0 0 1 0 0 2 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_2: [binsize: 256 max: 26521 count: 100 average: 5073.78 | standard deviation: 7357.14 | 10 1 5 11 11 3 3 4 7 6 6 4 3 0 1 0 2 1 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 2 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_3: [binsize: 256 max: 34787 count: 854 average: 5952.16 | standard deviation: 7939.9 | 84 11 65 70 64 74 55 47 32 20 18 17 11 6 8 8 3 3 5 4 9 4 5 3 3 4 2 1 1 5 1 2 1 0 0 1 1 1 1 0 0 1 3 5 3 1 1 1 2 2 2 1 5 1 3 5 2 1 5 8 1 5 6 4 2 3 8 3 1 2 5 8 2 5 4 0 5 5 6 4 6 1 6 2 2 4 2 1 3 1 4 2 1 1 3 2 2 2 2 3 1 1 3 2 0 1 0 2 3 0 1 0 1 0 1 1 0 0 1 0 0 2 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+
+All Non-Zero Cycle SW Prefetch Requests
+------------------------------------
+prefetch_latency: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+prefetch_latency_L2Miss:[binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Request vs. RubySystem State Profile
+--------------------------------
+
+
+filter_action: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Message Delayed Cycles
+----------------------
+Total_delay_cycles: [binsize: 32 max: 1590 count: 6452 average: 19.6141 | standard deviation: 106.746 | 6116 4 30 74 2 5 34 6 4 19 14 1 15 14 3 9 18 2 3 14 16 2 6 11 2 0 7 5 1 2 2 0 0 3 0 2 0 0 0 1 0 0 4 0 0 0 0 0 0 1 ]
+Total_nonPF_delay_cycles: [binsize: 1 max: 0 count: 3918 average: 0 | standard deviation: 0 | 3918 ]
+ virtual_network_0_delay_cycles: [binsize: 32 max: 1590 count: 2534 average: 49.9408 | standard deviation: 165.845 | 2198 4 30 74 2 5 34 6 4 19 14 1 15 14 3 9 18 2 3 14 16 2 6 11 2 0 7 5 1 2 2 0 0 3 0 2 0 0 0 1 0 0 4 0 0 0 0 0 0 1 ]
+ virtual_network_1_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_2_delay_cycles: [binsize: 1 max: 0 count: 531 average: 0 | standard deviation: 0 | 531 ]
+ virtual_network_3_delay_cycles: [binsize: 1 max: 0 count: 3387 average: 0 | standard deviation: 0 | 3387 ]
+ virtual_network_4_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_5_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_6_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_7_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_8_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_9_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Resource Usage
+--------------
+page_size: 4096
+user_time: 1
+system_time: 0
+page_reclaims: 6770
+page_faults: 1936
+swaps: 0
+block_inputs: 0
+block_outputs: 0
+
+Network Stats
+-------------
+
+switch_0_inlinks: 2
+switch_0_outlinks: 2
+links_utilized_percent_switch_0: 0.106988
+ links_utilized_percent_switch_0_link_0: 0.0301689 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_0_link_1: 0.183808 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_0_link_0_Request_Control: 531 4248 [ 531 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Response_Data: 862 62064 [ 0 862 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Response_Control: 328 2624 [ 0 328 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Control: 863 6904 [ 863 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Response_Control: 866 6928 [ 0 4 862 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Data: 1257 90504 [ 730 527 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Control: 83 664 [ 83 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_1_inlinks: 2
+switch_1_outlinks: 2
+links_utilized_percent_switch_1: 0.151261
+ links_utilized_percent_switch_1_link_0: 0.0751615 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_1_link_1: 0.227361 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_1_link_0_Control: 862 6896 [ 862 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Response_Data: 835 60120 [ 0 835 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Response_Control: 1695 13560 [ 0 835 860 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Data: 1257 90504 [ 730 527 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Control: 83 664 [ 83 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Control: 835 6680 [ 835 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Request_Control: 531 4248 [ 531 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Data: 1606 115632 [ 0 1606 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Control: 415 3320 [ 0 415 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_2_inlinks: 2
+switch_2_outlinks: 2
+links_utilized_percent_switch_2: 0.071776
+ links_utilized_percent_switch_2_link_0: 0.0266714 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_2_link_1: 0.116881 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_2_link_0_Control: 835 6680 [ 835 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Response_Data: 744 53568 [ 0 744 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Response_Control: 87 696 [ 0 87 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Response_Data: 835 60120 [ 0 835 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Response_Control: 831 6648 [ 0 831 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_3_inlinks: 3
+switch_3_outlinks: 3
+links_utilized_percent_switch_3: 0.176007
+ links_utilized_percent_switch_3_link_0: 0.120676 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_1: 0.30066 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_2: 0.106685 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_3_link_0_Request_Control: 531 4248 [ 531 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_Response_Data: 862 62064 [ 0 862 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_Response_Control: 328 2624 [ 0 328 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Control: 863 6904 [ 863 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Response_Data: 835 60120 [ 0 835 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Response_Control: 1695 13560 [ 0 835 860 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Data: 1257 90504 [ 730 527 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Control: 83 664 [ 83 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Control: 835 6680 [ 835 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Response_Data: 744 53568 [ 0 744 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Response_Control: 87 696 [ 0 87 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L1Cache 0 ---
+ - Event Counts -
+Load 100
+Ifetch 0
+Store 856
+Inv 531
+L1_Replacement 507964
+Fwd_GETX 0
+Fwd_GETS 0
+Fwd_GET_INSTR 0
+Data 0
+Data_Exclusive 90
+DataS_fromL1 0
+Data_all_Acks 772
+Ack 0
+Ack_all 0
+WB_Ack 328
+
+ - Transitions -
+NP Load 90
+NP Ifetch 0 <--
+NP Store 774
+NP Inv 0 <--
+NP L1_Replacement 0 <--
+
+I Load 0 <--
+I Ifetch 0 <--
+I Store 0 <--
+I Inv 0 <--
+I L1_Replacement 46
+
+S Load 0 <--
+S Ifetch 0 <--
+S Store 0 <--
+S Inv 0 <--
+S L1_Replacement 0 <--
+
+E Load 0 <--
+E Ifetch 0 <--
+E Store 1
+E Inv 4
+E L1_Replacement 85
+E Fwd_GETX 0 <--
+E Fwd_GETS 0 <--
+E Fwd_GET_INSTR 0 <--
+
+M Load 10
+M Ifetch 0 <--
+M Store 81
+M Inv 42
+M L1_Replacement 730
+M Fwd_GETX 0 <--
+M Fwd_GETS 0 <--
+M Fwd_GET_INSTR 0 <--
+
+IS Load 0 <--
+IS Ifetch 0 <--
+IS Store 0 <--
+IS Inv 0 <--
+IS L1_Replacement 54611
+IS Data_Exclusive 90
+IS DataS_fromL1 0 <--
+IS Data_all_Acks 0 <--
+
+IM Load 0 <--
+IM Ifetch 0 <--
+IM Store 0 <--
+IM Inv 0 <--
+IM L1_Replacement 452492
+IM Data 0 <--
+IM Data_all_Acks 772
+IM Ack 0 <--
+
+SM Load 0 <--
+SM Ifetch 0 <--
+SM Store 0 <--
+SM Inv 0 <--
+SM L1_Replacement 0 <--
+SM Ack 0 <--
+SM Ack_all 0 <--
+
+IS_I Load 0 <--
+IS_I Ifetch 0 <--
+IS_I Store 0 <--
+IS_I Inv 0 <--
+IS_I L1_Replacement 0 <--
+IS_I Data_Exclusive 0 <--
+IS_I DataS_fromL1 0 <--
+IS_I Data_all_Acks 0 <--
+
+M_I Load 0 <--
+M_I Ifetch 0 <--
+M_I Store 0 <--
+M_I Inv 485
+M_I L1_Replacement 0 <--
+M_I Fwd_GETX 0 <--
+M_I Fwd_GETS 0 <--
+M_I Fwd_GET_INSTR 0 <--
+M_I WB_Ack 328
+
+E_I Load 0 <--
+E_I Ifetch 0 <--
+E_I Store 0 <--
+E_I L1_Replacement 0 <--
+
+Cache Stats: system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_demand_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L2Cache 0 ---
+ - Event Counts -
+L1_GET_INSTR 0
+L1_GETS 102
+L1_GETX 773
+L1_UPGRADE 0
+L1_PUTX 513
+L1_PUTX_old 484
+Fwd_L1_GETX 0
+Fwd_L1_GETS 0
+Fwd_L1_GET_INSTR 0
+L2_Replacement 259
+L2_Replacement_clean 13081
+Mem_Data 835
+Mem_Ack 831
+WB_Data 485
+WB_Data_clean 42
+Ack 0
+Ack_all 4
+Unblock 0
+Unblock_Cancel 0
+Exclusive_Unblock 860
+MEM_Inv 0
+
+ - Transitions -
+NP L1_GET_INSTR 0 <--
+NP L1_GETS 89
+NP L1_GETX 746
+NP L1_PUTX 0 <--
+NP L1_PUTX_old 104
+
+SS L1_GET_INSTR 0 <--
+SS L1_GETS 0 <--
+SS L1_GETX 0 <--
+SS L1_UPGRADE 0 <--
+SS L1_PUTX 0 <--
+SS L1_PUTX_old 0 <--
+SS L2_Replacement 0 <--
+SS L2_Replacement_clean 0 <--
+SS MEM_Inv 0 <--
+
+M L1_GET_INSTR 0 <--
+M L1_GETS 1
+M L1_GETX 26
+M L1_PUTX 0 <--
+M L1_PUTX_old 0 <--
+M L2_Replacement 259
+M L2_Replacement_clean 41
+M MEM_Inv 0 <--
+
+MT L1_GET_INSTR 0 <--
+MT L1_GETS 0 <--
+MT L1_GETX 0 <--
+MT L1_PUTX 328
+MT L1_PUTX_old 0 <--
+MT L2_Replacement 0 <--
+MT L2_Replacement_clean 531
+MT MEM_Inv 0 <--
+
+M_I L1_GET_INSTR 0 <--
+M_I L1_GETS 12
+M_I L1_GETX 1
+M_I L1_UPGRADE 0 <--
+M_I L1_PUTX 0 <--
+M_I L1_PUTX_old 107
+M_I Mem_Ack 831
+M_I MEM_Inv 0 <--
+
+MT_I L1_GET_INSTR 0 <--
+MT_I L1_GETS 0 <--
+MT_I L1_GETX 0 <--
+MT_I L1_UPGRADE 0 <--
+MT_I L1_PUTX 0 <--
+MT_I L1_PUTX_old 0 <--
+MT_I WB_Data 0 <--
+MT_I WB_Data_clean 0 <--
+MT_I Ack_all 0 <--
+MT_I MEM_Inv 0 <--
+
+MCT_I L1_GET_INSTR 0 <--
+MCT_I L1_GETS 0 <--
+MCT_I L1_GETX 0 <--
+MCT_I L1_UPGRADE 0 <--
+MCT_I L1_PUTX 0 <--
+MCT_I L1_PUTX_old 135
+MCT_I WB_Data 485
+MCT_I WB_Data_clean 42
+MCT_I Ack_all 4
+
+I_I L1_GET_INSTR 0 <--
+I_I L1_GETS 0 <--
+I_I L1_GETX 0 <--
+I_I L1_UPGRADE 0 <--
+I_I L1_PUTX 0 <--
+I_I L1_PUTX_old 0 <--
+I_I Ack 0 <--
+I_I Ack_all 0 <--
+
+S_I L1_GET_INSTR 0 <--
+S_I L1_GETS 0 <--
+S_I L1_GETX 0 <--
+S_I L1_UPGRADE 0 <--
+S_I L1_PUTX 0 <--
+S_I L1_PUTX_old 0 <--
+S_I Ack 0 <--
+S_I Ack_all 0 <--
+S_I MEM_Inv 0 <--
+
+ISS L1_GET_INSTR 0 <--
+ISS L1_GETS 0 <--
+ISS L1_GETX 0 <--
+ISS L1_PUTX 0 <--
+ISS L1_PUTX_old 0 <--
+ISS L2_Replacement 0 <--
+ISS L2_Replacement_clean 708
+ISS Mem_Data 89
+ISS MEM_Inv 0 <--
+
+IS L1_GET_INSTR 0 <--
+IS L1_GETS 0 <--
+IS L1_GETX 0 <--
+IS L1_PUTX 0 <--
+IS L1_PUTX_old 0 <--
+IS L2_Replacement 0 <--
+IS L2_Replacement_clean 0 <--
+IS Mem_Data 0 <--
+IS MEM_Inv 0 <--
+
+IM L1_GET_INSTR 0 <--
+IM L1_GETS 0 <--
+IM L1_GETX 0 <--
+IM L1_PUTX 0 <--
+IM L1_PUTX_old 0 <--
+IM L2_Replacement 0 <--
+IM L2_Replacement_clean 4762
+IM Mem_Data 746
+IM MEM_Inv 0 <--
+
+SS_MB L1_GET_INSTR 0 <--
+SS_MB L1_GETS 0 <--
+SS_MB L1_GETX 0 <--
+SS_MB L1_UPGRADE 0 <--
+SS_MB L1_PUTX 0 <--
+SS_MB L1_PUTX_old 0 <--
+SS_MB L2_Replacement 0 <--
+SS_MB L2_Replacement_clean 0 <--
+SS_MB Unblock_Cancel 0 <--
+SS_MB Exclusive_Unblock 0 <--
+SS_MB MEM_Inv 0 <--
+
+MT_MB L1_GET_INSTR 0 <--
+MT_MB L1_GETS 0 <--
+MT_MB L1_GETX 0 <--
+MT_MB L1_UPGRADE 0 <--
+MT_MB L1_PUTX 185
+MT_MB L1_PUTX_old 138
+MT_MB L2_Replacement 0 <--
+MT_MB L2_Replacement_clean 7039
+MT_MB Unblock_Cancel 0 <--
+MT_MB Exclusive_Unblock 860
+MT_MB MEM_Inv 0 <--
+
+M_MB L1_GET_INSTR 0 <--
+M_MB L1_GETS 0 <--
+M_MB L1_GETX 0 <--
+M_MB L1_UPGRADE 0 <--
+M_MB L1_PUTX 0 <--
+M_MB L1_PUTX_old 0 <--
+M_MB L2_Replacement 0 <--
+M_MB L2_Replacement_clean 0 <--
+M_MB Exclusive_Unblock 0 <--
+M_MB MEM_Inv 0 <--
+
+MT_IIB L1_GET_INSTR 0 <--
+MT_IIB L1_GETS 0 <--
+MT_IIB L1_GETX 0 <--
+MT_IIB L1_UPGRADE 0 <--
+MT_IIB L1_PUTX 0 <--
+MT_IIB L1_PUTX_old 0 <--
+MT_IIB L2_Replacement 0 <--
+MT_IIB L2_Replacement_clean 0 <--
+MT_IIB WB_Data 0 <--
+MT_IIB WB_Data_clean 0 <--
+MT_IIB Unblock 0 <--
+MT_IIB MEM_Inv 0 <--
+
+MT_IB L1_GET_INSTR 0 <--
+MT_IB L1_GETS 0 <--
+MT_IB L1_GETX 0 <--
+MT_IB L1_UPGRADE 0 <--
+MT_IB L1_PUTX 0 <--
+MT_IB L1_PUTX_old 0 <--
+MT_IB L2_Replacement 0 <--
+MT_IB L2_Replacement_clean 0 <--
+MT_IB WB_Data 0 <--
+MT_IB WB_Data_clean 0 <--
+MT_IB Unblock_Cancel 0 <--
+MT_IB MEM_Inv 0 <--
+
+MT_SB L1_GET_INSTR 0 <--
+MT_SB L1_GETS 0 <--
+MT_SB L1_GETX 0 <--
+MT_SB L1_UPGRADE 0 <--
+MT_SB L1_PUTX 0 <--
+MT_SB L1_PUTX_old 0 <--
+MT_SB L2_Replacement 0 <--
+MT_SB L2_Replacement_clean 0 <--
+MT_SB Unblock 0 <--
+MT_SB MEM_Inv 0 <--
+
+Memory controller: system.ruby.network.topology.ext_links2.ext_node.memBuffer:
+ memory_total_requests: 1579
+ memory_reads: 835
+ memory_writes: 744
+ memory_refreshes: 744
+ memory_total_request_delays: 998
+ memory_delays_per_request: 0.632046
+ memory_delays_in_input_queue: 152
+ memory_delays_behind_head_of_bank_queue: 0
+ memory_delays_stalled_at_head_of_bank_queue: 846
+ memory_stalls_for_bank_busy: 106
+ memory_stalls_for_random_busy: 0
+ memory_stalls_for_anti_starvation: 0
+ memory_stalls_for_arbitration: 69
+ memory_stalls_for_bus: 344
+ memory_stalls_for_tfaw: 0
+ memory_stalls_for_read_write_turnaround: 255
+ memory_stalls_for_read_read_turnaround: 72
+ accesses_per_bank: 40 45 45 84 59 65 66 49 45 40 57 49 59 54 41 43 42 38 40 46 45 41 27 34 60 52 50 44 60 42 64 53
+
+ --- Directory 0 ---
+ - Event Counts -
+Fetch 835
+Data 744
+Memory_Data 835
+Memory_Ack 744
+DMA_READ 0
+DMA_WRITE 0
+CleanReplacement 87
+
+ - Transitions -
+I Fetch 835
+I DMA_READ 0 <--
+I DMA_WRITE 0 <--
+
+ID Fetch 0 <--
+ID Data 0 <--
+ID Memory_Data 0 <--
+ID DMA_READ 0 <--
+ID DMA_WRITE 0 <--
+
+ID_W Fetch 0 <--
+ID_W Data 0 <--
+ID_W Memory_Ack 0 <--
+ID_W DMA_READ 0 <--
+ID_W DMA_WRITE 0 <--
+
+M Data 744
+M DMA_READ 0 <--
+M DMA_WRITE 0 <--
+M CleanReplacement 87
+
+IM Fetch 0 <--
+IM Data 0 <--
+IM Memory_Data 835
+IM DMA_READ 0 <--
+IM DMA_WRITE 0 <--
+
+MI Fetch 0 <--
+MI Data 0 <--
+MI Memory_Ack 744
+MI DMA_READ 0 <--
+MI DMA_WRITE 0 <--
+
+M_DRD Data 0 <--
+M_DRD DMA_READ 0 <--
+M_DRD DMA_WRITE 0 <--
+
+M_DRDI Fetch 0 <--
+M_DRDI Data 0 <--
+M_DRDI Memory_Ack 0 <--
+M_DRDI DMA_READ 0 <--
+M_DRDI DMA_WRITE 0 <--
+
+M_DWR Data 0 <--
+M_DWR DMA_READ 0 <--
+M_DWR DMA_WRITE 0 <--
+
+M_DWRI Fetch 0 <--
+M_DWRI Data 0 <--
+M_DWRI Memory_Ack 0 <--
+M_DWRI DMA_READ 0 <--
+M_DWRI DMA_WRITE 0 <--
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simerr b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simerr
new file mode 100755
index 000000000..cfdf73ce9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simerr
@@ -0,0 +1 @@
+hack: be nice to actually delete the event here
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simout b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simout
new file mode 100755
index 000000000..400c4e709
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/simout
@@ -0,0 +1,15 @@
+M5 Simulator System
+
+Copyright (c) 2001-2008
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jan 27 2010 22:06:07
+M5 revision 6068d4fc30d3+ 6931+ default qtip tip brad/rubycfg_regress_udpate
+M5 started Jan 27 2010 22:07:35
+M5 executing on svvint03
+command line: build/ALPHA_SE_MESI_CMP_directory/m5.fast -d build/ALPHA_SE_MESI_CMP_directory/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MESI_CMP_directory -re tests/run.py build/ALPHA_SE_MESI_CMP_directory/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MESI_CMP_directory
+Global frequency set at 1000000000 ticks per second
+info: Entering event queue @ 0. Starting simulation...
+Exiting @ tick 357031 because Ruby Tester completed
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/stats.txt b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/stats.txt
new file mode 100644
index 000000000..51cd1d357
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MESI_CMP_directory/stats.txt
@@ -0,0 +1,10 @@
+
+---------- Begin Simulation Statistics ----------
+host_mem_usage 213500 # Number of bytes of host memory used
+host_seconds 0.94 # Real time elapsed on the host
+host_tick_rate 379801 # Simulator tick rate (ticks/s)
+sim_freq 1000000000 # Frequency of simulated ticks
+sim_seconds 0.000357 # Number of seconds simulated
+sim_ticks 357031 # Number of ticks simulated
+
+---------- End Simulation Statistics ----------
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/config.ini b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/config.ini
new file mode 100644
index 000000000..daec04063
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/config.ini
@@ -0,0 +1,221 @@
+[root]
+type=Root
+children=system
+dummy=0
+
+[system]
+type=System
+children=physmem ruby
+mem_mode=timing
+physmem=system.physmem
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=30
+latency_var=0
+null=false
+range=0:134217727
+zero=false
+port=system.ruby.network.topology.ext_links0.ext_node.sequencer.physMemPort
+
+[system.ruby]
+type=RubySystem
+children=debug network profiler tracer
+block_size_bytes=64
+clock=1
+debug=system.ruby.debug
+mem_size=134217728
+network=system.ruby.network
+profiler=system.ruby.profiler
+random_seed=1234
+randomization=true
+stats_filename=ruby.stats
+tracer=system.ruby.tracer
+
+[system.ruby.debug]
+type=RubyDebug
+filter_string=none
+output_filename=none
+protocol_trace=false
+start_time=1
+verbosity_string=none
+
+[system.ruby.network]
+type=SimpleNetwork
+children=topology
+adaptive_routing=true
+buffer_size=0
+control_msg_size=8
+endpoint_bandwidth=10000
+link_latency=1
+number_of_virtual_networks=10
+topology=system.ruby.network.topology
+
+[system.ruby.network.topology]
+type=Topology
+children=ext_links0 ext_links1 ext_links2 int_links0 int_links1 int_links2
+ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1 system.ruby.network.topology.ext_links2
+int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1 system.ruby.network.topology.int_links2
+num_int_nodes=4
+print_config=false
+
+[system.ruby.network.topology.ext_links0]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links0.ext_node
+int_node=0
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links0.ext_node]
+type=L1Cache_Controller
+children=sequencer
+L1DcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+L1IcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+buffer_size=0
+l2_select_num_bits=0
+number_of_TBEs=256
+recycle_latency=10
+request_latency=2
+sequencer=system.ruby.network.topology.ext_links0.ext_node.sequencer
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer]
+type=RubySequencer
+children=dcache icache
+dcache=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+deadlock_threshold=500000
+icache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+max_outstanding_requests=16
+physmem=system.physmem
+using_ruby_tester=true
+version=0
+physMemPort=system.physmem.port[0]
+port=root.cpuPort[0]
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.icache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links1]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links1.ext_node
+int_node=1
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links1.ext_node]
+type=L2Cache_Controller
+children=L2cacheMemory
+L2cacheMemory=system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+buffer_size=0
+number_of_TBEs=256
+recycle_latency=10
+request_latency=2
+response_latency=2
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory]
+type=RubyCache
+assoc=2
+latency=15
+replacement_policy=PSEUDO_LRU
+size=512
+
+[system.ruby.network.topology.ext_links2]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links2.ext_node
+int_node=2
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links2.ext_node]
+type=Directory_Controller
+children=directory memBuffer
+buffer_size=0
+directory=system.ruby.network.topology.ext_links2.ext_node.directory
+directory_latency=6
+memBuffer=system.ruby.network.topology.ext_links2.ext_node.memBuffer
+number_of_TBEs=256
+recycle_latency=10
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.directory]
+type=RubyDirectoryMemory
+size=134217728
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.memBuffer]
+type=RubyMemoryControl
+bank_bit_0=8
+bank_busy_time=11
+bank_queue_size=12
+banks_per_rank=8
+basic_bus_busy_time=2
+dimm_bit_0=12
+dimms_per_channel=2
+mem_bus_cycle_multiplier=10
+mem_ctl_latency=12
+mem_fixed_delay=0
+mem_random_arbitrate=0
+rank_bit_0=11
+rank_rank_delay=1
+ranks_per_dimm=2
+read_write_delay=2
+refresh_period=1560
+tFaw=0
+version=0
+
+[system.ruby.network.topology.int_links0]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=0
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links1]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=1
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links2]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=2
+node_b=3
+weight=1
+
+[system.ruby.profiler]
+type=RubyProfiler
+all_instructions=false
+hot_lines=false
+num_of_sequencers=1
+
+[system.ruby.tracer]
+type=RubyTracer
+warmup_length=100000
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/ruby.stats b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/ruby.stats
new file mode 100644
index 000000000..f41c5d5b9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/ruby.stats
@@ -0,0 +1,1374 @@
+
+================ Begin RubySystem Configuration Print ================
+
+RubySystem config:
+ random_seed: 1234
+ randomization: 1
+ cycle_period: 1
+ block_size_bytes: 64
+ block_size_bits: 6
+ memory_size_bytes: 134217728
+ memory_size_bits: 27
+
+Network Configuration
+---------------------
+network: SIMPLE_NETWORK
+topology:
+
+virtual_net_0: active, unordered
+virtual_net_1: active, unordered
+virtual_net_2: active, unordered
+virtual_net_3: inactive
+virtual_net_4: inactive
+virtual_net_5: inactive
+virtual_net_6: inactive
+virtual_net_7: inactive
+virtual_net_8: inactive
+virtual_net_9: inactive
+
+
+Profiler Configuration
+----------------------
+periodic_stats_period: 1000000
+
+================ End RubySystem Configuration Print ================
+
+
+Real time: Jan/27/2010 22:10:04
+
+Profiler Stats
+--------------
+Elapsed_time_in_seconds: 2
+Elapsed_time_in_minutes: 0.0333333
+Elapsed_time_in_hours: 0.000555556
+Elapsed_time_in_days: 2.31481e-05
+
+Virtual_time_in_seconds: 1.56
+Virtual_time_in_minutes: 0.026
+Virtual_time_in_hours: 0.000433333
+Virtual_time_in_days: 1.80556e-05
+
+Ruby_current_time: 392461
+Ruby_start_time: 0
+Ruby_cycles: 392461
+
+mbytes_resident: 31.2344
+mbytes_total: 31.2422
+resident_ratio: 1
+
+Total_misses: 0
+total_misses: 0 [ 0 ]
+user_misses: 0 [ 0 ]
+supervisor_misses: 0 [ 0 ]
+
+ruby_cycles_executed: 392462 [ 392462 ]
+
+transactions_started: 0 [ 0 ]
+transactions_ended: 0 [ 0 ]
+cycles_per_transaction: 0 [ 0 ]
+misses_per_transaction: 0 [ 0 ]
+
+
+Busy Controller Counts:
+L2Cache-0:0
+L1Cache-0:0
+
+Directory-0:0
+
+Busy Bank Count:0
+
+sequencer_requests_outstanding: [binsize: 1 max: 16 count: 1019 average: 15.8302 | standard deviation: 1.11429 | 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 54 951 ]
+
+All Non-Zero Cycle Demand Cache Accesses
+----------------------------------------
+miss_latency: [binsize: 256 max: 40198 count: 1004 average: 6102.55 | standard deviation: 8115.6 | 95 26 84 110 62 53 51 39 30 22 26 14 13 18 16 6 8 10 9 11 7 8 9 7 5 0 4 3 6 3 2 4 3 2 6 2 2 0 1 2 1 0 0 0 1 0 1 1 1 0 2 3 3 2 7 2 6 5 2 3 5 5 6 1 6 4 4 10 5 1 2 3 5 6 7 0 4 3 3 7 5 2 3 1 4 6 7 2 2 5 1 1 3 2 4 3 1 6 2 4 4 4 2 2 0 2 1 3 0 3 2 2 2 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_2: [binsize: 256 max: 40198 count: 100 average: 5910.08 | standard deviation: 7764.39 | 9 3 10 6 6 2 6 4 3 4 5 2 0 3 3 0 0 0 1 1 2 0 1 1 2 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 2 0 2 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_3: [binsize: 256 max: 33879 count: 904 average: 6123.85 | standard deviation: 8157.38 | 86 23 74 104 56 51 45 35 27 18 21 12 13 15 13 6 8 10 8 10 5 8 8 6 3 0 4 3 5 3 2 2 3 2 6 2 2 0 1 2 1 0 0 0 1 0 1 1 1 0 1 1 2 2 5 2 4 4 1 3 4 4 6 1 6 3 4 9 5 1 1 3 5 6 6 0 4 3 3 6 4 2 3 1 4 6 6 2 2 5 1 1 3 2 4 3 1 6 2 4 3 4 2 1 0 2 1 3 0 2 2 2 2 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+
+All Non-Zero Cycle SW Prefetch Requests
+------------------------------------
+prefetch_latency: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+prefetch_latency_L2Miss:[binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Request vs. RubySystem State Profile
+--------------------------------
+
+
+filter_action: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Message Delayed Cycles
+----------------------
+Total_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Total_nonPF_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_0_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_1_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_2_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_3_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_4_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_5_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_6_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_7_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_8_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_9_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Resource Usage
+--------------
+page_size: 4096
+user_time: 1
+system_time: 0
+page_reclaims: 6770
+page_faults: 1970
+swaps: 0
+block_inputs: 0
+block_outputs: 0
+
+Network Stats
+-------------
+
+switch_0_inlinks: 2
+switch_0_outlinks: 2
+links_utilized_percent_switch_0: 0.0840147
+ links_utilized_percent_switch_0_link_0: 0.0290093 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_0_link_1: 0.13902 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_0_link_0_Response_Data: 885 63720 [ 0 0 885 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_ResponseL2hit_Data: 26 1872 [ 0 0 26 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Writeback_Control: 909 7272 [ 909 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Request_Control: 912 7296 [ 912 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Data: 909 65448 [ 0 0 909 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Control: 909 7272 [ 909 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Unblock_Control: 910 7280 [ 0 0 910 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_1_inlinks: 2
+switch_1_outlinks: 2
+links_utilized_percent_switch_1: 0.15235
+ links_utilized_percent_switch_1_link_0: 0.0629553 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_1_link_1: 0.241744 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_1_link_0_Request_Control: 912 7296 [ 912 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Response_Data: 886 63792 [ 0 0 886 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Data: 909 65448 [ 0 0 909 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Control: 1789 14312 [ 909 880 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Unblock_Control: 910 7280 [ 0 0 910 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Request_Control: 886 7088 [ 0 886 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Data: 886 63792 [ 0 0 886 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_ResponseL2hit_Data: 26 1872 [ 0 0 26 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Data: 791 56952 [ 0 0 791 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Control: 1878 15024 [ 909 880 89 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Unblock_Control: 884 7072 [ 0 0 884 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_2_inlinks: 2
+switch_2_outlinks: 2
+links_utilized_percent_switch_2: 0.0720995
+ links_utilized_percent_switch_2_link_0: 0.031398 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_2_link_1: 0.112801 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_2_link_0_Request_Control: 886 7088 [ 0 886 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Data: 791 56952 [ 0 0 791 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Control: 969 7752 [ 0 880 89 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Unblock_Control: 884 7072 [ 0 0 884 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Response_Data: 886 63792 [ 0 0 886 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Writeback_Control: 880 7040 [ 0 880 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_3_inlinks: 3
+switch_3_outlinks: 3
+links_utilized_percent_switch_3: 0.164522
+ links_utilized_percent_switch_3_link_0: 0.116152 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_1: 0.251821 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_2: 0.125592 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_3_link_0_Response_Data: 886 63792 [ 0 0 886 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_ResponseL2hit_Data: 26 1872 [ 0 0 26 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_Writeback_Control: 909 7272 [ 909 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Request_Control: 912 7296 [ 912 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Response_Data: 886 63792 [ 0 0 886 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Data: 909 65448 [ 0 0 909 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Control: 1789 14312 [ 909 880 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Unblock_Control: 910 7280 [ 0 0 910 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Request_Control: 886 7088 [ 0 886 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Writeback_Data: 791 56952 [ 0 0 791 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Writeback_Control: 969 7752 [ 0 880 89 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Unblock_Control: 884 7072 [ 0 0 884 0 0 0 0 0 0 0 ] base_latency: 1
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L1Cache 0 ---
+ - Event Counts -
+Load 100
+Ifetch 0
+Store 905
+L1_Replacement 561824
+Own_GETX 0
+Fwd_GETX 0
+Fwd_GETS 0
+Fwd_DMA 0
+Inv 0
+Ack 0
+Data 0
+Exclusive_Data 911
+Writeback_Ack 0
+Writeback_Ack_Data 909
+Writeback_Nack 0
+All_acks 820
+Use_Timeout 910
+
+ - Transitions -
+I Load 91
+I Ifetch 0 <--
+I Store 821
+I L1_Replacement 0 <--
+I Inv 0 <--
+
+S Load 0 <--
+S Ifetch 0 <--
+S Store 0 <--
+S L1_Replacement 0 <--
+S Fwd_GETS 0 <--
+S Fwd_DMA 0 <--
+S Inv 0 <--
+
+O Load 0 <--
+O Ifetch 0 <--
+O Store 0 <--
+O L1_Replacement 0 <--
+O Fwd_GETX 0 <--
+O Fwd_GETS 0 <--
+O Fwd_DMA 0 <--
+
+M Load 0 <--
+M Ifetch 0 <--
+M Store 0 <--
+M L1_Replacement 89
+M Fwd_GETX 0 <--
+M Fwd_GETS 0 <--
+M Fwd_DMA 0 <--
+
+M_W Load 0 <--
+M_W Ifetch 0 <--
+M_W Store 1
+M_W L1_Replacement 3128
+M_W Own_GETX 0 <--
+M_W Fwd_GETX 0 <--
+M_W Fwd_GETS 0 <--
+M_W Fwd_DMA 0 <--
+M_W Inv 0 <--
+M_W Use_Timeout 89
+
+MM Load 9
+MM Ifetch 0 <--
+MM Store 73
+MM L1_Replacement 820
+MM Fwd_GETX 0 <--
+MM Fwd_GETS 0 <--
+MM Fwd_DMA 0 <--
+
+MM_W Load 0 <--
+MM_W Ifetch 0 <--
+MM_W Store 10
+MM_W L1_Replacement 30537
+MM_W Own_GETX 0 <--
+MM_W Fwd_GETX 0 <--
+MM_W Fwd_GETS 0 <--
+MM_W Fwd_DMA 0 <--
+MM_W Inv 0 <--
+MM_W Use_Timeout 821
+
+IM Load 0 <--
+IM Ifetch 0 <--
+IM Store 0 <--
+IM L1_Replacement 456440
+IM Inv 0 <--
+IM Ack 0 <--
+IM Data 0 <--
+IM Exclusive_Data 820
+
+SM Load 0 <--
+SM Ifetch 0 <--
+SM Store 0 <--
+SM L1_Replacement 0 <--
+SM Fwd_GETS 0 <--
+SM Fwd_DMA 0 <--
+SM Inv 0 <--
+SM Ack 0 <--
+SM Data 0 <--
+SM Exclusive_Data 0 <--
+
+OM Load 0 <--
+OM Ifetch 0 <--
+OM Store 0 <--
+OM L1_Replacement 16198
+OM Own_GETX 0 <--
+OM Fwd_GETX 0 <--
+OM Fwd_GETS 0 <--
+OM Fwd_DMA 0 <--
+OM Ack 0 <--
+OM All_acks 820
+
+IS Load 0 <--
+IS Ifetch 0 <--
+IS Store 0 <--
+IS L1_Replacement 54612
+IS Inv 0 <--
+IS Data 0 <--
+IS Exclusive_Data 91
+
+SI Load 0 <--
+SI Ifetch 0 <--
+SI Store 0 <--
+SI L1_Replacement 0 <--
+SI Fwd_GETS 0 <--
+SI Fwd_DMA 0 <--
+SI Inv 0 <--
+SI Writeback_Ack 0 <--
+SI Writeback_Ack_Data 0 <--
+SI Writeback_Nack 0 <--
+
+OI Load 0 <--
+OI Ifetch 0 <--
+OI Store 0 <--
+OI L1_Replacement 0 <--
+OI Fwd_GETX 0 <--
+OI Fwd_GETS 0 <--
+OI Fwd_DMA 0 <--
+OI Writeback_Ack 0 <--
+OI Writeback_Ack_Data 0 <--
+OI Writeback_Nack 0 <--
+
+MI Load 0 <--
+MI Ifetch 0 <--
+MI Store 0 <--
+MI L1_Replacement 0 <--
+MI Fwd_GETX 0 <--
+MI Fwd_GETS 0 <--
+MI Fwd_DMA 0 <--
+MI Writeback_Ack 0 <--
+MI Writeback_Ack_Data 909
+MI Writeback_Nack 0 <--
+
+II Load 0 <--
+II Ifetch 0 <--
+II Store 0 <--
+II L1_Replacement 0 <--
+II Inv 0 <--
+II Writeback_Ack 0 <--
+II Writeback_Ack_Data 0 <--
+II Writeback_Nack 0 <--
+
+Cache Stats: system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_demand_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L2Cache 0 ---
+ - Event Counts -
+L1_GETS 91
+L1_GETX 821
+L1_PUTO 0
+L1_PUTX 2498
+L1_PUTS_only 0
+L1_PUTS 0
+Fwd_GETX 0
+Fwd_GETS 0
+Fwd_DMA 0
+Own_GETX 0
+Inv 0
+IntAck 0
+ExtAck 0
+All_Acks 795
+Data 795
+Data_Exclusive 91
+L1_WBCLEANDATA 89
+L1_WBDIRTYDATA 820
+Writeback_Ack 880
+Writeback_Nack 0
+Unblock 0
+Exclusive_Unblock 910
+L2_Replacement 880
+
+ - Transitions -
+NP L1_GETS 91
+NP L1_GETX 795
+NP L1_PUTO 0 <--
+NP L1_PUTX 0 <--
+NP L1_PUTS 0 <--
+NP Inv 0 <--
+
+I L1_GETS 0 <--
+I L1_GETX 0 <--
+I L1_PUTO 0 <--
+I L1_PUTX 0 <--
+I L1_PUTS 0 <--
+I Inv 0 <--
+I L2_Replacement 0 <--
+
+ILS L1_GETS 0 <--
+ILS L1_GETX 0 <--
+ILS L1_PUTO 0 <--
+ILS L1_PUTX 0 <--
+ILS L1_PUTS_only 0 <--
+ILS L1_PUTS 0 <--
+ILS Inv 0 <--
+ILS L2_Replacement 0 <--
+
+ILX L1_GETS 0 <--
+ILX L1_GETX 0 <--
+ILX L1_PUTO 0 <--
+ILX L1_PUTX 909
+ILX L1_PUTS_only 0 <--
+ILX L1_PUTS 0 <--
+ILX Fwd_GETX 0 <--
+ILX Fwd_GETS 0 <--
+ILX Fwd_DMA 0 <--
+ILX Inv 0 <--
+ILX Data 0 <--
+ILX L2_Replacement 0 <--
+
+ILO L1_GETS 0 <--
+ILO L1_GETX 0 <--
+ILO L1_PUTO 0 <--
+ILO L1_PUTX 0 <--
+ILO L1_PUTS 0 <--
+ILO Fwd_GETX 0 <--
+ILO Fwd_GETS 0 <--
+ILO Fwd_DMA 0 <--
+ILO Inv 0 <--
+ILO Data 0 <--
+ILO L2_Replacement 0 <--
+
+ILOX L1_GETS 0 <--
+ILOX L1_GETX 0 <--
+ILOX L1_PUTO 0 <--
+ILOX L1_PUTX 0 <--
+ILOX L1_PUTS 0 <--
+ILOX Fwd_GETX 0 <--
+ILOX Fwd_GETS 0 <--
+ILOX Fwd_DMA 0 <--
+ILOX Data 0 <--
+
+ILOS L1_GETS 0 <--
+ILOS L1_GETX 0 <--
+ILOS L1_PUTO 0 <--
+ILOS L1_PUTX 0 <--
+ILOS L1_PUTS_only 0 <--
+ILOS L1_PUTS 0 <--
+ILOS Fwd_GETX 0 <--
+ILOS Fwd_GETS 0 <--
+ILOS Fwd_DMA 0 <--
+ILOS Data 0 <--
+ILOS L2_Replacement 0 <--
+
+ILOSX L1_GETS 0 <--
+ILOSX L1_GETX 0 <--
+ILOSX L1_PUTO 0 <--
+ILOSX L1_PUTX 0 <--
+ILOSX L1_PUTS_only 0 <--
+ILOSX L1_PUTS 0 <--
+ILOSX Fwd_GETX 0 <--
+ILOSX Fwd_GETS 0 <--
+ILOSX Fwd_DMA 0 <--
+ILOSX Data 0 <--
+
+S L1_GETS 0 <--
+S L1_GETX 0 <--
+S L1_PUTX 0 <--
+S L1_PUTS 0 <--
+S Inv 0 <--
+S L2_Replacement 0 <--
+
+O L1_GETS 0 <--
+O L1_GETX 0 <--
+O L1_PUTX 0 <--
+O Fwd_GETX 0 <--
+O Fwd_GETS 0 <--
+O Fwd_DMA 0 <--
+O L2_Replacement 0 <--
+
+OLS L1_GETS 0 <--
+OLS L1_GETX 0 <--
+OLS L1_PUTX 0 <--
+OLS L1_PUTS_only 0 <--
+OLS L1_PUTS 0 <--
+OLS Fwd_GETX 0 <--
+OLS Fwd_GETS 0 <--
+OLS Fwd_DMA 0 <--
+OLS L2_Replacement 0 <--
+
+OLSX L1_GETS 0 <--
+OLSX L1_GETX 0 <--
+OLSX L1_PUTO 0 <--
+OLSX L1_PUTX 0 <--
+OLSX L1_PUTS_only 0 <--
+OLSX L1_PUTS 0 <--
+OLSX Fwd_GETX 0 <--
+OLSX Fwd_GETS 0 <--
+OLSX Fwd_DMA 0 <--
+OLSX L2_Replacement 0 <--
+
+SLS L1_GETS 0 <--
+SLS L1_GETX 0 <--
+SLS L1_PUTX 0 <--
+SLS L1_PUTS_only 0 <--
+SLS L1_PUTS 0 <--
+SLS Inv 0 <--
+SLS L2_Replacement 0 <--
+
+M L1_GETS 0 <--
+M L1_GETX 26
+M L1_PUTO 0 <--
+M L1_PUTX 0 <--
+M L1_PUTS 0 <--
+M Fwd_GETX 0 <--
+M Fwd_GETS 0 <--
+M Fwd_DMA 0 <--
+M L2_Replacement 880
+
+IFGX L1_GETS 0 <--
+IFGX L1_GETX 0 <--
+IFGX L1_PUTO 0 <--
+IFGX L1_PUTX 0 <--
+IFGX L1_PUTS_only 0 <--
+IFGX L1_PUTS 0 <--
+IFGX Fwd_GETX 0 <--
+IFGX Fwd_GETS 0 <--
+IFGX Fwd_DMA 0 <--
+IFGX Inv 0 <--
+IFGX Data 0 <--
+IFGX Data_Exclusive 0 <--
+IFGX L2_Replacement 0 <--
+
+IFGS L1_GETS 0 <--
+IFGS L1_GETX 0 <--
+IFGS L1_PUTO 0 <--
+IFGS L1_PUTX 0 <--
+IFGS L1_PUTS_only 0 <--
+IFGS L1_PUTS 0 <--
+IFGS Fwd_GETX 0 <--
+IFGS Fwd_GETS 0 <--
+IFGS Fwd_DMA 0 <--
+IFGS Inv 0 <--
+IFGS Data 0 <--
+IFGS Data_Exclusive 0 <--
+IFGS L2_Replacement 0 <--
+
+ISFGS L1_GETS 0 <--
+ISFGS L1_GETX 0 <--
+ISFGS L1_PUTO 0 <--
+ISFGS L1_PUTX 0 <--
+ISFGS L1_PUTS_only 0 <--
+ISFGS L1_PUTS 0 <--
+ISFGS Fwd_GETX 0 <--
+ISFGS Fwd_GETS 0 <--
+ISFGS Fwd_DMA 0 <--
+ISFGS Inv 0 <--
+ISFGS Data 0 <--
+ISFGS L2_Replacement 0 <--
+
+IFGXX L1_GETS 0 <--
+IFGXX L1_GETX 0 <--
+IFGXX L1_PUTO 0 <--
+IFGXX L1_PUTX 0 <--
+IFGXX L1_PUTS_only 0 <--
+IFGXX L1_PUTS 0 <--
+IFGXX Fwd_GETX 0 <--
+IFGXX Fwd_GETS 0 <--
+IFGXX Fwd_DMA 0 <--
+IFGXX Inv 0 <--
+IFGXX IntAck 0 <--
+IFGXX All_Acks 0 <--
+IFGXX Data_Exclusive 0 <--
+IFGXX L2_Replacement 0 <--
+
+OFGX L1_GETS 0 <--
+OFGX L1_GETX 0 <--
+OFGX L1_PUTO 0 <--
+OFGX L1_PUTX 0 <--
+OFGX L1_PUTS_only 0 <--
+OFGX L1_PUTS 0 <--
+OFGX Fwd_GETX 0 <--
+OFGX Fwd_GETS 0 <--
+OFGX Fwd_DMA 0 <--
+OFGX Inv 0 <--
+OFGX L2_Replacement 0 <--
+
+OLSF L1_GETS 0 <--
+OLSF L1_GETX 0 <--
+OLSF L1_PUTO 0 <--
+OLSF L1_PUTX 0 <--
+OLSF L1_PUTS_only 0 <--
+OLSF L1_PUTS 0 <--
+OLSF Fwd_GETX 0 <--
+OLSF Fwd_GETS 0 <--
+OLSF Fwd_DMA 0 <--
+OLSF Inv 0 <--
+OLSF IntAck 0 <--
+OLSF All_Acks 0 <--
+OLSF L2_Replacement 0 <--
+
+ILOW L1_GETS 0 <--
+ILOW L1_GETX 0 <--
+ILOW L1_PUTO 0 <--
+ILOW L1_PUTX 0 <--
+ILOW L1_PUTS_only 0 <--
+ILOW L1_PUTS 0 <--
+ILOW Fwd_GETX 0 <--
+ILOW Fwd_GETS 0 <--
+ILOW Fwd_DMA 0 <--
+ILOW Inv 0 <--
+ILOW L1_WBCLEANDATA 0 <--
+ILOW L1_WBDIRTYDATA 0 <--
+ILOW Unblock 0 <--
+ILOW L2_Replacement 0 <--
+
+ILOXW L1_GETS 0 <--
+ILOXW L1_GETX 0 <--
+ILOXW L1_PUTO 0 <--
+ILOXW L1_PUTX 0 <--
+ILOXW L1_PUTS_only 0 <--
+ILOXW L1_PUTS 0 <--
+ILOXW Fwd_GETX 0 <--
+ILOXW Fwd_GETS 0 <--
+ILOXW Fwd_DMA 0 <--
+ILOXW Inv 0 <--
+ILOXW L1_WBCLEANDATA 0 <--
+ILOXW L1_WBDIRTYDATA 0 <--
+ILOXW Unblock 0 <--
+ILOXW L2_Replacement 0 <--
+
+ILOSW L1_GETS 0 <--
+ILOSW L1_GETX 0 <--
+ILOSW L1_PUTO 0 <--
+ILOSW L1_PUTX 0 <--
+ILOSW L1_PUTS_only 0 <--
+ILOSW L1_PUTS 0 <--
+ILOSW Fwd_GETX 0 <--
+ILOSW Fwd_GETS 0 <--
+ILOSW Fwd_DMA 0 <--
+ILOSW Inv 0 <--
+ILOSW L1_WBCLEANDATA 0 <--
+ILOSW L1_WBDIRTYDATA 0 <--
+ILOSW Unblock 0 <--
+ILOSW L2_Replacement 0 <--
+
+ILOSXW L1_GETS 0 <--
+ILOSXW L1_GETX 0 <--
+ILOSXW L1_PUTO 0 <--
+ILOSXW L1_PUTX 0 <--
+ILOSXW L1_PUTS_only 0 <--
+ILOSXW L1_PUTS 0 <--
+ILOSXW Fwd_GETX 0 <--
+ILOSXW Fwd_GETS 0 <--
+ILOSXW Fwd_DMA 0 <--
+ILOSXW Inv 0 <--
+ILOSXW L1_WBCLEANDATA 0 <--
+ILOSXW L1_WBDIRTYDATA 0 <--
+ILOSXW Unblock 0 <--
+ILOSXW L2_Replacement 0 <--
+
+SLSW L1_GETS 0 <--
+SLSW L1_GETX 0 <--
+SLSW L1_PUTO 0 <--
+SLSW L1_PUTX 0 <--
+SLSW L1_PUTS_only 0 <--
+SLSW L1_PUTS 0 <--
+SLSW Fwd_GETX 0 <--
+SLSW Fwd_GETS 0 <--
+SLSW Fwd_DMA 0 <--
+SLSW Inv 0 <--
+SLSW Unblock 0 <--
+SLSW L2_Replacement 0 <--
+
+OLSW L1_GETS 0 <--
+OLSW L1_GETX 0 <--
+OLSW L1_PUTO 0 <--
+OLSW L1_PUTX 0 <--
+OLSW L1_PUTS_only 0 <--
+OLSW L1_PUTS 0 <--
+OLSW Fwd_GETX 0 <--
+OLSW Fwd_GETS 0 <--
+OLSW Fwd_DMA 0 <--
+OLSW Inv 0 <--
+OLSW Unblock 0 <--
+OLSW L2_Replacement 0 <--
+
+ILSW L1_GETS 0 <--
+ILSW L1_GETX 0 <--
+ILSW L1_PUTO 0 <--
+ILSW L1_PUTX 0 <--
+ILSW L1_PUTS_only 0 <--
+ILSW L1_PUTS 0 <--
+ILSW Fwd_GETX 0 <--
+ILSW Fwd_GETS 0 <--
+ILSW Fwd_DMA 0 <--
+ILSW Inv 0 <--
+ILSW L1_WBCLEANDATA 0 <--
+ILSW Unblock 0 <--
+ILSW L2_Replacement 0 <--
+
+IW L1_GETS 0 <--
+IW L1_GETX 0 <--
+IW L1_PUTO 0 <--
+IW L1_PUTX 0 <--
+IW L1_PUTS_only 0 <--
+IW L1_PUTS 0 <--
+IW Fwd_GETX 0 <--
+IW Fwd_GETS 0 <--
+IW Fwd_DMA 0 <--
+IW Inv 0 <--
+IW L1_WBCLEANDATA 0 <--
+IW L2_Replacement 0 <--
+
+OW L1_GETS 0 <--
+OW L1_GETX 0 <--
+OW L1_PUTO 0 <--
+OW L1_PUTX 0 <--
+OW L1_PUTS_only 0 <--
+OW L1_PUTS 0 <--
+OW Fwd_GETX 0 <--
+OW Fwd_GETS 0 <--
+OW Fwd_DMA 0 <--
+OW Inv 0 <--
+OW Unblock 0 <--
+OW L2_Replacement 0 <--
+
+SW L1_GETS 0 <--
+SW L1_GETX 0 <--
+SW L1_PUTO 0 <--
+SW L1_PUTX 0 <--
+SW L1_PUTS_only 0 <--
+SW L1_PUTS 0 <--
+SW Fwd_GETX 0 <--
+SW Fwd_GETS 0 <--
+SW Fwd_DMA 0 <--
+SW Inv 0 <--
+SW Unblock 0 <--
+SW L2_Replacement 0 <--
+
+OXW L1_GETS 0 <--
+OXW L1_GETX 0 <--
+OXW L1_PUTO 0 <--
+OXW L1_PUTX 0 <--
+OXW L1_PUTS_only 0 <--
+OXW L1_PUTS 0 <--
+OXW Fwd_GETX 0 <--
+OXW Fwd_GETS 0 <--
+OXW Fwd_DMA 0 <--
+OXW Inv 0 <--
+OXW Unblock 0 <--
+OXW L2_Replacement 0 <--
+
+OLSXW L1_GETS 0 <--
+OLSXW L1_GETX 0 <--
+OLSXW L1_PUTO 0 <--
+OLSXW L1_PUTX 0 <--
+OLSXW L1_PUTS_only 0 <--
+OLSXW L1_PUTS 0 <--
+OLSXW Fwd_GETX 0 <--
+OLSXW Fwd_GETS 0 <--
+OLSXW Fwd_DMA 0 <--
+OLSXW Inv 0 <--
+OLSXW Unblock 0 <--
+OLSXW L2_Replacement 0 <--
+
+ILXW L1_GETS 0 <--
+ILXW L1_GETX 0 <--
+ILXW L1_PUTO 0 <--
+ILXW L1_PUTX 0 <--
+ILXW L1_PUTS_only 0 <--
+ILXW L1_PUTS 0 <--
+ILXW Fwd_GETX 0 <--
+ILXW Fwd_GETS 0 <--
+ILXW Fwd_DMA 0 <--
+ILXW Inv 0 <--
+ILXW Data 0 <--
+ILXW L1_WBCLEANDATA 89
+ILXW L1_WBDIRTYDATA 820
+ILXW Unblock 0 <--
+ILXW L2_Replacement 0 <--
+
+IFLS L1_GETS 0 <--
+IFLS L1_GETX 0 <--
+IFLS L1_PUTO 0 <--
+IFLS L1_PUTX 0 <--
+IFLS L1_PUTS_only 0 <--
+IFLS L1_PUTS 0 <--
+IFLS Fwd_GETX 0 <--
+IFLS Fwd_GETS 0 <--
+IFLS Fwd_DMA 0 <--
+IFLS Inv 0 <--
+IFLS Unblock 0 <--
+IFLS L2_Replacement 0 <--
+
+IFLO L1_GETS 0 <--
+IFLO L1_GETX 0 <--
+IFLO L1_PUTO 0 <--
+IFLO L1_PUTX 0 <--
+IFLO L1_PUTS_only 0 <--
+IFLO L1_PUTS 0 <--
+IFLO Fwd_GETX 0 <--
+IFLO Fwd_GETS 0 <--
+IFLO Fwd_DMA 0 <--
+IFLO Inv 0 <--
+IFLO Unblock 0 <--
+IFLO L2_Replacement 0 <--
+
+IFLOX L1_GETS 0 <--
+IFLOX L1_GETX 0 <--
+IFLOX L1_PUTO 0 <--
+IFLOX L1_PUTX 0 <--
+IFLOX L1_PUTS_only 0 <--
+IFLOX L1_PUTS 0 <--
+IFLOX Fwd_GETX 0 <--
+IFLOX Fwd_GETS 0 <--
+IFLOX Fwd_DMA 0 <--
+IFLOX Inv 0 <--
+IFLOX Unblock 0 <--
+IFLOX Exclusive_Unblock 0 <--
+IFLOX L2_Replacement 0 <--
+
+IFLOXX L1_GETS 0 <--
+IFLOXX L1_GETX 0 <--
+IFLOXX L1_PUTO 0 <--
+IFLOXX L1_PUTX 0 <--
+IFLOXX L1_PUTS_only 0 <--
+IFLOXX L1_PUTS 0 <--
+IFLOXX Fwd_GETX 0 <--
+IFLOXX Fwd_GETS 0 <--
+IFLOXX Fwd_DMA 0 <--
+IFLOXX Inv 0 <--
+IFLOXX Unblock 0 <--
+IFLOXX Exclusive_Unblock 0 <--
+IFLOXX L2_Replacement 0 <--
+
+IFLOSX L1_GETS 0 <--
+IFLOSX L1_GETX 0 <--
+IFLOSX L1_PUTO 0 <--
+IFLOSX L1_PUTX 0 <--
+IFLOSX L1_PUTS_only 0 <--
+IFLOSX L1_PUTS 0 <--
+IFLOSX Fwd_GETX 0 <--
+IFLOSX Fwd_GETS 0 <--
+IFLOSX Fwd_DMA 0 <--
+IFLOSX Inv 0 <--
+IFLOSX Unblock 0 <--
+IFLOSX Exclusive_Unblock 0 <--
+IFLOSX L2_Replacement 0 <--
+
+IFLXO L1_GETS 0 <--
+IFLXO L1_GETX 0 <--
+IFLXO L1_PUTO 0 <--
+IFLXO L1_PUTX 0 <--
+IFLXO L1_PUTS_only 0 <--
+IFLXO L1_PUTS 0 <--
+IFLXO Fwd_GETX 0 <--
+IFLXO Fwd_GETS 0 <--
+IFLXO Fwd_DMA 0 <--
+IFLXO Inv 0 <--
+IFLXO Exclusive_Unblock 0 <--
+IFLXO L2_Replacement 0 <--
+
+IGS L1_GETS 0 <--
+IGS L1_GETX 0 <--
+IGS L1_PUTO 0 <--
+IGS L1_PUTX 136
+IGS L1_PUTS_only 0 <--
+IGS L1_PUTS 0 <--
+IGS Fwd_GETX 0 <--
+IGS Fwd_GETS 0 <--
+IGS Fwd_DMA 0 <--
+IGS Own_GETX 0 <--
+IGS Inv 0 <--
+IGS Data 0 <--
+IGS Data_Exclusive 91
+IGS Unblock 0 <--
+IGS Exclusive_Unblock 90
+IGS L2_Replacement 0 <--
+
+IGM L1_GETS 0 <--
+IGM L1_GETX 0 <--
+IGM L1_PUTO 0 <--
+IGM L1_PUTX 0 <--
+IGM L1_PUTS_only 0 <--
+IGM L1_PUTS 0 <--
+IGM Fwd_GETX 0 <--
+IGM Fwd_GETS 0 <--
+IGM Fwd_DMA 0 <--
+IGM Own_GETX 0 <--
+IGM Inv 0 <--
+IGM ExtAck 0 <--
+IGM Data 795
+IGM Data_Exclusive 0 <--
+IGM L2_Replacement 0 <--
+
+IGMLS L1_GETS 0 <--
+IGMLS L1_GETX 0 <--
+IGMLS L1_PUTO 0 <--
+IGMLS L1_PUTX 0 <--
+IGMLS L1_PUTS_only 0 <--
+IGMLS L1_PUTS 0 <--
+IGMLS Inv 0 <--
+IGMLS IntAck 0 <--
+IGMLS ExtAck 0 <--
+IGMLS All_Acks 0 <--
+IGMLS Data 0 <--
+IGMLS Data_Exclusive 0 <--
+IGMLS L2_Replacement 0 <--
+
+IGMO L1_GETS 0 <--
+IGMO L1_GETX 0 <--
+IGMO L1_PUTO 0 <--
+IGMO L1_PUTX 1443
+IGMO L1_PUTS_only 0 <--
+IGMO L1_PUTS 0 <--
+IGMO Fwd_GETX 0 <--
+IGMO Fwd_GETS 0 <--
+IGMO Fwd_DMA 0 <--
+IGMO Own_GETX 0 <--
+IGMO ExtAck 0 <--
+IGMO All_Acks 795
+IGMO Exclusive_Unblock 794
+IGMO L2_Replacement 0 <--
+
+IGMIO L1_GETS 0 <--
+IGMIO L1_GETX 0 <--
+IGMIO L1_PUTO 0 <--
+IGMIO L1_PUTX 0 <--
+IGMIO L1_PUTS_only 0 <--
+IGMIO L1_PUTS 0 <--
+IGMIO Fwd_GETX 0 <--
+IGMIO Fwd_GETS 0 <--
+IGMIO Fwd_DMA 0 <--
+IGMIO Own_GETX 0 <--
+IGMIO ExtAck 0 <--
+IGMIO All_Acks 0 <--
+
+OGMIO L1_GETS 0 <--
+OGMIO L1_GETX 0 <--
+OGMIO L1_PUTO 0 <--
+OGMIO L1_PUTX 0 <--
+OGMIO L1_PUTS_only 0 <--
+OGMIO L1_PUTS 0 <--
+OGMIO Fwd_GETX 0 <--
+OGMIO Fwd_GETS 0 <--
+OGMIO Fwd_DMA 0 <--
+OGMIO Own_GETX 0 <--
+OGMIO ExtAck 0 <--
+OGMIO All_Acks 0 <--
+
+IGMIOF L1_GETS 0 <--
+IGMIOF L1_GETX 0 <--
+IGMIOF L1_PUTO 0 <--
+IGMIOF L1_PUTX 0 <--
+IGMIOF L1_PUTS_only 0 <--
+IGMIOF L1_PUTS 0 <--
+IGMIOF IntAck 0 <--
+IGMIOF All_Acks 0 <--
+IGMIOF Data_Exclusive 0 <--
+
+IGMIOFS L1_GETS 0 <--
+IGMIOFS L1_GETX 0 <--
+IGMIOFS L1_PUTO 0 <--
+IGMIOFS L1_PUTX 0 <--
+IGMIOFS L1_PUTS_only 0 <--
+IGMIOFS L1_PUTS 0 <--
+IGMIOFS Fwd_GETX 0 <--
+IGMIOFS Fwd_GETS 0 <--
+IGMIOFS Fwd_DMA 0 <--
+IGMIOFS Inv 0 <--
+IGMIOFS Data 0 <--
+IGMIOFS L2_Replacement 0 <--
+
+OGMIOF L1_GETS 0 <--
+OGMIOF L1_GETX 0 <--
+OGMIOF L1_PUTO 0 <--
+OGMIOF L1_PUTX 0 <--
+OGMIOF L1_PUTS_only 0 <--
+OGMIOF L1_PUTS 0 <--
+OGMIOF IntAck 0 <--
+OGMIOF All_Acks 0 <--
+
+II L1_GETS 0 <--
+II L1_GETX 0 <--
+II L1_PUTO 0 <--
+II L1_PUTX 0 <--
+II L1_PUTS_only 0 <--
+II L1_PUTS 0 <--
+II IntAck 0 <--
+II All_Acks 0 <--
+
+MM L1_GETS 0 <--
+MM L1_GETX 0 <--
+MM L1_PUTO 0 <--
+MM L1_PUTX 10
+MM L1_PUTS_only 0 <--
+MM L1_PUTS 0 <--
+MM Fwd_GETX 0 <--
+MM Fwd_GETS 0 <--
+MM Fwd_DMA 0 <--
+MM Inv 0 <--
+MM Exclusive_Unblock 26
+MM L2_Replacement 0 <--
+
+SS L1_GETS 0 <--
+SS L1_GETX 0 <--
+SS L1_PUTO 0 <--
+SS L1_PUTX 0 <--
+SS L1_PUTS_only 0 <--
+SS L1_PUTS 0 <--
+SS Fwd_GETX 0 <--
+SS Fwd_GETS 0 <--
+SS Fwd_DMA 0 <--
+SS Inv 0 <--
+SS Unblock 0 <--
+SS L2_Replacement 0 <--
+
+OO L1_GETS 0 <--
+OO L1_GETX 0 <--
+OO L1_PUTO 0 <--
+OO L1_PUTX 0 <--
+OO L1_PUTS_only 0 <--
+OO L1_PUTS 0 <--
+OO Fwd_GETX 0 <--
+OO Fwd_GETS 0 <--
+OO Fwd_DMA 0 <--
+OO Inv 0 <--
+OO Unblock 0 <--
+OO Exclusive_Unblock 0 <--
+OO L2_Replacement 0 <--
+
+OLSS L1_GETS 0 <--
+OLSS L1_GETX 0 <--
+OLSS L1_PUTO 0 <--
+OLSS L1_PUTX 0 <--
+OLSS L1_PUTS_only 0 <--
+OLSS L1_PUTS 0 <--
+OLSS Fwd_GETX 0 <--
+OLSS Fwd_GETS 0 <--
+OLSS Fwd_DMA 0 <--
+OLSS Inv 0 <--
+OLSS Unblock 0 <--
+OLSS L2_Replacement 0 <--
+
+OLSXS L1_GETS 0 <--
+OLSXS L1_GETX 0 <--
+OLSXS L1_PUTO 0 <--
+OLSXS L1_PUTX 0 <--
+OLSXS L1_PUTS_only 0 <--
+OLSXS L1_PUTS 0 <--
+OLSXS Fwd_GETX 0 <--
+OLSXS Fwd_GETS 0 <--
+OLSXS Fwd_DMA 0 <--
+OLSXS Inv 0 <--
+OLSXS Unblock 0 <--
+OLSXS L2_Replacement 0 <--
+
+SLSS L1_GETS 0 <--
+SLSS L1_GETX 0 <--
+SLSS L1_PUTO 0 <--
+SLSS L1_PUTX 0 <--
+SLSS L1_PUTS_only 0 <--
+SLSS L1_PUTS 0 <--
+SLSS Fwd_GETX 0 <--
+SLSS Fwd_GETS 0 <--
+SLSS Fwd_DMA 0 <--
+SLSS Inv 0 <--
+SLSS Unblock 0 <--
+SLSS L2_Replacement 0 <--
+
+OI L1_GETS 0 <--
+OI L1_GETX 0 <--
+OI L1_PUTO 0 <--
+OI L1_PUTX 0 <--
+OI L1_PUTS_only 0 <--
+OI L1_PUTS 0 <--
+OI Fwd_GETX 0 <--
+OI Fwd_GETS 0 <--
+OI Fwd_DMA 0 <--
+OI Writeback_Ack 0 <--
+OI Writeback_Nack 0 <--
+OI L2_Replacement 0 <--
+
+MI L1_GETS 0 <--
+MI L1_GETX 0 <--
+MI L1_PUTO 0 <--
+MI L1_PUTX 0 <--
+MI L1_PUTS_only 0 <--
+MI L1_PUTS 0 <--
+MI Fwd_GETX 0 <--
+MI Fwd_GETS 0 <--
+MI Fwd_DMA 0 <--
+MI Writeback_Ack 880
+MI L2_Replacement 0 <--
+
+MII L1_GETS 0 <--
+MII L1_GETX 0 <--
+MII L1_PUTO 0 <--
+MII L1_PUTX 0 <--
+MII L1_PUTS_only 0 <--
+MII L1_PUTS 0 <--
+MII Writeback_Ack 0 <--
+MII Writeback_Nack 0 <--
+MII L2_Replacement 0 <--
+
+OLSI L1_GETS 0 <--
+OLSI L1_GETX 0 <--
+OLSI L1_PUTO 0 <--
+OLSI L1_PUTX 0 <--
+OLSI L1_PUTS_only 0 <--
+OLSI L1_PUTS 0 <--
+OLSI Fwd_GETX 0 <--
+OLSI Fwd_GETS 0 <--
+OLSI Fwd_DMA 0 <--
+OLSI Writeback_Ack 0 <--
+OLSI L2_Replacement 0 <--
+
+ILSI L1_GETS 0 <--
+ILSI L1_GETX 0 <--
+ILSI L1_PUTO 0 <--
+ILSI L1_PUTX 0 <--
+ILSI L1_PUTS_only 0 <--
+ILSI L1_PUTS 0 <--
+ILSI IntAck 0 <--
+ILSI All_Acks 0 <--
+ILSI Writeback_Ack 0 <--
+ILSI L2_Replacement 0 <--
+
+Memory controller: system.ruby.network.topology.ext_links2.ext_node.memBuffer:
+ memory_total_requests: 1677
+ memory_reads: 886
+ memory_writes: 790
+ memory_refreshes: 818
+ memory_total_request_delays: 692
+ memory_delays_per_request: 0.412642
+ memory_delays_in_input_queue: 87
+ memory_delays_behind_head_of_bank_queue: 0
+ memory_delays_stalled_at_head_of_bank_queue: 605
+ memory_stalls_for_bank_busy: 167
+ memory_stalls_for_random_busy: 0
+ memory_stalls_for_anti_starvation: 0
+ memory_stalls_for_arbitration: 43
+ memory_stalls_for_bus: 243
+ memory_stalls_for_tfaw: 0
+ memory_stalls_for_read_write_turnaround: 87
+ memory_stalls_for_read_read_turnaround: 65
+ accesses_per_bank: 42 41 55 101 73 61 50 48 47 43 39 61 48 55 46 42 57 58 54 52 60 39 57 54 37 53 55 57 48 45 60 39
+
+ --- Directory 0 ---
+ - Event Counts -
+GETX 795
+GETS 91
+PUTX 880
+PUTO 0
+PUTO_SHARERS 0
+Unblock 0
+Last_Unblock 0
+Exclusive_Unblock 884
+Clean_Writeback 89
+Dirty_Writeback 791
+Memory_Data 886
+Memory_Ack 790
+DMA_READ 0
+DMA_WRITE 0
+Data 0
+
+ - Transitions -
+I GETX 795
+I GETS 91
+I PUTX 0 <--
+I PUTO 0 <--
+I Memory_Data 0 <--
+I Memory_Ack 790
+I DMA_READ 0 <--
+I DMA_WRITE 0 <--
+
+S GETX 0 <--
+S GETS 0 <--
+S PUTX 0 <--
+S PUTO 0 <--
+S Memory_Data 0 <--
+S Memory_Ack 0 <--
+S DMA_READ 0 <--
+S DMA_WRITE 0 <--
+
+O GETX 0 <--
+O GETS 0 <--
+O PUTX 0 <--
+O PUTO 0 <--
+O PUTO_SHARERS 0 <--
+O Memory_Data 0 <--
+O Memory_Ack 0 <--
+O DMA_READ 0 <--
+O DMA_WRITE 0 <--
+
+M GETX 0 <--
+M GETS 0 <--
+M PUTX 880
+M PUTO 0 <--
+M PUTO_SHARERS 0 <--
+M Memory_Data 0 <--
+M Memory_Ack 0 <--
+M DMA_READ 0 <--
+M DMA_WRITE 0 <--
+
+IS GETX 0 <--
+IS GETS 0 <--
+IS PUTX 0 <--
+IS PUTO 0 <--
+IS PUTO_SHARERS 0 <--
+IS Unblock 0 <--
+IS Exclusive_Unblock 90
+IS Memory_Data 91
+IS Memory_Ack 0 <--
+IS DMA_READ 0 <--
+IS DMA_WRITE 0 <--
+
+SS GETX 0 <--
+SS GETS 0 <--
+SS PUTX 0 <--
+SS PUTO 0 <--
+SS PUTO_SHARERS 0 <--
+SS Unblock 0 <--
+SS Last_Unblock 0 <--
+SS Memory_Data 0 <--
+SS Memory_Ack 0 <--
+SS DMA_READ 0 <--
+SS DMA_WRITE 0 <--
+
+OO GETX 0 <--
+OO GETS 0 <--
+OO PUTX 0 <--
+OO PUTO 0 <--
+OO PUTO_SHARERS 0 <--
+OO Unblock 0 <--
+OO Last_Unblock 0 <--
+OO Memory_Data 0 <--
+OO Memory_Ack 0 <--
+OO DMA_READ 0 <--
+OO DMA_WRITE 0 <--
+
+MO GETX 0 <--
+MO GETS 0 <--
+MO PUTX 0 <--
+MO PUTO 0 <--
+MO PUTO_SHARERS 0 <--
+MO Unblock 0 <--
+MO Exclusive_Unblock 0 <--
+MO Memory_Data 0 <--
+MO Memory_Ack 0 <--
+MO DMA_READ 0 <--
+MO DMA_WRITE 0 <--
+
+MM GETX 0 <--
+MM GETS 0 <--
+MM PUTX 0 <--
+MM PUTO 0 <--
+MM PUTO_SHARERS 0 <--
+MM Exclusive_Unblock 794
+MM Memory_Data 795
+MM Memory_Ack 0 <--
+MM DMA_READ 0 <--
+MM DMA_WRITE 0 <--
+
+
+MI GETX 0 <--
+MI GETS 0 <--
+MI PUTX 0 <--
+MI PUTO 0 <--
+MI PUTO_SHARERS 0 <--
+MI Unblock 0 <--
+MI Clean_Writeback 89
+MI Dirty_Writeback 791
+MI Memory_Data 0 <--
+MI Memory_Ack 0 <--
+MI DMA_READ 0 <--
+MI DMA_WRITE 0 <--
+
+MIS GETX 0 <--
+MIS GETS 0 <--
+MIS PUTX 0 <--
+MIS PUTO 0 <--
+MIS PUTO_SHARERS 0 <--
+MIS Unblock 0 <--
+MIS Clean_Writeback 0 <--
+MIS Dirty_Writeback 0 <--
+MIS Memory_Data 0 <--
+MIS Memory_Ack 0 <--
+MIS DMA_READ 0 <--
+MIS DMA_WRITE 0 <--
+
+OS GETX 0 <--
+OS GETS 0 <--
+OS PUTX 0 <--
+OS PUTO 0 <--
+OS PUTO_SHARERS 0 <--
+OS Unblock 0 <--
+OS Clean_Writeback 0 <--
+OS Dirty_Writeback 0 <--
+OS Memory_Data 0 <--
+OS Memory_Ack 0 <--
+OS DMA_READ 0 <--
+OS DMA_WRITE 0 <--
+
+OSS GETX 0 <--
+OSS GETS 0 <--
+OSS PUTX 0 <--
+OSS PUTO 0 <--
+OSS PUTO_SHARERS 0 <--
+OSS Unblock 0 <--
+OSS Clean_Writeback 0 <--
+OSS Dirty_Writeback 0 <--
+OSS Memory_Data 0 <--
+OSS Memory_Ack 0 <--
+OSS DMA_READ 0 <--
+OSS DMA_WRITE 0 <--
+
+XI_M GETX 0 <--
+XI_M GETS 0 <--
+XI_M PUTX 0 <--
+XI_M PUTO 0 <--
+XI_M PUTO_SHARERS 0 <--
+XI_M Memory_Data 0 <--
+XI_M Memory_Ack 0 <--
+XI_M DMA_READ 0 <--
+XI_M DMA_WRITE 0 <--
+
+XI_U GETX 0 <--
+XI_U GETS 0 <--
+XI_U PUTX 0 <--
+XI_U PUTO 0 <--
+XI_U PUTO_SHARERS 0 <--
+XI_U Exclusive_Unblock 0 <--
+XI_U Memory_Ack 0 <--
+XI_U DMA_READ 0 <--
+XI_U DMA_WRITE 0 <--
+
+OI_D GETX 0 <--
+OI_D GETS 0 <--
+OI_D PUTX 0 <--
+OI_D PUTO 0 <--
+OI_D PUTO_SHARERS 0 <--
+OI_D DMA_READ 0 <--
+OI_D DMA_WRITE 0 <--
+OI_D Data 0 <--
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simerr b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simerr
new file mode 100755
index 000000000..cfdf73ce9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simerr
@@ -0,0 +1 @@
+hack: be nice to actually delete the event here
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simout b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simout
new file mode 100755
index 000000000..b52b5c458
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/simout
@@ -0,0 +1,15 @@
+M5 Simulator System
+
+Copyright (c) 2001-2008
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jan 27 2010 22:09:32
+M5 revision 6068d4fc30d3+ 6931+ default qtip tip brad/rubycfg_regress_udpate
+M5 started Jan 27 2010 22:10:02
+M5 executing on svvint05
+command line: build/ALPHA_SE_MOESI_CMP_directory/m5.fast -d build/ALPHA_SE_MOESI_CMP_directory/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory -re tests/run.py build/ALPHA_SE_MOESI_CMP_directory/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory
+Global frequency set at 1000000000 ticks per second
+info: Entering event queue @ 0. Starting simulation...
+Exiting @ tick 392461 because Ruby Tester completed
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/stats.txt b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/stats.txt
new file mode 100644
index 000000000..bcac6954c
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_directory/stats.txt
@@ -0,0 +1,10 @@
+
+---------- Begin Simulation Statistics ----------
+host_mem_usage 213656 # Number of bytes of host memory used
+host_seconds 1.32 # Real time elapsed on the host
+host_tick_rate 297317 # Simulator tick rate (ticks/s)
+sim_freq 1000000000 # Frequency of simulated ticks
+sim_seconds 0.000392 # Number of seconds simulated
+sim_ticks 392461 # Number of ticks simulated
+
+---------- End Simulation Statistics ----------
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/config.ini b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/config.ini
new file mode 100644
index 000000000..c1b0904b1
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/config.ini
@@ -0,0 +1,231 @@
+[root]
+type=Root
+children=system
+dummy=0
+
+[system]
+type=System
+children=physmem ruby
+mem_mode=timing
+physmem=system.physmem
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=30
+latency_var=0
+null=false
+range=0:134217727
+zero=false
+port=system.ruby.network.topology.ext_links0.ext_node.sequencer.physMemPort
+
+[system.ruby]
+type=RubySystem
+children=debug network profiler tracer
+block_size_bytes=64
+clock=1
+debug=system.ruby.debug
+mem_size=134217728
+network=system.ruby.network
+profiler=system.ruby.profiler
+random_seed=1234
+randomization=true
+stats_filename=ruby.stats
+tracer=system.ruby.tracer
+
+[system.ruby.debug]
+type=RubyDebug
+filter_string=none
+output_filename=none
+protocol_trace=false
+start_time=1
+verbosity_string=none
+
+[system.ruby.network]
+type=SimpleNetwork
+children=topology
+adaptive_routing=true
+buffer_size=0
+control_msg_size=8
+endpoint_bandwidth=10000
+link_latency=1
+number_of_virtual_networks=10
+topology=system.ruby.network.topology
+
+[system.ruby.network.topology]
+type=Topology
+children=ext_links0 ext_links1 ext_links2 int_links0 int_links1 int_links2
+ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1 system.ruby.network.topology.ext_links2
+int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1 system.ruby.network.topology.int_links2
+num_int_nodes=4
+print_config=false
+
+[system.ruby.network.topology.ext_links0]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links0.ext_node
+int_node=0
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links0.ext_node]
+type=L1Cache_Controller
+children=sequencer
+L1DcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+L1IcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+N_tokens=2
+buffer_size=0
+dynamic_timeout_enabled=true
+fixed_timeout_latency=300
+l1_request_latency=2
+l1_response_latency=2
+l2_select_num_bits=0
+number_of_TBEs=256
+recycle_latency=10
+retry_threshold=1
+sequencer=system.ruby.network.topology.ext_links0.ext_node.sequencer
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer]
+type=RubySequencer
+children=dcache icache
+dcache=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+deadlock_threshold=500000
+icache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+max_outstanding_requests=16
+physmem=system.physmem
+using_ruby_tester=true
+version=0
+physMemPort=system.physmem.port[0]
+port=root.cpuPort[0]
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.icache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links1]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links1.ext_node
+int_node=1
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links1.ext_node]
+type=L2Cache_Controller
+children=L2cacheMemory
+L2cacheMemory=system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+N_tokens=2
+buffer_size=0
+filtering_enabled=true
+l2_request_latency=10
+l2_response_latency=10
+number_of_TBEs=256
+recycle_latency=10
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory]
+type=RubyCache
+assoc=2
+latency=15
+replacement_policy=PSEUDO_LRU
+size=512
+
+[system.ruby.network.topology.ext_links2]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links2.ext_node
+int_node=2
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links2.ext_node]
+type=Directory_Controller
+children=directory memBuffer
+buffer_size=0
+directory=system.ruby.network.topology.ext_links2.ext_node.directory
+directory_latency=6
+distributed_persistent=true
+fixed_timeout_latency=300
+l2_select_num_bits=0
+memBuffer=system.ruby.network.topology.ext_links2.ext_node.memBuffer
+number_of_TBEs=256
+recycle_latency=10
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.directory]
+type=RubyDirectoryMemory
+size=134217728
+version=0
+
+[system.ruby.network.topology.ext_links2.ext_node.memBuffer]
+type=RubyMemoryControl
+bank_bit_0=8
+bank_busy_time=11
+bank_queue_size=12
+banks_per_rank=8
+basic_bus_busy_time=2
+dimm_bit_0=12
+dimms_per_channel=2
+mem_bus_cycle_multiplier=10
+mem_ctl_latency=12
+mem_fixed_delay=0
+mem_random_arbitrate=0
+rank_bit_0=11
+rank_rank_delay=1
+ranks_per_dimm=2
+read_write_delay=2
+refresh_period=1560
+tFaw=0
+version=0
+
+[system.ruby.network.topology.int_links0]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=0
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links1]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=1
+node_b=3
+weight=1
+
+[system.ruby.network.topology.int_links2]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=2
+node_b=3
+weight=1
+
+[system.ruby.profiler]
+type=RubyProfiler
+all_instructions=false
+hot_lines=false
+num_of_sequencers=1
+
+[system.ruby.tracer]
+type=RubyTracer
+warmup_length=100000
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/ruby.stats b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/ruby.stats
new file mode 100644
index 000000000..eb3a8095b
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/ruby.stats
@@ -0,0 +1,921 @@
+
+================ Begin RubySystem Configuration Print ================
+
+RubySystem config:
+ random_seed: 1234
+ randomization: 1
+ cycle_period: 1
+ block_size_bytes: 64
+ block_size_bits: 6
+ memory_size_bytes: 134217728
+ memory_size_bits: 27
+
+Network Configuration
+---------------------
+network: SIMPLE_NETWORK
+topology:
+
+virtual_net_0: active, ordered
+virtual_net_1: active, unordered
+virtual_net_2: active, ordered
+virtual_net_3: active, unordered
+virtual_net_4: active, unordered
+virtual_net_5: active, ordered
+virtual_net_6: inactive
+virtual_net_7: inactive
+virtual_net_8: inactive
+virtual_net_9: inactive
+
+
+Profiler Configuration
+----------------------
+periodic_stats_period: 1000000
+
+================ End RubySystem Configuration Print ================
+
+
+Real time: Jan/27/2010 22:01:59
+
+Profiler Stats
+--------------
+Elapsed_time_in_seconds: 0
+Elapsed_time_in_minutes: 0
+Elapsed_time_in_hours: 0
+Elapsed_time_in_days: 0
+
+Virtual_time_in_seconds: 0.6
+Virtual_time_in_minutes: 0.01
+Virtual_time_in_hours: 0.000166667
+Virtual_time_in_days: 6.94444e-06
+
+Ruby_current_time: 282171
+Ruby_start_time: 0
+Ruby_cycles: 282171
+
+mbytes_resident: 31.1484
+mbytes_total: 31.1562
+resident_ratio: 1
+
+Total_misses: 0
+total_misses: 0 [ 0 ]
+user_misses: 0 [ 0 ]
+supervisor_misses: 0 [ 0 ]
+
+ruby_cycles_executed: 282172 [ 282172 ]
+
+transactions_started: 0 [ 0 ]
+transactions_ended: 0 [ 0 ]
+cycles_per_transaction: 0 [ 0 ]
+misses_per_transaction: 0 [ 0 ]
+
+
+Busy Controller Counts:
+L1Cache-0:0
+L2Cache-0:0
+Directory-0:0
+
+
+Busy Bank Count:0
+
+sequencer_requests_outstanding: [binsize: 1 max: 16 count: 1009 average: 15.8355 | standard deviation: 1.11759 | 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 47 948 ]
+
+All Non-Zero Cycle Demand Cache Accesses
+----------------------------------------
+miss_latency: [binsize: 256 max: 28196 count: 994 average: 4457.39 | standard deviation: 6147.87 | 100 90 146 90 76 63 38 29 21 17 11 10 8 10 15 7 4 1 2 1 1 0 0 4 1 1 5 2 1 7 5 4 0 1 3 1 0 3 1 4 3 5 4 5 5 7 6 4 6 8 11 7 5 8 5 9 7 6 5 0 4 4 5 5 5 3 3 10 7 7 2 4 4 4 3 2 1 6 1 1 0 2 0 0 1 0 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_2: [binsize: 256 max: 26957 count: 100 average: 4118.53 | standard deviation: 6450.59 | 11 9 15 11 8 7 5 4 1 3 2 1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 2 0 0 0 0 1 1 0 0 0 0 1 0 0 0 3 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_3: [binsize: 256 max: 28196 count: 894 average: 4495.3 | standard deviation: 6115.67 | 89 81 131 79 68 56 33 25 20 14 9 9 8 10 13 6 4 1 2 1 1 0 0 4 1 1 5 2 1 7 5 4 0 1 3 1 0 3 1 4 2 5 3 5 5 7 6 4 5 7 10 7 4 7 4 9 5 6 5 0 4 3 4 5 5 3 3 9 7 7 2 1 4 3 3 1 1 6 1 1 0 2 0 0 1 0 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+
+All Non-Zero Cycle SW Prefetch Requests
+------------------------------------
+prefetch_latency: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+prefetch_latency_L2Miss:[binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Request vs. RubySystem State Profile
+--------------------------------
+
+
+filter_action: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Message Delayed Cycles
+----------------------
+Total_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Total_nonPF_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_0_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_1_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_2_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_3_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_4_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_5_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_6_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_7_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_8_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_9_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Resource Usage
+--------------
+page_size: 4096
+user_time: 0
+system_time: 0
+page_reclaims: 6756
+page_faults: 1961
+swaps: 0
+block_inputs: 0
+block_outputs: 0
+
+Network Stats
+-------------
+
+switch_0_inlinks: 2
+switch_0_outlinks: 2
+links_utilized_percent_switch_0: 0.108507
+ links_utilized_percent_switch_0_link_0: 0.0403656 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_0_link_1: 0.176648 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_0_link_0_Response_Data: 883 63576 [ 0 883 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_ResponseL2hit_Data: 36 2592 [ 0 36 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Writeback_Data: 55 3960 [ 0 55 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Request_Control: 907 7256 [ 0 0 0 0 907 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Response_Data: 13 936 [ 0 13 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Data: 955 68760 [ 0 955 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Control: 4 32 [ 0 4 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_1_inlinks: 2
+switch_1_outlinks: 2
+links_utilized_percent_switch_1: 0.095051
+ links_utilized_percent_switch_1_link_0: 0.0414509 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_1_link_1: 0.148651 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_1_link_0_Request_Control: 907 7256 [ 0 0 0 0 907 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Data: 900 64800 [ 0 900 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Control: 4 32 [ 0 4 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Request_Control: 871 6968 [ 0 0 0 871 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Data: 12 864 [ 0 12 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_ResponseL2hit_Data: 36 2592 [ 0 36 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Data: 779 56088 [ 0 779 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Control: 75 600 [ 0 75 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_2_inlinks: 2
+switch_2_outlinks: 2
+links_utilized_percent_switch_2: 0.0888003
+ links_utilized_percent_switch_2_link_0: 0.0375792 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_2_link_1: 0.140021 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_2_link_0_Request_Control: 871 6968 [ 0 0 0 871 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Response_Data: 13 936 [ 0 13 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Data: 786 56592 [ 0 786 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Control: 75 600 [ 0 75 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Response_Data: 871 62712 [ 0 871 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Writeback_Data: 7 504 [ 0 7 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_3_inlinks: 3
+switch_3_outlinks: 3
+links_utilized_percent_switch_3: 0.157151
+ links_utilized_percent_switch_3_link_0: 0.155331 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_1: 0.165804 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_3_link_2: 0.150317 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_3_link_0_Response_Data: 883 63576 [ 0 883 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_ResponseL2hit_Data: 36 2592 [ 0 36 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_0_Writeback_Data: 55 3960 [ 0 55 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Request_Control: 907 7256 [ 0 0 0 0 907 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Data: 900 64800 [ 0 900 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Writeback_Control: 4 32 [ 0 4 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_1_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Request_Control: 871 6968 [ 0 0 0 871 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Response_Data: 13 936 [ 0 13 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Writeback_Data: 786 56592 [ 0 786 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Writeback_Control: 75 600 [ 0 75 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_3_link_2_Persistent_Control: 346 2768 [ 0 0 346 0 0 0 0 0 0 0 ] base_latency: 1
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L1Cache 0 ---
+ - Event Counts -
+Load 100
+Ifetch 0
+Store 895
+L1_Replacement 404448
+Data_Shared 4
+Data_Owner 0
+Data_All_Tokens 970
+Ack 0
+Ack_All_Tokens 0
+Transient_GETX 0
+Transient_Local_GETX 0
+Transient_GETS 0
+Transient_Local_GETS 0
+Transient_GETS_Last_Token 0
+Transient_Local_GETS_Last_Token 0
+Persistent_GETX 0
+Persistent_GETS 0
+Own_Lock_or_Unlock 346
+Request_Timeout 644
+Use_TimeoutStarverX 0
+Use_TimeoutStarverS 0
+Use_TimeoutNoStarvers 901
+
+ - Transitions -
+NP Load 90
+NP Ifetch 0 <--
+NP Store 817
+NP Data_Shared 0 <--
+NP Data_Owner 0 <--
+NP Data_All_Tokens 68
+NP Ack 0 <--
+NP Transient_GETX 0 <--
+NP Transient_Local_GETX 0 <--
+NP Transient_GETS 0 <--
+NP Transient_Local_GETS 0 <--
+NP Persistent_GETX 0 <--
+NP Persistent_GETS 0 <--
+NP Own_Lock_or_Unlock 175
+
+I Load 0 <--
+I Ifetch 0 <--
+I Store 0 <--
+I L1_Replacement 0 <--
+I Data_Shared 0 <--
+I Data_Owner 0 <--
+I Data_All_Tokens 0 <--
+I Ack 0 <--
+I Transient_GETX 0 <--
+I Transient_Local_GETX 0 <--
+I Transient_GETS 0 <--
+I Transient_Local_GETS 0 <--
+I Transient_GETS_Last_Token 0 <--
+I Transient_Local_GETS_Last_Token 0 <--
+I Persistent_GETX 0 <--
+I Persistent_GETS 0 <--
+I Own_Lock_or_Unlock 0 <--
+
+S Load 0 <--
+S Ifetch 0 <--
+S Store 0 <--
+S L1_Replacement 4
+S Data_Shared 0 <--
+S Data_Owner 0 <--
+S Data_All_Tokens 0 <--
+S Ack 0 <--
+S Transient_GETX 0 <--
+S Transient_Local_GETX 0 <--
+S Transient_GETS 0 <--
+S Transient_Local_GETS 0 <--
+S Transient_GETS_Last_Token 0 <--
+S Transient_Local_GETS_Last_Token 0 <--
+S Persistent_GETX 0 <--
+S Persistent_GETS 0 <--
+S Own_Lock_or_Unlock 0 <--
+
+O Load 0 <--
+O Ifetch 0 <--
+O Store 0 <--
+O L1_Replacement 0 <--
+O Data_Shared 0 <--
+O Data_All_Tokens 0 <--
+O Ack 0 <--
+O Ack_All_Tokens 0 <--
+O Transient_GETX 0 <--
+O Transient_Local_GETX 0 <--
+O Transient_GETS 0 <--
+O Transient_Local_GETS 0 <--
+O Transient_GETS_Last_Token 0 <--
+O Transient_Local_GETS_Last_Token 0 <--
+O Persistent_GETX 0 <--
+O Persistent_GETS 0 <--
+O Own_Lock_or_Unlock 0 <--
+
+M Load 0 <--
+M Ifetch 0 <--
+M Store 0 <--
+M L1_Replacement 85
+M Transient_GETX 0 <--
+M Transient_Local_GETX 0 <--
+M Transient_GETS 0 <--
+M Transient_Local_GETS 0 <--
+M Persistent_GETX 0 <--
+M Persistent_GETS 0 <--
+M Own_Lock_or_Unlock 0 <--
+
+MM Load 8
+MM Ifetch 0 <--
+MM Store 66
+MM L1_Replacement 815
+MM Transient_GETX 0 <--
+MM Transient_Local_GETX 0 <--
+MM Transient_GETS 0 <--
+MM Transient_Local_GETS 0 <--
+MM Persistent_GETX 0 <--
+MM Persistent_GETS 0 <--
+MM Own_Lock_or_Unlock 24
+
+M_W Load 1
+M_W Ifetch 0 <--
+M_W Store 0 <--
+M_W L1_Replacement 3682
+M_W Transient_GETX 0 <--
+M_W Transient_Local_GETX 0 <--
+M_W Transient_GETS 0 <--
+M_W Transient_Local_GETS 0 <--
+M_W Persistent_GETX 0 <--
+M_W Persistent_GETS 0 <--
+M_W Own_Lock_or_Unlock 3
+M_W Use_TimeoutStarverX 0 <--
+M_W Use_TimeoutStarverS 0 <--
+M_W Use_TimeoutNoStarvers 85
+
+MM_W Load 1
+MM_W Ifetch 0 <--
+MM_W Store 12
+MM_W L1_Replacement 29932
+MM_W Transient_GETX 0 <--
+MM_W Transient_Local_GETX 0 <--
+MM_W Transient_GETS 0 <--
+MM_W Transient_Local_GETS 0 <--
+MM_W Persistent_GETX 0 <--
+MM_W Persistent_GETS 0 <--
+MM_W Own_Lock_or_Unlock 21
+MM_W Use_TimeoutStarverX 0 <--
+MM_W Use_TimeoutStarverS 0 <--
+MM_W Use_TimeoutNoStarvers 816
+
+IM Load 0 <--
+IM Ifetch 0 <--
+IM Store 0 <--
+IM L1_Replacement 334259
+IM Data_Shared 0 <--
+IM Data_Owner 0 <--
+IM Data_All_Tokens 816
+IM Ack 0 <--
+IM Transient_GETX 0 <--
+IM Transient_Local_GETX 0 <--
+IM Transient_GETS 0 <--
+IM Transient_Local_GETS 0 <--
+IM Transient_GETS_Last_Token 0 <--
+IM Transient_Local_GETS_Last_Token 0 <--
+IM Persistent_GETX 0 <--
+IM Persistent_GETS 0 <--
+IM Own_Lock_or_Unlock 109
+IM Request_Timeout 597
+
+SM Load 0 <--
+SM Ifetch 0 <--
+SM Store 0 <--
+SM L1_Replacement 0 <--
+SM Data_Shared 0 <--
+SM Data_Owner 0 <--
+SM Data_All_Tokens 0 <--
+SM Ack 0 <--
+SM Transient_GETX 0 <--
+SM Transient_Local_GETX 0 <--
+SM Transient_GETS 0 <--
+SM Transient_Local_GETS 0 <--
+SM Transient_GETS_Last_Token 0 <--
+SM Transient_Local_GETS_Last_Token 0 <--
+SM Persistent_GETX 0 <--
+SM Persistent_GETS 0 <--
+SM Own_Lock_or_Unlock 0 <--
+SM Request_Timeout 0 <--
+
+OM Load 0 <--
+OM Ifetch 0 <--
+OM Store 0 <--
+OM L1_Replacement 0 <--
+OM Data_Shared 0 <--
+OM Data_All_Tokens 0 <--
+OM Ack 0 <--
+OM Ack_All_Tokens 0 <--
+OM Transient_GETX 0 <--
+OM Transient_Local_GETX 0 <--
+OM Transient_GETS 0 <--
+OM Transient_Local_GETS 0 <--
+OM Transient_GETS_Last_Token 0 <--
+OM Transient_Local_GETS_Last_Token 0 <--
+OM Persistent_GETX 0 <--
+OM Persistent_GETS 0 <--
+OM Own_Lock_or_Unlock 0 <--
+OM Request_Timeout 0 <--
+
+IS Load 0 <--
+IS Ifetch 0 <--
+IS Store 0 <--
+IS L1_Replacement 35671
+IS Data_Shared 4
+IS Data_Owner 0 <--
+IS Data_All_Tokens 86
+IS Ack 0 <--
+IS Transient_GETX 0 <--
+IS Transient_Local_GETX 0 <--
+IS Transient_GETS 0 <--
+IS Transient_Local_GETS 0 <--
+IS Transient_GETS_Last_Token 0 <--
+IS Transient_Local_GETS_Last_Token 0 <--
+IS Persistent_GETX 0 <--
+IS Persistent_GETS 0 <--
+IS Own_Lock_or_Unlock 14
+IS Request_Timeout 47
+
+I_L Load 0 <--
+I_L Ifetch 0 <--
+I_L Store 0 <--
+I_L L1_Replacement 0 <--
+I_L Data_Shared 0 <--
+I_L Data_Owner 0 <--
+I_L Data_All_Tokens 0 <--
+I_L Ack 0 <--
+I_L Transient_GETX 0 <--
+I_L Transient_Local_GETX 0 <--
+I_L Transient_GETS 0 <--
+I_L Transient_Local_GETS 0 <--
+I_L Transient_GETS_Last_Token 0 <--
+I_L Transient_Local_GETS_Last_Token 0 <--
+I_L Persistent_GETX 0 <--
+I_L Persistent_GETS 0 <--
+I_L Own_Lock_or_Unlock 0 <--
+
+S_L Load 0 <--
+S_L Ifetch 0 <--
+S_L Store 0 <--
+S_L L1_Replacement 0 <--
+S_L Data_Shared 0 <--
+S_L Data_Owner 0 <--
+S_L Data_All_Tokens 0 <--
+S_L Ack 0 <--
+S_L Transient_GETX 0 <--
+S_L Transient_Local_GETX 0 <--
+S_L Transient_GETS 0 <--
+S_L Transient_Local_GETS 0 <--
+S_L Transient_GETS_Last_Token 0 <--
+S_L Transient_Local_GETS_Last_Token 0 <--
+S_L Persistent_GETX 0 <--
+S_L Persistent_GETS 0 <--
+S_L Own_Lock_or_Unlock 0 <--
+
+IM_L Load 0 <--
+IM_L Ifetch 0 <--
+IM_L Store 0 <--
+IM_L L1_Replacement 0 <--
+IM_L Data_Shared 0 <--
+IM_L Data_Owner 0 <--
+IM_L Data_All_Tokens 0 <--
+IM_L Ack 0 <--
+IM_L Transient_GETX 0 <--
+IM_L Transient_Local_GETX 0 <--
+IM_L Transient_GETS 0 <--
+IM_L Transient_Local_GETS 0 <--
+IM_L Transient_GETS_Last_Token 0 <--
+IM_L Transient_Local_GETS_Last_Token 0 <--
+IM_L Persistent_GETX 0 <--
+IM_L Persistent_GETS 0 <--
+IM_L Own_Lock_or_Unlock 0 <--
+IM_L Request_Timeout 0 <--
+
+SM_L Load 0 <--
+SM_L Ifetch 0 <--
+SM_L Store 0 <--
+SM_L L1_Replacement 0 <--
+SM_L Data_Shared 0 <--
+SM_L Data_Owner 0 <--
+SM_L Data_All_Tokens 0 <--
+SM_L Ack 0 <--
+SM_L Transient_GETX 0 <--
+SM_L Transient_Local_GETX 0 <--
+SM_L Transient_GETS 0 <--
+SM_L Transient_Local_GETS 0 <--
+SM_L Transient_GETS_Last_Token 0 <--
+SM_L Transient_Local_GETS_Last_Token 0 <--
+SM_L Persistent_GETX 0 <--
+SM_L Persistent_GETS 0 <--
+SM_L Own_Lock_or_Unlock 0 <--
+SM_L Request_Timeout 0 <--
+
+IS_L Load 0 <--
+IS_L Ifetch 0 <--
+IS_L Store 0 <--
+IS_L L1_Replacement 0 <--
+IS_L Data_Shared 0 <--
+IS_L Data_Owner 0 <--
+IS_L Data_All_Tokens 0 <--
+IS_L Ack 0 <--
+IS_L Transient_GETX 0 <--
+IS_L Transient_Local_GETX 0 <--
+IS_L Transient_GETS 0 <--
+IS_L Transient_Local_GETS 0 <--
+IS_L Transient_GETS_Last_Token 0 <--
+IS_L Transient_Local_GETS_Last_Token 0 <--
+IS_L Persistent_GETX 0 <--
+IS_L Persistent_GETS 0 <--
+IS_L Own_Lock_or_Unlock 0 <--
+IS_L Request_Timeout 0 <--
+
+Cache Stats: system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_demand_misses: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links1.ext_node.L2cacheMemory_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L2Cache 0 ---
+ - Event Counts -
+L1_GETS 90
+L1_GETS_Last_Token 0
+L1_GETX 817
+L1_INV 0
+Transient_GETX 0
+Transient_GETS 0
+Transient_GETS_Last_Token 0
+L2_Replacement 821
+Writeback_Tokens 1
+Writeback_Shared_Data 0
+Writeback_All_Tokens 903
+Writeback_Owned 0
+Data_Shared 0
+Data_Owner 0
+Data_All_Tokens 0
+Ack 0
+Ack_All_Tokens 0
+Persistent_GETX 155
+Persistent_GETS 18
+Own_Lock_or_Unlock 173
+
+ - Transitions -
+NP L1_GETS 86
+NP L1_GETX 785
+NP L1_INV 0 <--
+NP Transient_GETX 0 <--
+NP Transient_GETS 0 <--
+NP Writeback_Tokens 1
+NP Writeback_Shared_Data 0 <--
+NP Writeback_All_Tokens 823
+NP Writeback_Owned 0 <--
+NP Data_Shared 0 <--
+NP Data_Owner 0 <--
+NP Data_All_Tokens 0 <--
+NP Ack 0 <--
+NP Persistent_GETX 0 <--
+NP Persistent_GETS 0 <--
+NP Own_Lock_or_Unlock 161
+
+I L1_GETS 0 <--
+I L1_GETS_Last_Token 0 <--
+I L1_GETX 0 <--
+I L1_INV 0 <--
+I Transient_GETX 0 <--
+I Transient_GETS 0 <--
+I Transient_GETS_Last_Token 0 <--
+I L2_Replacement 16
+I Writeback_Tokens 0 <--
+I Writeback_Shared_Data 0 <--
+I Writeback_All_Tokens 29
+I Writeback_Owned 0 <--
+I Data_Shared 0 <--
+I Data_Owner 0 <--
+I Data_All_Tokens 0 <--
+I Ack 0 <--
+I Persistent_GETX 0 <--
+I Persistent_GETS 0 <--
+I Own_Lock_or_Unlock 0 <--
+
+S L1_GETS 0 <--
+S L1_GETS_Last_Token 0 <--
+S L1_GETX 0 <--
+S L1_INV 0 <--
+S Transient_GETX 0 <--
+S Transient_GETS 0 <--
+S Transient_GETS_Last_Token 0 <--
+S L2_Replacement 0 <--
+S Writeback_Tokens 0 <--
+S Writeback_Shared_Data 0 <--
+S Writeback_All_Tokens 0 <--
+S Writeback_Owned 0 <--
+S Data_Shared 0 <--
+S Data_Owner 0 <--
+S Data_All_Tokens 0 <--
+S Ack 0 <--
+S Persistent_GETX 0 <--
+S Persistent_GETS 0 <--
+S Own_Lock_or_Unlock 0 <--
+
+O L1_GETS 0 <--
+O L1_GETS_Last_Token 0 <--
+O L1_GETX 0 <--
+O L1_INV 0 <--
+O Transient_GETX 0 <--
+O Transient_GETS 0 <--
+O Transient_GETS_Last_Token 0 <--
+O L2_Replacement 1
+O Writeback_Tokens 0 <--
+O Writeback_Shared_Data 0 <--
+O Writeback_All_Tokens 3
+O Data_Shared 0 <--
+O Data_All_Tokens 0 <--
+O Ack 0 <--
+O Ack_All_Tokens 0 <--
+O Persistent_GETX 0 <--
+O Persistent_GETS 0 <--
+O Own_Lock_or_Unlock 0 <--
+
+M L1_GETS 4
+M L1_GETX 32
+M L1_INV 0 <--
+M Transient_GETX 0 <--
+M Transient_GETS 0 <--
+M L2_Replacement 804
+M Persistent_GETX 9
+M Persistent_GETS 3
+M Own_Lock_or_Unlock 0 <--
+
+I_L L1_GETS 0 <--
+I_L L1_GETX 0 <--
+I_L L1_INV 0 <--
+I_L Transient_GETX 0 <--
+I_L Transient_GETS 0 <--
+I_L Transient_GETS_Last_Token 0 <--
+I_L L2_Replacement 0 <--
+I_L Writeback_Tokens 0 <--
+I_L Writeback_Shared_Data 0 <--
+I_L Writeback_All_Tokens 48
+I_L Writeback_Owned 0 <--
+I_L Data_Shared 0 <--
+I_L Data_Owner 0 <--
+I_L Data_All_Tokens 0 <--
+I_L Ack 0 <--
+I_L Persistent_GETX 146
+I_L Persistent_GETS 15
+I_L Own_Lock_or_Unlock 12
+
+S_L L1_GETS 0 <--
+S_L L1_GETS_Last_Token 0 <--
+S_L L1_GETX 0 <--
+S_L L1_INV 0 <--
+S_L Transient_GETX 0 <--
+S_L Transient_GETS 0 <--
+S_L Transient_GETS_Last_Token 0 <--
+S_L L2_Replacement 0 <--
+S_L Writeback_Tokens 0 <--
+S_L Writeback_Shared_Data 0 <--
+S_L Writeback_All_Tokens 0 <--
+S_L Writeback_Owned 0 <--
+S_L Data_Shared 0 <--
+S_L Data_Owner 0 <--
+S_L Data_All_Tokens 0 <--
+S_L Ack 0 <--
+S_L Persistent_GETX 0 <--
+S_L Persistent_GETS 0 <--
+S_L Own_Lock_or_Unlock 0 <--
+
+Memory controller: system.ruby.network.topology.ext_links2.ext_node.memBuffer:
+ memory_total_requests: 1662
+ memory_reads: 871
+ memory_writes: 791
+ memory_refreshes: 588
+ memory_total_request_delays: 1142
+ memory_delays_per_request: 0.687124
+ memory_delays_in_input_queue: 162
+ memory_delays_behind_head_of_bank_queue: 4
+ memory_delays_stalled_at_head_of_bank_queue: 976
+ memory_stalls_for_bank_busy: 236
+ memory_stalls_for_random_busy: 0
+ memory_stalls_for_anti_starvation: 0
+ memory_stalls_for_arbitration: 70
+ memory_stalls_for_bus: 373
+ memory_stalls_for_tfaw: 0
+ memory_stalls_for_read_write_turnaround: 222
+ memory_stalls_for_read_read_turnaround: 75
+ accesses_per_bank: 61 57 44 91 60 64 57 46 59 42 55 67 56 38 38 46 42 46 55 49 45 45 38 58 35 54 39 48 56 43 72 56
+
+ --- Directory 0 ---
+ - Event Counts -
+GETX 844
+GETS 86
+Lockdown 173
+Unlockdown 173
+Own_Lock_or_Unlock 0
+Data_Owner 1
+Data_All_Tokens 798
+Ack_Owner 0
+Ack_Owner_All_Tokens 74
+Tokens 0
+Ack_All_Tokens 1
+Request_Timeout 0
+Memory_Data 870
+Memory_Ack 790
+DMA_READ 0
+DMA_WRITE 0
+DMA_WRITE_All_Tokens 0
+
+ - Transitions -
+O GETX 782
+O GETS 86
+O Lockdown 3
+O Own_Lock_or_Unlock 0 <--
+O Data_Owner 0 <--
+O Data_All_Tokens 0 <--
+O Tokens 0 <--
+O Ack_All_Tokens 1
+O DMA_READ 0 <--
+O DMA_WRITE 0 <--
+O DMA_WRITE_All_Tokens 0 <--
+
+NO GETX 0 <--
+NO GETS 0 <--
+NO Lockdown 154
+NO Own_Lock_or_Unlock 0 <--
+NO Data_Owner 1
+NO Data_All_Tokens 790
+NO Ack_Owner 0 <--
+NO Ack_Owner_All_Tokens 74
+NO Tokens 0 <--
+NO DMA_READ 0 <--
+NO DMA_WRITE 0 <--
+
+L GETX 3
+L GETS 0 <--
+L Lockdown 0 <--
+L Unlockdown 173
+L Own_Lock_or_Unlock 0 <--
+L Data_Owner 0 <--
+L Data_All_Tokens 8
+L Ack_Owner 0 <--
+L Ack_Owner_All_Tokens 0 <--
+L Tokens 0 <--
+L DMA_READ 0 <--
+L DMA_WRITE 0 <--
+
+O_W GETX 21
+O_W GETS 0 <--
+O_W Lockdown 0 <--
+O_W Unlockdown 0 <--
+O_W Own_Lock_or_Unlock 0 <--
+O_W Data_Owner 0 <--
+O_W Ack_Owner 0 <--
+O_W Tokens 0 <--
+O_W Ack_All_Tokens 0 <--
+O_W Memory_Data 0 <--
+O_W Memory_Ack 790
+O_W DMA_READ 0 <--
+O_W DMA_WRITE 0 <--
+
+L_O_W GETX 38
+L_O_W GETS 0 <--
+L_O_W Lockdown 0 <--
+L_O_W Unlockdown 0 <--
+L_O_W Own_Lock_or_Unlock 0 <--
+L_O_W Data_Owner 0 <--
+L_O_W Ack_Owner 0 <--
+L_O_W Tokens 0 <--
+L_O_W Ack_All_Tokens 0 <--
+L_O_W Memory_Data 3
+L_O_W Memory_Ack 0 <--
+L_O_W DMA_READ 0 <--
+L_O_W DMA_WRITE 0 <--
+
+L_NO_W GETX 0 <--
+L_NO_W GETS 0 <--
+L_NO_W Lockdown 0 <--
+L_NO_W Unlockdown 0 <--
+L_NO_W Own_Lock_or_Unlock 0 <--
+L_NO_W Data_Owner 0 <--
+L_NO_W Ack_Owner 0 <--
+L_NO_W Tokens 0 <--
+L_NO_W Ack_All_Tokens 0 <--
+L_NO_W Memory_Data 16
+L_NO_W DMA_READ 0 <--
+L_NO_W DMA_WRITE 0 <--
+
+DR_L_W GETX 0 <--
+DR_L_W GETS 0 <--
+DR_L_W Lockdown 0 <--
+DR_L_W Unlockdown 0 <--
+DR_L_W Own_Lock_or_Unlock 0 <--
+DR_L_W Data_Owner 0 <--
+DR_L_W Ack_Owner 0 <--
+DR_L_W Tokens 0 <--
+DR_L_W Ack_All_Tokens 0 <--
+DR_L_W Request_Timeout 0 <--
+DR_L_W Memory_Data 0 <--
+DR_L_W DMA_READ 0 <--
+DR_L_W DMA_WRITE 0 <--
+
+NO_W GETX 0 <--
+NO_W GETS 0 <--
+NO_W Lockdown 16
+NO_W Unlockdown 0 <--
+NO_W Own_Lock_or_Unlock 0 <--
+NO_W Data_Owner 0 <--
+NO_W Ack_Owner 0 <--
+NO_W Tokens 0 <--
+NO_W Ack_All_Tokens 0 <--
+NO_W Memory_Data 851
+NO_W DMA_READ 0 <--
+NO_W DMA_WRITE 0 <--
+
+O_DW_W GETX 0 <--
+O_DW_W GETS 0 <--
+O_DW_W Data_Owner 0 <--
+O_DW_W Ack_Owner 0 <--
+O_DW_W Tokens 0 <--
+O_DW_W Ack_All_Tokens 0 <--
+O_DW_W Memory_Ack 0 <--
+O_DW_W DMA_READ 0 <--
+O_DW_W DMA_WRITE 0 <--
+
+O_DR_W GETX 0 <--
+O_DR_W GETS 0 <--
+O_DR_W Lockdown 0 <--
+O_DR_W Unlockdown 0 <--
+O_DR_W Own_Lock_or_Unlock 0 <--
+O_DR_W Data_Owner 0 <--
+O_DR_W Ack_Owner 0 <--
+O_DR_W Tokens 0 <--
+O_DR_W Ack_All_Tokens 0 <--
+O_DR_W Memory_Data 0 <--
+O_DR_W DMA_READ 0 <--
+O_DR_W DMA_WRITE 0 <--
+
+O_DW GETX 0 <--
+O_DW GETS 0 <--
+O_DW Lockdown 0 <--
+O_DW Own_Lock_or_Unlock 0 <--
+O_DW Data_Owner 0 <--
+O_DW Data_All_Tokens 0 <--
+O_DW Ack_Owner 0 <--
+O_DW Ack_Owner_All_Tokens 0 <--
+O_DW Tokens 0 <--
+O_DW Ack_All_Tokens 0 <--
+O_DW DMA_READ 0 <--
+O_DW DMA_WRITE 0 <--
+
+NO_DW GETX 0 <--
+NO_DW GETS 0 <--
+NO_DW Lockdown 0 <--
+NO_DW Own_Lock_or_Unlock 0 <--
+NO_DW Data_Owner 0 <--
+NO_DW Data_All_Tokens 0 <--
+NO_DW Tokens 0 <--
+NO_DW Request_Timeout 0 <--
+NO_DW DMA_READ 0 <--
+NO_DW DMA_WRITE 0 <--
+
+NO_DR GETX 0 <--
+NO_DR GETS 0 <--
+NO_DR Lockdown 0 <--
+NO_DR Own_Lock_or_Unlock 0 <--
+NO_DR Data_Owner 0 <--
+NO_DR Data_All_Tokens 0 <--
+NO_DR Tokens 0 <--
+NO_DR Request_Timeout 0 <--
+NO_DR DMA_READ 0 <--
+NO_DR DMA_WRITE 0 <--
+
+DW_L GETX 0 <--
+DW_L GETS 0 <--
+DW_L Lockdown 0 <--
+DW_L Unlockdown 0 <--
+DW_L Own_Lock_or_Unlock 0 <--
+DW_L Data_Owner 0 <--
+DW_L Data_All_Tokens 0 <--
+DW_L Ack_Owner 0 <--
+DW_L Ack_Owner_All_Tokens 0 <--
+DW_L Tokens 0 <--
+DW_L Request_Timeout 0 <--
+DW_L DMA_READ 0 <--
+DW_L DMA_WRITE 0 <--
+
+DR_L GETX 0 <--
+DR_L GETS 0 <--
+DR_L Lockdown 0 <--
+DR_L Unlockdown 0 <--
+DR_L Own_Lock_or_Unlock 0 <--
+DR_L Data_Owner 0 <--
+DR_L Data_All_Tokens 0 <--
+DR_L Ack_Owner 0 <--
+DR_L Ack_Owner_All_Tokens 0 <--
+DR_L Tokens 0 <--
+DR_L Request_Timeout 0 <--
+DR_L DMA_READ 0 <--
+DR_L DMA_WRITE 0 <--
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simerr b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simerr
new file mode 100755
index 000000000..cfdf73ce9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simerr
@@ -0,0 +1 @@
+hack: be nice to actually delete the event here
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simout b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simout
new file mode 100755
index 000000000..28029123c
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/simout
@@ -0,0 +1,15 @@
+M5 Simulator System
+
+Copyright (c) 2001-2008
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jan 27 2010 22:01:26
+M5 revision 6068d4fc30d3+ 6931+ default qtip tip brad/rubycfg_regress_udpate
+M5 started Jan 27 2010 22:01:59
+M5 executing on svvint04
+command line: build/ALPHA_SE_MOESI_CMP_token/m5.fast -d build/ALPHA_SE_MOESI_CMP_token/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token -re tests/run.py build/ALPHA_SE_MOESI_CMP_token/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token
+Global frequency set at 1000000000 ticks per second
+info: Entering event queue @ 0. Starting simulation...
+Exiting @ tick 282171 because Ruby Tester completed
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/stats.txt b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/stats.txt
new file mode 100644
index 000000000..355b186c1
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_CMP_token/stats.txt
@@ -0,0 +1,10 @@
+
+---------- Begin Simulation Statistics ----------
+host_mem_usage 213472 # Number of bytes of host memory used
+host_seconds 0.43 # Real time elapsed on the host
+host_tick_rate 656167 # Simulator tick rate (ticks/s)
+sim_freq 1000000000 # Frequency of simulated ticks
+sim_seconds 0.000282 # Number of seconds simulated
+sim_ticks 282171 # Number of ticks simulated
+
+---------- End Simulation Statistics ----------
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/config.ini b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/config.ini
new file mode 100644
index 000000000..bf260bebf
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/config.ini
@@ -0,0 +1,193 @@
+[root]
+type=Root
+children=system
+dummy=0
+
+[system]
+type=System
+children=physmem ruby
+mem_mode=timing
+physmem=system.physmem
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=30
+latency_var=0
+null=false
+range=0:134217727
+zero=false
+port=system.ruby.network.topology.ext_links0.ext_node.sequencer.physMemPort
+
+[system.ruby]
+type=RubySystem
+children=debug network profiler tracer
+block_size_bytes=64
+clock=1
+debug=system.ruby.debug
+mem_size=134217728
+network=system.ruby.network
+profiler=system.ruby.profiler
+random_seed=1234
+randomization=true
+stats_filename=ruby.stats
+tracer=system.ruby.tracer
+
+[system.ruby.debug]
+type=RubyDebug
+filter_string=none
+output_filename=none
+protocol_trace=false
+start_time=1
+verbosity_string=none
+
+[system.ruby.network]
+type=SimpleNetwork
+children=topology
+adaptive_routing=true
+buffer_size=0
+control_msg_size=8
+endpoint_bandwidth=10000
+link_latency=1
+number_of_virtual_networks=10
+topology=system.ruby.network.topology
+
+[system.ruby.network.topology]
+type=Topology
+children=ext_links0 ext_links1 int_links0 int_links1
+ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1
+int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1
+num_int_nodes=3
+print_config=false
+
+[system.ruby.network.topology.ext_links0]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links0.ext_node
+int_node=0
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links0.ext_node]
+type=L1Cache_Controller
+children=L2cacheMemory sequencer
+L1DcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+L1IcacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+L2cacheMemory=system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory
+buffer_size=0
+cache_response_latency=12
+issue_latency=2
+number_of_TBEs=256
+recycle_latency=10
+sequencer=system.ruby.network.topology.ext_links0.ext_node.sequencer
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory]
+type=RubyCache
+assoc=2
+latency=15
+replacement_policy=PSEUDO_LRU
+size=512
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer]
+type=RubySequencer
+children=dcache icache
+dcache=system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+deadlock_threshold=500000
+icache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+max_outstanding_requests=16
+physmem=system.physmem
+using_ruby_tester=true
+version=0
+physMemPort=system.physmem.port[0]
+port=root.cpuPort[0]
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.icache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links1]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links1.ext_node
+int_node=1
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links1.ext_node]
+type=Directory_Controller
+children=directory memBuffer
+buffer_size=0
+directory=system.ruby.network.topology.ext_links1.ext_node.directory
+memBuffer=system.ruby.network.topology.ext_links1.ext_node.memBuffer
+memory_controller_latency=12
+number_of_TBEs=256
+recycle_latency=10
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.directory]
+type=RubyDirectoryMemory
+size=134217728
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.memBuffer]
+type=RubyMemoryControl
+bank_bit_0=8
+bank_busy_time=11
+bank_queue_size=12
+banks_per_rank=8
+basic_bus_busy_time=2
+dimm_bit_0=12
+dimms_per_channel=2
+mem_bus_cycle_multiplier=10
+mem_ctl_latency=12
+mem_fixed_delay=0
+mem_random_arbitrate=0
+rank_bit_0=11
+rank_rank_delay=1
+ranks_per_dimm=2
+read_write_delay=2
+refresh_period=1560
+tFaw=0
+version=0
+
+[system.ruby.network.topology.int_links0]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=0
+node_b=2
+weight=1
+
+[system.ruby.network.topology.int_links1]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=1
+node_b=2
+weight=1
+
+[system.ruby.profiler]
+type=RubyProfiler
+all_instructions=false
+hot_lines=false
+num_of_sequencers=1
+
+[system.ruby.tracer]
+type=RubyTracer
+warmup_length=100000
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/ruby.stats b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/ruby.stats
new file mode 100644
index 000000000..67e623e68
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/ruby.stats
@@ -0,0 +1,572 @@
+
+================ Begin RubySystem Configuration Print ================
+
+RubySystem config:
+ random_seed: 1234
+ randomization: 1
+ cycle_period: 1
+ block_size_bytes: 64
+ block_size_bits: 6
+ memory_size_bytes: 134217728
+ memory_size_bits: 27
+
+Network Configuration
+---------------------
+network: SIMPLE_NETWORK
+topology:
+
+virtual_net_0: active, unordered
+virtual_net_1: active, unordered
+virtual_net_2: active, unordered
+virtual_net_3: active, unordered
+virtual_net_4: active, ordered
+virtual_net_5: active, ordered
+virtual_net_6: inactive
+virtual_net_7: inactive
+virtual_net_8: inactive
+virtual_net_9: inactive
+
+
+Profiler Configuration
+----------------------
+periodic_stats_period: 1000000
+
+================ End RubySystem Configuration Print ================
+
+
+Real time: Jan/27/2010 22:06:46
+
+Profiler Stats
+--------------
+Elapsed_time_in_seconds: 1
+Elapsed_time_in_minutes: 0.0166667
+Elapsed_time_in_hours: 0.000277778
+Elapsed_time_in_days: 1.15741e-05
+
+Virtual_time_in_seconds: 0.52
+Virtual_time_in_minutes: 0.00866667
+Virtual_time_in_hours: 0.000144444
+Virtual_time_in_days: 6.01852e-06
+
+Ruby_current_time: 225461
+Ruby_start_time: 0
+Ruby_cycles: 225461
+
+mbytes_resident: 29.9023
+mbytes_total: 29.9102
+resident_ratio: 1
+
+Total_misses: 0
+total_misses: 0 [ 0 ]
+user_misses: 0 [ 0 ]
+supervisor_misses: 0 [ 0 ]
+
+ruby_cycles_executed: 225462 [ 225462 ]
+
+transactions_started: 0 [ 0 ]
+transactions_ended: 0 [ 0 ]
+cycles_per_transaction: 0 [ 0 ]
+misses_per_transaction: 0 [ 0 ]
+
+
+Busy Controller Counts:
+L1Cache-0:0
+Directory-0:0
+
+
+Busy Bank Count:0
+
+sequencer_requests_outstanding: [binsize: 1 max: 16 count: 1003 average: 15.7986 | standard deviation: 1.13201 | 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 81 907 ]
+
+All Non-Zero Cycle Demand Cache Accesses
+----------------------------------------
+miss_latency: [binsize: 128 max: 18718 count: 988 average: 3556.09 | standard deviation: 5195.8 | 86 11 48 73 73 53 86 67 49 36 30 35 19 12 10 8 6 12 9 7 3 4 7 1 5 3 4 2 4 1 4 1 3 3 1 1 3 4 1 2 1 0 1 0 0 0 0 2 0 1 2 2 0 0 0 2 0 0 0 0 0 0 0 2 1 2 0 0 0 1 0 1 1 0 1 5 2 1 0 0 3 2 3 0 2 2 1 2 2 2 2 1 2 4 3 0 1 4 6 6 2 2 3 7 4 3 5 3 2 2 3 6 4 1 5 3 3 6 6 2 4 4 4 3 4 4 6 4 0 1 0 1 0 4 1 1 1 0 0 0 2 2 3 1 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_2: [binsize: 128 max: 17088 count: 100 average: 3614.25 | standard deviation: 5411.44 | 9 2 4 7 8 6 10 6 5 4 2 4 3 2 0 0 0 3 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 2 0 0 0 1 0 2 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+miss_latency_3: [binsize: 128 max: 18718 count: 888 average: 3549.54 | standard deviation: 5174.08 | 77 9 44 66 65 47 76 61 44 32 28 31 16 10 10 8 6 9 9 6 2 4 6 1 5 3 4 2 4 1 4 1 3 2 1 0 3 4 1 2 1 0 1 0 0 0 0 2 0 1 2 2 0 0 0 2 0 0 0 0 0 0 0 2 1 2 0 0 0 1 0 1 1 0 1 5 2 1 0 0 2 2 3 0 2 1 1 2 2 2 2 1 2 4 3 0 1 3 6 5 1 1 3 6 3 3 5 2 2 2 3 4 4 1 5 2 3 4 5 2 3 3 4 3 4 4 6 4 0 1 0 0 0 2 1 1 1 0 0 0 2 2 3 1 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
+
+All Non-Zero Cycle SW Prefetch Requests
+------------------------------------
+prefetch_latency: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+prefetch_latency_L2Miss:[binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Request vs. RubySystem State Profile
+--------------------------------
+
+
+filter_action: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Message Delayed Cycles
+----------------------
+Total_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Total_nonPF_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_0_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_1_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_2_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_3_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_4_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_5_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_6_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_7_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_8_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_9_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Resource Usage
+--------------
+page_size: 4096
+user_time: 0
+system_time: 0
+page_reclaims: 6560
+page_faults: 1853
+swaps: 0
+block_inputs: 0
+block_outputs: 0
+
+Network Stats
+-------------
+
+switch_0_inlinks: 2
+switch_0_outlinks: 2
+links_utilized_percent_switch_0: 0.133285
+ links_utilized_percent_switch_0_link_0: 0.0488166 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_0_link_1: 0.217754 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_0_link_0_Response_Data: 881 63432 [ 0 881 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Writeback_Control: 876 7008 [ 0 0 876 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Request_Control: 882 7056 [ 0 0 0 882 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Data: 788 56736 [ 788 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Writeback_Control: 965 7720 [ 88 0 0 877 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Unblock_Control: 880 7040 [ 880 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_1_inlinks: 2
+switch_1_outlinks: 2
+links_utilized_percent_switch_1: 0.124828
+ links_utilized_percent_switch_1_link_0: 0.0543886 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_1_link_1: 0.195267 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_1_link_0_Request_Control: 882 7056 [ 0 0 0 882 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Data: 787 56664 [ 787 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Writeback_Control: 965 7720 [ 88 0 0 877 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Unblock_Control: 880 7040 [ 880 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Data: 881 63432 [ 0 881 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Control: 876 7008 [ 0 0 876 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_2_inlinks: 2
+switch_2_outlinks: 2
+links_utilized_percent_switch_2: 0.20641
+ links_utilized_percent_switch_2_link_0: 0.195267 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_2_link_1: 0.217554 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_2_link_0_Response_Data: 881 63432 [ 0 881 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Control: 876 7008 [ 0 0 876 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Request_Control: 882 7056 [ 0 0 0 882 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Writeback_Data: 787 56664 [ 787 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Writeback_Control: 965 7720 [ 88 0 0 877 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Unblock_Control: 880 7040 [ 880 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_misses: 882
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_demand_misses: 882
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_misses_per_transaction: inf
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_type_LD: 10.3175%
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_type_ST: 89.6825%
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_access_mode_type_SupervisorMode: 882 100%
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.dcache_request_size: [binsize: 1 max: 4 count: 882 average: 1.30952 | standard deviation: 0.913389 | 0 791 0 0 91 ]
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_total_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_total_demand_misses: 0
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_misses_per_transaction: nan
+
+ system.ruby.network.topology.ext_links0.ext_node.L2cacheMemory_request_size: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+ --- L1Cache 0 ---
+ - Event Counts -
+Load 101
+Ifetch 0
+Store 891
+L2_Replacement 877
+L1_to_L2 322098
+L2_to_L1D 26
+L2_to_L1I 0
+Other_GETX 0
+Other_GETS 0
+Ack 0
+Shared_Ack 0
+Data 0
+Shared_Data 0
+Exclusive_Data 881
+Writeback_Ack 876
+Writeback_Nack 0
+All_acks 0
+All_acks_no_sharers 881
+
+ - Transitions -
+I Load 91
+I Ifetch 0 <--
+I Store 791
+I L2_Replacement 0 <--
+I L1_to_L2 0 <--
+I L2_to_L1D 0 <--
+I L2_to_L1I 0 <--
+I Other_GETX 0 <--
+I Other_GETS 0 <--
+
+S Load 0 <--
+S Ifetch 0 <--
+S Store 0 <--
+S L2_Replacement 0 <--
+S L1_to_L2 0 <--
+S L2_to_L1D 0 <--
+S L2_to_L1I 0 <--
+S Other_GETX 0 <--
+S Other_GETS 0 <--
+
+O Load 0 <--
+O Ifetch 0 <--
+O Store 0 <--
+O L2_Replacement 0 <--
+O L1_to_L2 0 <--
+O L2_to_L1D 0 <--
+O L2_to_L1I 0 <--
+O Other_GETX 0 <--
+O Other_GETS 0 <--
+
+M Load 0 <--
+M Ifetch 0 <--
+M Store 0 <--
+M L2_Replacement 88
+M L1_to_L2 88
+M L2_to_L1D 0 <--
+M L2_to_L1I 0 <--
+M Other_GETX 0 <--
+M Other_GETS 0 <--
+
+MM Load 10
+MM Ifetch 0 <--
+MM Store 95
+MM L2_Replacement 789
+MM L1_to_L2 817
+MM L2_to_L1D 26
+MM L2_to_L1I 0 <--
+MM Other_GETX 0 <--
+MM Other_GETS 0 <--
+
+IM Load 0 <--
+IM Ifetch 0 <--
+IM Store 0 <--
+IM L2_Replacement 0 <--
+IM L1_to_L2 282750
+IM Other_GETX 0 <--
+IM Other_GETS 0 <--
+IM Ack 0 <--
+IM Data 0 <--
+IM Exclusive_Data 791
+
+SM Load 0 <--
+SM Ifetch 0 <--
+SM Store 0 <--
+SM L2_Replacement 0 <--
+SM L1_to_L2 0 <--
+SM Other_GETX 0 <--
+SM Other_GETS 0 <--
+SM Ack 0 <--
+SM Data 0 <--
+
+OM Load 0 <--
+OM Ifetch 0 <--
+OM Store 0 <--
+OM L2_Replacement 0 <--
+OM L1_to_L2 0 <--
+OM Other_GETX 0 <--
+OM Other_GETS 0 <--
+OM Ack 0 <--
+OM All_acks 0 <--
+OM All_acks_no_sharers 0 <--
+
+ISM Load 0 <--
+ISM Ifetch 0 <--
+ISM Store 0 <--
+ISM L2_Replacement 0 <--
+ISM L1_to_L2 0 <--
+ISM Ack 0 <--
+ISM All_acks_no_sharers 0 <--
+
+M_W Load 0 <--
+M_W Ifetch 0 <--
+M_W Store 1
+M_W L2_Replacement 0 <--
+M_W L1_to_L2 975
+M_W Ack 0 <--
+M_W All_acks_no_sharers 89
+
+MM_W Load 0 <--
+MM_W Ifetch 0 <--
+MM_W Store 1
+MM_W L2_Replacement 0 <--
+MM_W L1_to_L2 10999
+MM_W Ack 0 <--
+MM_W All_acks_no_sharers 792
+
+IS Load 0 <--
+IS Ifetch 0 <--
+IS Store 0 <--
+IS L2_Replacement 0 <--
+IS L1_to_L2 26469
+IS Other_GETX 0 <--
+IS Other_GETS 0 <--
+IS Ack 0 <--
+IS Shared_Ack 0 <--
+IS Data 0 <--
+IS Shared_Data 0 <--
+IS Exclusive_Data 90
+
+SS Load 0 <--
+SS Ifetch 0 <--
+SS Store 0 <--
+SS L2_Replacement 0 <--
+SS L1_to_L2 0 <--
+SS Ack 0 <--
+SS Shared_Ack 0 <--
+SS All_acks 0 <--
+SS All_acks_no_sharers 0 <--
+
+OI Load 0 <--
+OI Ifetch 0 <--
+OI Store 0 <--
+OI L2_Replacement 0 <--
+OI L1_to_L2 0 <--
+OI Other_GETX 0 <--
+OI Other_GETS 0 <--
+OI Writeback_Ack 0 <--
+
+MI Load 0 <--
+MI Ifetch 0 <--
+MI Store 3
+MI L2_Replacement 0 <--
+MI L1_to_L2 0 <--
+MI Other_GETX 0 <--
+MI Other_GETS 0 <--
+MI Writeback_Ack 876
+
+II Load 0 <--
+II Ifetch 0 <--
+II Store 0 <--
+II L2_Replacement 0 <--
+II L1_to_L2 0 <--
+II Other_GETX 0 <--
+II Other_GETS 0 <--
+II Writeback_Ack 0 <--
+II Writeback_Nack 0 <--
+
+Memory controller: system.ruby.network.topology.ext_links1.ext_node.memBuffer:
+ memory_total_requests: 1668
+ memory_reads: 881
+ memory_writes: 787
+ memory_refreshes: 470
+ memory_total_request_delays: 1066
+ memory_delays_per_request: 0.639089
+ memory_delays_in_input_queue: 148
+ memory_delays_behind_head_of_bank_queue: 0
+ memory_delays_stalled_at_head_of_bank_queue: 918
+ memory_stalls_for_bank_busy: 195
+ memory_stalls_for_random_busy: 0
+ memory_stalls_for_anti_starvation: 0
+ memory_stalls_for_arbitration: 77
+ memory_stalls_for_bus: 376
+ memory_stalls_for_tfaw: 0
+ memory_stalls_for_read_write_turnaround: 154
+ memory_stalls_for_read_read_turnaround: 116
+ accesses_per_bank: 46 46 48 83 76 73 83 52 38 57 51 55 52 49 41 48 49 44 44 60 51 41 58 49 42 38 55 47 50 52 39 51
+
+ --- Directory 0 ---
+ - Event Counts -
+GETX 895
+GETS 90
+PUT 1525
+Unblock 878
+Writeback_Clean 0
+Writeback_Dirty 0
+Writeback_Exclusive_Clean 88
+Writeback_Exclusive_Dirty 787
+DMA_READ 0
+DMA_WRITE 0
+Memory_Data 881
+Memory_Ack 787
+Ack 0
+Shared_Ack 0
+Shared_Data 0
+Exclusive_Data 0
+All_acks_and_data 0
+All_acks_and_data_no_sharers 0
+
+ - Transitions -
+NO GETX 0 <--
+NO GETS 0 <--
+NO PUT 876
+NO DMA_READ 0 <--
+NO DMA_WRITE 0 <--
+
+O GETX 0 <--
+O GETS 0 <--
+O PUT 0 <--
+O DMA_READ 0 <--
+O DMA_WRITE 0 <--
+
+E GETX 791
+E GETS 90
+E PUT 0 <--
+E DMA_READ 0 <--
+E DMA_WRITE 0 <--
+
+NO_B GETX 0 <--
+NO_B GETS 0 <--
+NO_B PUT 649
+NO_B Unblock 878
+NO_B DMA_READ 0 <--
+NO_B DMA_WRITE 0 <--
+
+O_B GETX 0 <--
+O_B GETS 0 <--
+O_B PUT 0 <--
+O_B Unblock 0 <--
+O_B DMA_READ 0 <--
+O_B DMA_WRITE 0 <--
+
+NO_B_W GETX 0 <--
+NO_B_W GETS 0 <--
+NO_B_W PUT 0 <--
+NO_B_W Unblock 0 <--
+NO_B_W DMA_READ 0 <--
+NO_B_W DMA_WRITE 0 <--
+NO_B_W Memory_Data 881
+
+O_B_W GETX 0 <--
+O_B_W GETS 0 <--
+O_B_W PUT 0 <--
+O_B_W Unblock 0 <--
+O_B_W DMA_READ 0 <--
+O_B_W DMA_WRITE 0 <--
+O_B_W Memory_Data 0 <--
+
+NO_W GETX 0 <--
+NO_W GETS 0 <--
+NO_W PUT 0 <--
+NO_W DMA_READ 0 <--
+NO_W DMA_WRITE 0 <--
+NO_W Memory_Data 0 <--
+
+O_W GETX 0 <--
+O_W GETS 0 <--
+O_W PUT 0 <--
+O_W DMA_READ 0 <--
+O_W DMA_WRITE 0 <--
+O_W Memory_Data 0 <--
+
+NO_DW_B_W GETX 0 <--
+NO_DW_B_W GETS 0 <--
+NO_DW_B_W PUT 0 <--
+NO_DW_B_W DMA_READ 0 <--
+NO_DW_B_W DMA_WRITE 0 <--
+NO_DW_B_W Ack 0 <--
+NO_DW_B_W Exclusive_Data 0 <--
+NO_DW_B_W All_acks_and_data_no_sharers 0 <--
+
+NO_DR_B_W GETX 0 <--
+NO_DR_B_W GETS 0 <--
+NO_DR_B_W PUT 0 <--
+NO_DR_B_W DMA_READ 0 <--
+NO_DR_B_W DMA_WRITE 0 <--
+NO_DR_B_W Memory_Data 0 <--
+NO_DR_B_W Ack 0 <--
+NO_DR_B_W Shared_Ack 0 <--
+NO_DR_B_W Shared_Data 0 <--
+NO_DR_B_W Exclusive_Data 0 <--
+
+NO_DR_B_D GETX 0 <--
+NO_DR_B_D GETS 0 <--
+NO_DR_B_D PUT 0 <--
+NO_DR_B_D DMA_READ 0 <--
+NO_DR_B_D DMA_WRITE 0 <--
+NO_DR_B_D Ack 0 <--
+NO_DR_B_D Shared_Ack 0 <--
+NO_DR_B_D Shared_Data 0 <--
+NO_DR_B_D Exclusive_Data 0 <--
+NO_DR_B_D All_acks_and_data 0 <--
+NO_DR_B_D All_acks_and_data_no_sharers 0 <--
+
+NO_DR_B GETX 0 <--
+NO_DR_B GETS 0 <--
+NO_DR_B PUT 0 <--
+NO_DR_B DMA_READ 0 <--
+NO_DR_B DMA_WRITE 0 <--
+NO_DR_B Ack 0 <--
+NO_DR_B Shared_Ack 0 <--
+NO_DR_B Shared_Data 0 <--
+NO_DR_B Exclusive_Data 0 <--
+NO_DR_B All_acks_and_data 0 <--
+NO_DR_B All_acks_and_data_no_sharers 0 <--
+
+NO_DW_W GETX 0 <--
+NO_DW_W GETS 0 <--
+NO_DW_W PUT 0 <--
+NO_DW_W DMA_READ 0 <--
+NO_DW_W DMA_WRITE 0 <--
+NO_DW_W Memory_Ack 0 <--
+
+O_DR_B_W GETX 0 <--
+O_DR_B_W GETS 0 <--
+O_DR_B_W PUT 0 <--
+O_DR_B_W DMA_READ 0 <--
+O_DR_B_W DMA_WRITE 0 <--
+O_DR_B_W Memory_Data 0 <--
+
+O_DR_B GETX 0 <--
+O_DR_B GETS 0 <--
+O_DR_B PUT 0 <--
+O_DR_B DMA_READ 0 <--
+O_DR_B DMA_WRITE 0 <--
+O_DR_B Ack 0 <--
+O_DR_B All_acks_and_data_no_sharers 0 <--
+
+WB GETX 35
+WB GETS 0 <--
+WB PUT 0 <--
+WB Unblock 0 <--
+WB Writeback_Clean 0 <--
+WB Writeback_Dirty 0 <--
+WB Writeback_Exclusive_Clean 88
+WB Writeback_Exclusive_Dirty 787
+WB DMA_READ 0 <--
+WB DMA_WRITE 0 <--
+
+WB_O_W GETX 0 <--
+WB_O_W GETS 0 <--
+WB_O_W PUT 0 <--
+WB_O_W DMA_READ 0 <--
+WB_O_W DMA_WRITE 0 <--
+WB_O_W Memory_Ack 0 <--
+
+WB_E_W GETX 69
+WB_E_W GETS 0 <--
+WB_E_W PUT 0 <--
+WB_E_W DMA_READ 0 <--
+WB_E_W DMA_WRITE 0 <--
+WB_E_W Memory_Ack 787
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simerr b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simerr
new file mode 100755
index 000000000..cfdf73ce9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simerr
@@ -0,0 +1 @@
+hack: be nice to actually delete the event here
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simout b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simout
new file mode 100755
index 000000000..3268717ef
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/simout
@@ -0,0 +1,15 @@
+M5 Simulator System
+
+Copyright (c) 2001-2008
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jan 27 2010 22:05:53
+M5 revision 6068d4fc30d3 6931 default qtip tip brad/rubycfg_regress_udpate
+M5 started Jan 27 2010 22:06:45
+M5 executing on svvint06
+command line: build/ALPHA_SE_MOESI_hammer/m5.fast -d build/ALPHA_SE_MOESI_hammer/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer -re tests/run.py build/ALPHA_SE_MOESI_hammer/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer
+Global frequency set at 1000000000 ticks per second
+info: Entering event queue @ 0. Starting simulation...
+Exiting @ tick 225461 because Ruby Tester completed
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/stats.txt b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/stats.txt
new file mode 100644
index 000000000..041825240
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby-MOESI_hammer/stats.txt
@@ -0,0 +1,10 @@
+
+---------- Begin Simulation Statistics ----------
+host_mem_usage 210820 # Number of bytes of host memory used
+host_seconds 0.44 # Real time elapsed on the host
+host_tick_rate 512394 # Simulator tick rate (ticks/s)
+sim_freq 1000000000 # Frequency of simulated ticks
+sim_seconds 0.000225 # Number of seconds simulated
+sim_ticks 225461 # Number of ticks simulated
+
+---------- End Simulation Statistics ----------
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/config.ini b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/config.ini
new file mode 100644
index 000000000..764caee6e
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/config.ini
@@ -0,0 +1,177 @@
+[root]
+type=Root
+children=system
+dummy=0
+
+[system]
+type=System
+children=physmem ruby
+mem_mode=timing
+physmem=system.physmem
+
+[system.physmem]
+type=PhysicalMemory
+file=
+latency=30
+latency_var=0
+null=false
+range=0:134217727
+zero=false
+port=system.ruby.network.topology.ext_links0.ext_node.sequencer.physMemPort
+
+[system.ruby]
+type=RubySystem
+children=debug network profiler tracer
+block_size_bytes=64
+clock=1
+debug=system.ruby.debug
+mem_size=134217728
+network=system.ruby.network
+profiler=system.ruby.profiler
+random_seed=1234
+randomization=true
+stats_filename=ruby.stats
+tracer=system.ruby.tracer
+
+[system.ruby.debug]
+type=RubyDebug
+filter_string=none
+output_filename=none
+protocol_trace=false
+start_time=1
+verbosity_string=none
+
+[system.ruby.network]
+type=SimpleNetwork
+children=topology
+adaptive_routing=true
+buffer_size=0
+control_msg_size=8
+endpoint_bandwidth=10000
+link_latency=1
+number_of_virtual_networks=10
+topology=system.ruby.network.topology
+
+[system.ruby.network.topology]
+type=Topology
+children=ext_links0 ext_links1 int_links0 int_links1
+ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1
+int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1
+num_int_nodes=3
+print_config=false
+
+[system.ruby.network.topology.ext_links0]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links0.ext_node
+int_node=0
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links0.ext_node]
+type=L1Cache_Controller
+children=sequencer
+buffer_size=0
+cacheMemory=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+cache_response_latency=12
+issue_latency=2
+number_of_TBEs=256
+recycle_latency=10
+sequencer=system.ruby.network.topology.ext_links0.ext_node.sequencer
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer]
+type=RubySequencer
+children=icache
+dcache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+deadlock_threshold=500000
+icache=system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+max_outstanding_requests=16
+physmem=system.physmem
+using_ruby_tester=true
+version=0
+physMemPort=system.physmem.port[0]
+port=root.cpuPort[0]
+
+[system.ruby.network.topology.ext_links0.ext_node.sequencer.icache]
+type=RubyCache
+assoc=2
+latency=3
+replacement_policy=PSEUDO_LRU
+size=256
+
+[system.ruby.network.topology.ext_links1]
+type=ExtLink
+children=ext_node
+bw_multiplier=64
+ext_node=system.ruby.network.topology.ext_links1.ext_node
+int_node=1
+latency=1
+weight=1
+
+[system.ruby.network.topology.ext_links1.ext_node]
+type=Directory_Controller
+children=directory memBuffer
+buffer_size=0
+directory=system.ruby.network.topology.ext_links1.ext_node.directory
+directory_latency=12
+memBuffer=system.ruby.network.topology.ext_links1.ext_node.memBuffer
+number_of_TBEs=256
+recycle_latency=10
+transitions_per_cycle=32
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.directory]
+type=RubyDirectoryMemory
+size=134217728
+version=0
+
+[system.ruby.network.topology.ext_links1.ext_node.memBuffer]
+type=RubyMemoryControl
+bank_bit_0=8
+bank_busy_time=11
+bank_queue_size=12
+banks_per_rank=8
+basic_bus_busy_time=2
+dimm_bit_0=12
+dimms_per_channel=2
+mem_bus_cycle_multiplier=10
+mem_ctl_latency=12
+mem_fixed_delay=0
+mem_random_arbitrate=0
+rank_bit_0=11
+rank_rank_delay=1
+ranks_per_dimm=2
+read_write_delay=2
+refresh_period=1560
+tFaw=0
+version=0
+
+[system.ruby.network.topology.int_links0]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=0
+node_b=2
+weight=1
+
+[system.ruby.network.topology.int_links1]
+type=IntLink
+bw_multiplier=16
+latency=1
+node_a=1
+node_b=2
+weight=1
+
+[system.ruby.profiler]
+type=RubyProfiler
+all_instructions=false
+hot_lines=false
+num_of_sequencers=1
+
+[system.ruby.tracer]
+type=RubyTracer
+warmup_length=100000
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/ruby.stats b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/ruby.stats
new file mode 100644
index 000000000..54877fca9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/ruby.stats
@@ -0,0 +1,298 @@
+
+================ Begin RubySystem Configuration Print ================
+
+RubySystem config:
+ random_seed: 1234
+ randomization: 1
+ cycle_period: 1
+ block_size_bytes: 64
+ block_size_bits: 6
+ memory_size_bytes: 134217728
+ memory_size_bits: 27
+
+Network Configuration
+---------------------
+network: SIMPLE_NETWORK
+topology:
+
+virtual_net_0: active, ordered
+virtual_net_1: active, ordered
+virtual_net_2: active, ordered
+virtual_net_3: inactive
+virtual_net_4: active, ordered
+virtual_net_5: active, ordered
+virtual_net_6: inactive
+virtual_net_7: inactive
+virtual_net_8: inactive
+virtual_net_9: inactive
+
+
+Profiler Configuration
+----------------------
+periodic_stats_period: 1000000
+
+================ End RubySystem Configuration Print ================
+
+
+Real time: Jan/27/2010 21:57:17
+
+Profiler Stats
+--------------
+Elapsed_time_in_seconds: 1
+Elapsed_time_in_minutes: 0.0166667
+Elapsed_time_in_hours: 0.000277778
+Elapsed_time_in_days: 1.15741e-05
+
+Virtual_time_in_seconds: 0.23
+Virtual_time_in_minutes: 0.00383333
+Virtual_time_in_hours: 6.38889e-05
+Virtual_time_in_days: 2.66204e-06
+
+Ruby_current_time: 271191
+Ruby_start_time: 0
+Ruby_cycles: 271191
+
+mbytes_resident: 30.8242
+mbytes_total: 30.832
+resident_ratio: 1
+
+Total_misses: 0
+total_misses: 0 [ 0 ]
+user_misses: 0 [ 0 ]
+supervisor_misses: 0 [ 0 ]
+
+ruby_cycles_executed: 271192 [ 271192 ]
+
+transactions_started: 0 [ 0 ]
+transactions_ended: 0 [ 0 ]
+cycles_per_transaction: 0 [ 0 ]
+misses_per_transaction: 0 [ 0 ]
+
+
+Busy Controller Counts:
+L1Cache-0:0
+Directory-0:0
+
+
+Busy Bank Count:0
+
+sequencer_requests_outstanding: [binsize: 1 max: 16 count: 971 average: 15.7848 | standard deviation: 1.15276 | 0 1 1 1 1 1 1 1 1 1 1 1 1 1 3 86 869 ]
+
+All Non-Zero Cycle Demand Cache Accesses
+----------------------------------------
+miss_latency: [binsize: 32 max: 5966 count: 956 average: 4491.48 | standard deviation: 635.733 | 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 1 0 0 0 0 0 1 0 0 0 0 2 1 0 1 4 1 0 3 1 0 1 2 2 1 2 4 3 6 6 2 5 14 5 6 8 6 7 6 10 8 13 14 13 7 15 9 17 24 19 17 14 19 25 18 19 19 20 24 15 27 24 21 30 29 21 20 22 15 23 16 24 17 22 12 11 14 15 10 13 12 7 13 7 11 11 3 7 10 3 5 7 0 2 5 3 0 3 3 1 1 3 0 0 1 1 0 0 0 0 0 0 0 ]
+miss_latency_2: [binsize: 32 max: 5629 count: 100 average: 4532.09 | standard deviation: 502.331 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 2 1 0 1 1 0 0 0 1 2 1 1 0 1 3 1 2 0 2 2 2 1 2 2 2 1 2 2 3 1 1 5 3 1 2 4 4 2 5 1 2 2 4 2 3 3 1 3 0 0 1 1 0 2 0 2 1 0 0 2 0 0 0 0 1 1 ]
+miss_latency_3: [binsize: 32 max: 5966 count: 856 average: 4486.74 | standard deviation: 649.61 | 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 1 0 0 0 0 0 1 0 0 0 0 2 1 0 1 4 1 0 3 0 0 0 2 2 1 2 4 3 6 4 1 5 13 4 6 8 6 6 4 9 7 13 13 10 6 13 9 15 22 17 16 12 17 23 17 17 17 17 23 14 22 21 20 28 25 17 18 17 14 21 14 20 15 19 9 10 11 15 10 12 11 7 11 7 9 10 3 7 8 3 5 7 0 1 4 3 0 3 3 1 1 3 0 0 1 1 0 0 0 0 0 0 0 ]
+
+All Non-Zero Cycle SW Prefetch Requests
+------------------------------------
+prefetch_latency: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+prefetch_latency_L2Miss:[binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+Request vs. RubySystem State Profile
+--------------------------------
+
+
+filter_action: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Message Delayed Cycles
+----------------------
+Total_delay_cycles: [binsize: 1 max: 0 count: 1839 average: 0 | standard deviation: 0 | 1839 ]
+Total_nonPF_delay_cycles: [binsize: 1 max: 0 count: 1839 average: 0 | standard deviation: 0 | 1839 ]
+ virtual_network_0_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_1_delay_cycles: [binsize: 1 max: 0 count: 921 average: 0 | standard deviation: 0 | 921 ]
+ virtual_network_2_delay_cycles: [binsize: 1 max: 0 count: 918 average: 0 | standard deviation: 0 | 918 ]
+ virtual_network_3_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_4_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_5_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_6_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_7_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_8_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+ virtual_network_9_delay_cycles: [binsize: 1 max: 0 count: 0 average: NaN |standard deviation: NaN | 0 ]
+
+Resource Usage
+--------------
+page_size: 4096
+user_time: 0
+system_time: 0
+page_reclaims: 6767
+page_faults: 1920
+swaps: 0
+block_inputs: 0
+block_outputs: 0
+
+Network Stats
+-------------
+
+switch_0_inlinks: 2
+switch_0_outlinks: 2
+links_utilized_percent_switch_0: 0.105956
+ links_utilized_percent_switch_0_link_0: 0.0424378 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_0_link_1: 0.169475 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_0_link_0_Response_Data: 921 66312 [ 0 921 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_0_Writeback_Control: 918 7344 [ 0 0 918 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Control: 921 7368 [ 921 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_0_link_1_Data: 919 66168 [ 919 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_1_inlinks: 2
+switch_1_outlinks: 2
+links_utilized_percent_switch_1: 0.106039
+ links_utilized_percent_switch_1_link_0: 0.0423272 bw: 640000 base_latency: 1
+ links_utilized_percent_switch_1_link_1: 0.169751 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_1_link_0_Control: 921 7368 [ 921 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_0_Data: 918 66096 [ 918 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Response_Data: 921 66312 [ 0 921 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_1_link_1_Writeback_Control: 918 7344 [ 0 0 918 0 0 0 0 0 0 0 ] base_latency: 1
+
+switch_2_inlinks: 2
+switch_2_outlinks: 2
+links_utilized_percent_switch_2: 0.16953
+ links_utilized_percent_switch_2_link_0: 0.169751 bw: 160000 base_latency: 1
+ links_utilized_percent_switch_2_link_1: 0.169309 bw: 160000 base_latency: 1
+
+ outgoing_messages_switch_2_link_0_Response_Data: 921 66312 [ 0 921 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_0_Writeback_Control: 918 7344 [ 0 0 918 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Control: 921 7368 [ 921 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+ outgoing_messages_switch_2_link_1_Data: 918 66096 [ 918 0 0 0 0 0 0 0 0 0 ] base_latency: 1
+
+Cache Stats: system.ruby.network.topology.ext_links0.ext_node.sequencer.icache
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_misses: 923
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_demand_misses: 923
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_sw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_total_hw_prefetches: 0
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_misses_per_transaction: inf
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_type_LD: 10.9426%
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_type_ST: 89.0574%
+
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_access_mode_type_SupervisorMode: 923 100%
+ system.ruby.network.topology.ext_links0.ext_node.sequencer.icache_request_size: [binsize: 1 max: 4 count: 923 average: 1.32828 | standard deviation: 0.937297 | 0 822 0 0 101 ]
+
+ --- L1Cache 0 ---
+ - Event Counts -
+Load 101
+Ifetch 0
+Store 857
+Data 921
+Fwd_GETX 0
+Inv 0
+Replacement 920
+Writeback_Ack 918
+Writeback_Nack 0
+
+ - Transitions -
+I Load 101
+I Ifetch 0 <--
+I Store 822
+I Inv 0 <--
+I Replacement 0 <--
+
+II Writeback_Nack 0 <--
+
+M Load 0 <--
+M Ifetch 0 <--
+M Store 35
+M Fwd_GETX 0 <--
+M Inv 0 <--
+M Replacement 920
+
+MI Fwd_GETX 0 <--
+MI Inv 0 <--
+MI Writeback_Ack 918
+MI Writeback_Nack 0 <--
+
+MII Fwd_GETX 0 <--
+
+IS Data 100
+
+IM Data 821
+
+Memory controller: system.ruby.network.topology.ext_links1.ext_node.memBuffer:
+ memory_total_requests: 1839
+ memory_reads: 921
+ memory_writes: 918
+ memory_refreshes: 565
+ memory_total_request_delays: 2859
+ memory_delays_per_request: 1.55465
+ memory_delays_in_input_queue: 719
+ memory_delays_behind_head_of_bank_queue: 15
+ memory_delays_stalled_at_head_of_bank_queue: 2125
+ memory_stalls_for_bank_busy: 289
+ memory_stalls_for_random_busy: 0
+ memory_stalls_for_anti_starvation: 0
+ memory_stalls_for_arbitration: 280
+ memory_stalls_for_bus: 928
+ memory_stalls_for_tfaw: 0
+ memory_stalls_for_read_write_turnaround: 519
+ memory_stalls_for_read_read_turnaround: 109
+ accesses_per_bank: 62 46 62 86 113 64 68 60 64 64 56 62 48 40 46 38 62 50 52 52 58 61 56 54 52 58 58 56 51 54 52 34
+
+ --- Directory 0 ---
+ - Event Counts -
+GETX 921
+GETS 0
+PUTX 918
+PUTX_NotOwner 0
+DMA_READ 0
+DMA_WRITE 0
+Memory_Data 921
+Memory_Ack 918
+
+ - Transitions -
+I GETX 921
+I PUTX_NotOwner 0 <--
+I DMA_READ 0 <--
+I DMA_WRITE 0 <--
+
+M GETX 0 <--
+M PUTX 918
+M PUTX_NotOwner 0 <--
+M DMA_READ 0 <--
+M DMA_WRITE 0 <--
+
+M_DRD GETX 0 <--
+M_DRD PUTX 0 <--
+
+M_DWR GETX 0 <--
+M_DWR PUTX 0 <--
+
+M_DWRI GETX 0 <--
+M_DWRI Memory_Ack 0 <--
+
+M_DRDI GETX 0 <--
+M_DRDI Memory_Ack 0 <--
+
+IM GETX 0 <--
+IM GETS 0 <--
+IM PUTX 0 <--
+IM PUTX_NotOwner 0 <--
+IM DMA_READ 0 <--
+IM DMA_WRITE 0 <--
+IM Memory_Data 921
+
+MI GETX 0 <--
+MI GETS 0 <--
+MI PUTX 0 <--
+MI PUTX_NotOwner 0 <--
+MI DMA_READ 0 <--
+MI DMA_WRITE 0 <--
+MI Memory_Ack 918
+
+ID GETX 0 <--
+ID GETS 0 <--
+ID PUTX 0 <--
+ID PUTX_NotOwner 0 <--
+ID DMA_READ 0 <--
+ID DMA_WRITE 0 <--
+ID Memory_Data 0 <--
+
+ID_W GETX 0 <--
+ID_W GETS 0 <--
+ID_W PUTX 0 <--
+ID_W PUTX_NotOwner 0 <--
+ID_W DMA_READ 0 <--
+ID_W DMA_WRITE 0 <--
+ID_W Memory_Ack 0 <--
+
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simerr b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simerr
new file mode 100755
index 000000000..cfdf73ce9
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simerr
@@ -0,0 +1 @@
+hack: be nice to actually delete the event here
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simout b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simout
new file mode 100755
index 000000000..109ab6ff3
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/simout
@@ -0,0 +1,15 @@
+M5 Simulator System
+
+Copyright (c) 2001-2008
+The Regents of The University of Michigan
+All Rights Reserved
+
+
+M5 compiled Jan 27 2010 17:26:29
+M5 revision 6068d4fc30d3 6931 default qtip tip brad/rubycfg_regress_udpate
+M5 started Jan 27 2010 21:57:16
+M5 executing on svvint07
+command line: build/ALPHA_SE/m5.fast -d build/ALPHA_SE/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby -re tests/run.py build/ALPHA_SE/tests/fast/quick/60.rubytest/alpha/linux/rubytest-ruby
+Global frequency set at 1000000000 ticks per second
+info: Entering event queue @ 0. Starting simulation...
+Exiting @ tick 271191 because Ruby Tester completed
diff --git a/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/stats.txt b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/stats.txt
new file mode 100644
index 000000000..013781bd5
--- /dev/null
+++ b/tests/quick/60.rubytest/ref/alpha/linux/rubytest-ruby/stats.txt
@@ -0,0 +1,10 @@
+
+---------- Begin Simulation Statistics ----------
+host_mem_usage 213104 # Number of bytes of host memory used
+host_seconds 0.07 # Real time elapsed on the host
+host_tick_rate 3873825 # Simulator tick rate (ticks/s)
+sim_freq 1000000000 # Frequency of simulated ticks
+sim_seconds 0.000271 # Number of seconds simulated
+sim_ticks 271191 # Number of ticks simulated
+
+---------- End Simulation Statistics ----------
diff --git a/tests/quick/60.rubytest/test.py b/tests/quick/60.rubytest/test.py
new file mode 100644
index 000000000..e5e3d8b1c
--- /dev/null
+++ b/tests/quick/60.rubytest/test.py
@@ -0,0 +1,29 @@
+# Copyright (c) 2010 Advanced Micro Devices, Inc.
+# 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: Ron Dreslinski
+
+