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:
parent
45b411fc5f
commit
5e0851d554
3 changed files with 15 additions and 5 deletions
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue