changeset be8f4157c8f4 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=be8f4157c8f4
description:
        Network_test: Conform it with functional access changes in Ruby
        Addition of functional access support to Ruby necessitated some changes 
to
        the way coherence protocols are written. I had forgotten to update the
        Network_test protocol. This patch makes those updates.

diffstat:

 configs/ruby/Network_test.py           |  11 +++++++----
 src/mem/protocol/Network_test-cache.sm |   3 +++
 src/mem/protocol/Network_test-dir.sm   |   6 +++++-
 3 files changed, 15 insertions(+), 5 deletions(-)

diffs (76 lines):

diff -r 559ef3da5dac -r be8f4157c8f4 configs/ruby/Network_test.py
--- a/configs/ruby/Network_test.py      Fri Jul 01 16:29:33 2011 -0500
+++ b/configs/ruby/Network_test.py      Sun Jul 03 11:33:46 2011 -0500
@@ -41,7 +41,7 @@
 def define_options(parser):
     return
 
-def create_system(options, system, piobus, dma_devices):
+def create_system(options, system, piobus, dma_devices, ruby_system):
     
     if buildEnv['PROTOCOL'] != 'Network_test':
         panic("This script requires the Network_test protocol to be built.")
@@ -85,13 +85,15 @@
         #
         l1_cntrl = L1Cache_Controller(version = i,
                                       cntrl_id = cntrl_count,
-                                      cacheMemory = cache)
+                                      cacheMemory = cache,
+                                      ruby_system = ruby_system)
 
         cpu_seq = RubySequencer(icache = cache,
                                 dcache = cache,
                                 physMemPort = system.physmem.port,
                                 physmem = system.physmem,
-                                using_network_tester = True)
+                                using_network_tester = True,
+                                ruby_system = ruby_system)
 
         l1_cntrl.sequencer = cpu_seq
 
@@ -126,7 +128,8 @@
                                          directory = \
                                          RubyDirectoryMemory(version = i,
                                                              size = dir_size),
-                                         memBuffer = mem_cntrl)
+                                         memBuffer = mem_cntrl,
+                                         ruby_system = ruby_system)
 
         exec("system.dir_cntrl%d = dir_cntrl" % i)
         dir_cntrl_nodes.append(dir_cntrl)
diff -r 559ef3da5dac -r be8f4157c8f4 src/mem/protocol/Network_test-cache.sm
--- a/src/mem/protocol/Network_test-cache.sm    Fri Jul 01 16:29:33 2011 -0500
+++ b/src/mem/protocol/Network_test-cache.sm    Sun Jul 03 11:33:46 2011 -0500
@@ -131,6 +131,9 @@
     return OOD;
   }
 
+  DataBlock getDataBlock(Address addr), return_by_ref="yes" {
+    error("Network Test does not support get data block.");
+  }
 
   // NETWORK PORTS
 
diff -r 559ef3da5dac -r be8f4157c8f4 src/mem/protocol/Network_test-dir.sm
--- a/src/mem/protocol/Network_test-dir.sm      Fri Jul 01 16:29:33 2011 -0500
+++ b/src/mem/protocol/Network_test-dir.sm      Sun Jul 03 11:33:46 2011 -0500
@@ -55,7 +55,7 @@
 
   // TYPES
   // DirectoryEntry
-  structure(Entry, desc="...") {
+  structure(Entry, desc="...", interface="AbstractEntry") {
     State DirectoryState,          desc="Directory state";
     DataBlock DataBlk,             desc="data for the block";
   }
@@ -76,6 +76,10 @@
   void setAccessPermission(Address addr, State state) {
   }
 
+  DataBlock getDataBlock(Address addr), return_by_ref="yes" {
+    error("Network Test does not support get data block.");
+  }
+
   // ** IN_PORTS **
 
   in_port(requestQueue_in, RequestMsg, requestToDir) {
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to