diff options
author | David Hashe <david.hashe@amd.com> | 2015-07-20 09:15:18 -0500 |
---|---|---|
committer | David Hashe <david.hashe@amd.com> | 2015-07-20 09:15:18 -0500 |
commit | 698866d46197ad062384894f1927f99f26b03f3b (patch) | |
tree | d614d93a6d072c8440b9db13831e80b45756a742 /src/mem/slicc | |
parent | 1a7d3f9fcb76a68540dd948f91413533a383bfde (diff) | |
download | gem5-698866d46197ad062384894f1927f99f26b03f3b.tar.xz |
ruby: split CPU and GPU latency stats
Diffstat (limited to 'src/mem/slicc')
-rw-r--r-- | src/mem/slicc/symbols/StateMachine.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index fc3f32c3d..6a398423f 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -310,6 +310,7 @@ class $c_ident : public AbstractController void recordCacheTrace(int cntrl, CacheRecorder* tr); Sequencer* getCPUSequencer() const; + GPUCoalescer* getGPUCoalescer() const; int functionalWriteBuffers(PacketPtr&); @@ -680,6 +681,12 @@ $c_ident::init() assert(param.pointer) seq_ident = "m_%s_ptr" % param.ident + coal_ident = "NULL" + for param in self.config_parameters: + if param.ident == "coalescer": + assert(param.pointer) + coal_ident = "m_%s_ptr" % param.ident + if seq_ident != "NULL": code(''' Sequencer* @@ -702,6 +709,28 @@ $c_ident::getCPUSequencer() const } ''') + if coal_ident != "NULL": + code(''' +GPUCoalescer* +$c_ident::getGPUCoalescer() const +{ + if (NULL != $coal_ident && !$coal_ident->isCPUSequencer()) { + return $coal_ident; + } else { + return NULL; + } +} +''') + else: + code(''' + +GPUCoalescer* +$c_ident::getGPUCoalescer() const +{ + return NULL; +} +''') + code(''' void |