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