ruby: Move Rubys cache class from Cache.py to RubyCache.py
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 21 Aug 2015 11:03:21 +0000 (07:03 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 21 Aug 2015 11:03:21 +0000 (07:03 -0400)
This patch serves to avoid name clashes with the classic cache. For
some reason having two 'SimObject' files with the same name creates
problems.

--HG--
rename : src/mem/ruby/structures/Cache.py => src/mem/ruby/structures/RubyCache.py

configs/ruby/MI_example.py
configs/ruby/Network_test.py
src/mem/ruby/structures/Cache.py [deleted file]
src/mem/ruby/structures/RubyCache.py [new file with mode: 0644]
src/mem/ruby/structures/SConscript

index 4e01de65bb269340eed4ac62d1a02da1b0b37ede..3e0c21a417c7aa572b539c84bf7f8a7c971e4b0a 100644 (file)
@@ -37,7 +37,7 @@ from Ruby import send_evicts
 #
 # Declare caches used by the protocol
 #
-class Cache(RubyCache): pass
+class L1Cache(RubyCache): pass
 
 def define_options(parser):
     return
@@ -70,9 +70,9 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
         # Only one cache exists for this protocol, so by default use the L1D
         # config parameters.
         #
-        cache = Cache(size = options.l1d_size,
-                      assoc = options.l1d_assoc,
-                      start_index_bit = block_size_bits)
+        cache = L1Cache(size = options.l1d_size,
+                        assoc = options.l1d_assoc,
+                        start_index_bit = block_size_bits)
 
         #
         # Only one unified L1 cache exists.  Can cache instructions and data.
index 7a968a253dcba1284f69df319b403d0b4b4448e7..eb31b380489da95c4869cbfde3ac1d7c97259b22 100644 (file)
@@ -36,7 +36,7 @@ from Ruby import create_topology
 #
 # Declare caches used by the protocol
 #
-class Cache(RubyCache): pass
+class L1Cache(RubyCache): pass
 
 def define_options(parser):
     return
@@ -72,8 +72,8 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
         # Only one cache exists for this protocol, so by default use the L1D
         # config parameters.
         #
-        cache = Cache(size = options.l1d_size,
-                      assoc = options.l1d_assoc)
+        cache = L1Cache(size = options.l1d_size,
+                        assoc = options.l1d_assoc)
 
         #
         # Only one unified L1 cache exists.  Can cache instructions and data.
diff --git a/src/mem/ruby/structures/Cache.py b/src/mem/ruby/structures/Cache.py
deleted file mode 100644 (file)
index 4eb87ac..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (c) 2009 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: Steve Reinhardt
-#          Brad Beckmann
-
-from m5.params import *
-from m5.proxy import *
-from PseudoLRUReplacementPolicy import PseudoLRUReplacementPolicy
-from m5.SimObject import SimObject
-
-class RubyCache(SimObject):
-    type = 'RubyCache'
-    cxx_class = 'CacheMemory'
-    cxx_header = "mem/ruby/structures/CacheMemory.hh"
-    size = Param.MemorySize("capacity in bytes");
-    assoc = Param.Int("");
-    replacement_policy = Param.ReplacementPolicy(PseudoLRUReplacementPolicy(),
-                         "")
-    start_index_bit = Param.Int(6, "index start, default 6 for 64-byte line");
-    is_icache = Param.Bool(False, "is instruction only cache");
-
-    dataArrayBanks = Param.Int(1, "Number of banks for the data array")
-    tagArrayBanks = Param.Int(1, "Number of banks for the tag array")
-    dataAccessLatency = Param.Cycles(1, "cycles for a data array access")
-    tagAccessLatency = Param.Cycles(1, "cycles for a tag array access")
-    resourceStalls = Param.Bool(False, "stall if there is a resource failure")
-    ruby_system = Param.RubySystem(Parent.any, "")
diff --git a/src/mem/ruby/structures/RubyCache.py b/src/mem/ruby/structures/RubyCache.py
new file mode 100644 (file)
index 0000000..4eb87ac
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright (c) 2009 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: Steve Reinhardt
+#          Brad Beckmann
+
+from m5.params import *
+from m5.proxy import *
+from PseudoLRUReplacementPolicy import PseudoLRUReplacementPolicy
+from m5.SimObject import SimObject
+
+class RubyCache(SimObject):
+    type = 'RubyCache'
+    cxx_class = 'CacheMemory'
+    cxx_header = "mem/ruby/structures/CacheMemory.hh"
+    size = Param.MemorySize("capacity in bytes");
+    assoc = Param.Int("");
+    replacement_policy = Param.ReplacementPolicy(PseudoLRUReplacementPolicy(),
+                         "")
+    start_index_bit = Param.Int(6, "index start, default 6 for 64-byte line");
+    is_icache = Param.Bool(False, "is instruction only cache");
+
+    dataArrayBanks = Param.Int(1, "Number of banks for the data array")
+    tagArrayBanks = Param.Int(1, "Number of banks for the tag array")
+    dataAccessLatency = Param.Cycles(1, "cycles for a data array access")
+    tagAccessLatency = Param.Cycles(1, "cycles for a tag array access")
+    resourceStalls = Param.Bool(False, "stall if there is a resource failure")
+    ruby_system = Param.RubySystem(Parent.any, "")
index 18ab9daedc98a3d36f73ef563fcf390423e6d8a7..75fc6370eba72123effa6aa809bf47b112ae1685 100644 (file)
@@ -33,7 +33,7 @@ Import('*')
 if env['PROTOCOL'] == 'None':
     Return()
 
-SimObject('Cache.py')
+SimObject('RubyCache.py')
 SimObject('DirectoryMemory.py')
 SimObject('LRUReplacementPolicy.py')
 SimObject('PseudoLRUReplacementPolicy.py')