diff options
Diffstat (limited to 'configs/ruby')
-rw-r--r-- | configs/ruby/MESI_CMP_directory.py | 6 | ||||
-rw-r--r-- | configs/ruby/MI_example.py | 2 | ||||
-rw-r--r-- | configs/ruby/MOESI_CMP_directory.py | 2 | ||||
-rw-r--r-- | configs/ruby/MOESI_CMP_token.py | 2 | ||||
-rw-r--r-- | configs/ruby/MOESI_hammer.py | 2 | ||||
-rw-r--r-- | configs/ruby/Ruby.py | 24 |
6 files changed, 37 insertions, 1 deletions
diff --git a/configs/ruby/MESI_CMP_directory.py b/configs/ruby/MESI_CMP_directory.py index 6e70944b7..79de421bb 100644 --- a/configs/ruby/MESI_CMP_directory.py +++ b/configs/ruby/MESI_CMP_directory.py @@ -89,6 +89,8 @@ def create_system(options, system, piobus, dma_devices, ruby_system): L1IcacheMemory = l1i_cache, L1DcacheMemory = l1d_cache, l2_select_num_bits = l2_bits, + send_evictions = ( + options.cpu_type == "detailed"), ruby_system = ruby_system) cpu_seq = RubySequencer(version = i, @@ -151,7 +153,9 @@ def create_system(options, system, piobus, dma_devices, ruby_system): cntrl_id = cntrl_count, directory = \ RubyDirectoryMemory(version = i, - size = dir_size), + size = dir_size, + use_map = + options.use_map), memBuffer = mem_cntrl, ruby_system = ruby_system) diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py index eeb81e8a3..13f4c9c80 100644 --- a/configs/ruby/MI_example.py +++ b/configs/ruby/MI_example.py @@ -81,6 +81,8 @@ def create_system(options, system, piobus, dma_devices, ruby_system): l1_cntrl = L1Cache_Controller(version = i, cntrl_id = cntrl_count, cacheMemory = cache, + send_evictions = ( + options.cpu_type == "detailed"), ruby_system = ruby_system) cpu_seq = RubySequencer(version = i, diff --git a/configs/ruby/MOESI_CMP_directory.py b/configs/ruby/MOESI_CMP_directory.py index e3bc9ae85..f6baa4026 100644 --- a/configs/ruby/MOESI_CMP_directory.py +++ b/configs/ruby/MOESI_CMP_directory.py @@ -89,6 +89,8 @@ def create_system(options, system, piobus, dma_devices, ruby_system): L1IcacheMemory = l1i_cache, L1DcacheMemory = l1d_cache, l2_select_num_bits = l2_bits, + send_evictions = ( + options.cpu_type == "detailed"), ruby_system = ruby_system) cpu_seq = RubySequencer(version = i, diff --git a/configs/ruby/MOESI_CMP_token.py b/configs/ruby/MOESI_CMP_token.py index d11bb320c..79e0f15f9 100644 --- a/configs/ruby/MOESI_CMP_token.py +++ b/configs/ruby/MOESI_CMP_token.py @@ -111,6 +111,8 @@ def create_system(options, system, piobus, dma_devices, ruby_system): not options.disable_dyn_timeouts, no_mig_atomic = not \ options.allow_atomic_migration, + send_evictions = ( + options.cpu_type == "detailed"), ruby_system = ruby_system) cpu_seq = RubySequencer(version = i, diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py index 4cc377ec8..f50315599 100644 --- a/configs/ruby/MOESI_hammer.py +++ b/configs/ruby/MOESI_hammer.py @@ -104,6 +104,8 @@ def create_system(options, system, piobus, dma_devices, ruby_system): L2cacheMemory = l2_cache, no_mig_atomic = not \ options.allow_atomic_migration, + send_evictions = ( + options.cpu_type == "detailed"), ruby_system = ruby_system) cpu_seq = RubySequencer(version = i, diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py index a07bea1bb..b2342eed4 100644 --- a/configs/ruby/Ruby.py +++ b/configs/ruby/Ruby.py @@ -1,3 +1,15 @@ +# Copyright (c) 2012 ARM Limited +# All rights reserved. +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2006-2007 The Regents of The University of Michigan # Copyright (c) 2009 Advanced Micro Devices, Inc. # All rights reserved. @@ -82,6 +94,17 @@ def create_system(options, system, piobus = None, dma_devices = []): print "Error: could not create sytem for ruby protocol %s" % protocol raise + # Create a port proxy for connecting the system port. This is + # independent of the protocol and kept in the protocol-agnostic + # part (i.e. here). + sys_port_proxy = RubyPortProxy(version = 0, + physMemPort = system.physmem.port, + physmem = system.physmem, + ruby_system = ruby) + # Give the system port proxy a SimObject parent without creating a + # full-fledged controller + system.sys_port_proxy = sys_port_proxy + # # Set the network classes based on the command line options # @@ -159,4 +182,5 @@ def create_system(options, system, piobus = None, dma_devices = []): ruby.profiler = ruby_profiler ruby.mem_size = total_mem_size ruby._cpu_ruby_ports = cpu_sequencers + ruby._sys_port_proxy = sys_port_proxy ruby.random_seed = options.random_seed |