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.
This commit is contained in:
Nilay Vaish 2011-07-03 11:33:46 -05:00
parent 45b411fc5f
commit 5e0851d554
3 changed files with 15 additions and 5 deletions

View file

@ -41,7 +41,7 @@ class Cache(RubyCache):
def define_options(parser): def define_options(parser):
return return
def create_system(options, system, piobus, dma_devices): def create_system(options, system, piobus, dma_devices, ruby_system):
if buildEnv['PROTOCOL'] != 'Network_test': if buildEnv['PROTOCOL'] != 'Network_test':
panic("This script requires the Network_test protocol to be built.") panic("This script requires the Network_test protocol to be built.")
@ -85,13 +85,15 @@ def create_system(options, system, piobus, dma_devices):
# #
l1_cntrl = L1Cache_Controller(version = i, l1_cntrl = L1Cache_Controller(version = i,
cntrl_id = cntrl_count, cntrl_id = cntrl_count,
cacheMemory = cache) cacheMemory = cache,
ruby_system = ruby_system)
cpu_seq = RubySequencer(icache = cache, cpu_seq = RubySequencer(icache = cache,
dcache = cache, dcache = cache,
physMemPort = system.physmem.port, physMemPort = system.physmem.port,
physmem = system.physmem, physmem = system.physmem,
using_network_tester = True) using_network_tester = True,
ruby_system = ruby_system)
l1_cntrl.sequencer = cpu_seq l1_cntrl.sequencer = cpu_seq
@ -126,7 +128,8 @@ def create_system(options, system, piobus, dma_devices):
directory = \ directory = \
RubyDirectoryMemory(version = i, RubyDirectoryMemory(version = i,
size = dir_size), size = dir_size),
memBuffer = mem_cntrl) memBuffer = mem_cntrl,
ruby_system = ruby_system)
exec("system.dir_cntrl%d = dir_cntrl" % i) exec("system.dir_cntrl%d = dir_cntrl" % i)
dir_cntrl_nodes.append(dir_cntrl) dir_cntrl_nodes.append(dir_cntrl)

View file

@ -131,6 +131,9 @@ machine(L1Cache, "Network_test L1 Cache")
return OOD; return OOD;
} }
DataBlock getDataBlock(Address addr), return_by_ref="yes" {
error("Network Test does not support get data block.");
}
// NETWORK PORTS // NETWORK PORTS

View file

@ -55,7 +55,7 @@ machine(Directory, "Network_test Directory")
// TYPES // TYPES
// DirectoryEntry // DirectoryEntry
structure(Entry, desc="...") { structure(Entry, desc="...", interface="AbstractEntry") {
State DirectoryState, desc="Directory state"; State DirectoryState, desc="Directory state";
DataBlock DataBlk, desc="data for the block"; DataBlock DataBlk, desc="data for the block";
} }
@ -76,6 +76,10 @@ machine(Directory, "Network_test Directory")
void setAccessPermission(Address addr, State state) { 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_PORTS **
in_port(requestQueue_in, RequestMsg, requestToDir) { in_port(requestQueue_in, RequestMsg, requestToDir) {