summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-08-16 13:11:13 -0700
committerGabe Black <gabeblack@google.com>2019-08-23 21:13:07 +0000
commitc08351f4d399f56ec6ed6c81b39e52f55a7bc56f (patch)
tree9677dd2982e4bfe65b5576453b06cf4f326d4a68 /src/mem/slicc
parentd97e4e1dd01a943a2c40ead90099d3e085059715 (diff)
downloadgem5-c08351f4d399f56ec6ed6c81b39e52f55a7bc56f.tar.xz
mem: Move ruby protocols into a directory called ruby_protocol.
Now that the gem5 protocols are split out, it would be nice to put them in their own protocol directory. It's also confusing to have files called *_protocol which are not in the protocol directory. Change-Id: I7475ee111630050a2421816dfd290921baab9f71 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20230 Reviewed-by: Gabe Black <gabeblack@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/main.py3
-rw-r--r--src/mem/slicc/symbols/StateMachine.py38
-rw-r--r--src/mem/slicc/symbols/SymbolTable.py2
-rw-r--r--src/mem/slicc/symbols/Type.py14
4 files changed, 30 insertions, 27 deletions
diff --git a/src/mem/slicc/main.py b/src/mem/slicc/main.py
index f2a47510f..f7f04946d 100644
--- a/src/mem/slicc/main.py
+++ b/src/mem/slicc/main.py
@@ -90,7 +90,8 @@ def main(args=None):
output("SLICC v0.4")
output("Parsing...")
- protocol_base = os.path.join(os.path.dirname(__file__), '..', 'protocol')
+ protocol_base = os.path.join(os.path.dirname(__file__),
+ '..', 'ruby', 'protocol')
slicc = SLICC(slicc_file, protocol_base, verbose=True, debug=opts.debug,
traceback=opts.tb)
diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py
index 03e624b11..a92e078e2 100644
--- a/src/mem/slicc/symbols/StateMachine.py
+++ b/src/mem/slicc/symbols/StateMachine.py
@@ -230,7 +230,7 @@ from m5.objects.Controller import RubyController
class $py_ident(RubyController):
type = '$py_ident'
- cxx_header = 'mem/protocol/${c_ident}.hh'
+ cxx_header = 'mem/ruby/protocol/${c_ident}.hh'
''')
code.indent()
for param in self.config_parameters:
@@ -272,9 +272,9 @@ class $py_ident(RubyController):
#include <sstream>
#include <string>
-#include "mem/protocol/TransitionResult.hh"
-#include "mem/protocol/Types.hh"
#include "mem/ruby/common/Consumer.hh"
+#include "mem/ruby/protocol/TransitionResult.hh"
+#include "mem/ruby/protocol/Types.hh"
#include "mem/ruby/slicc_interface/AbstractController.hh"
#include "params/$c_ident.hh"
@@ -283,7 +283,7 @@ class $py_ident(RubyController):
seen_types = set()
for var in self.objects:
if var.type.ident not in seen_types and not var.type.isPrimitive:
- code('#include "mem/protocol/${{var.type.c_ident}}.hh"')
+ code('#include "mem/ruby/protocol/${{var.type.c_ident}}.hh"')
seen_types.add(var.type.ident)
# for adding information to the protocol debug trace
@@ -459,18 +459,18 @@ void unset_tbe(${{self.TBEType.c_ident}}*& m_tbe_ptr);
#include <typeinfo>
#include "base/compiler.hh"
-#include "mem/ruby/common/BoolVec.hh"
#include "base/cprintf.hh"
+#include "mem/ruby/common/BoolVec.hh"
''')
for f in self.debug_flags:
code('#include "debug/${{f}}.hh"')
code('''
-#include "mem/protocol/${ident}_Controller.hh"
-#include "mem/protocol/${ident}_Event.hh"
-#include "mem/protocol/${ident}_State.hh"
-#include "mem/protocol/Types.hh"
#include "mem/ruby/network/Network.hh"
+#include "mem/ruby/protocol/${ident}_Controller.hh"
+#include "mem/ruby/protocol/${ident}_Event.hh"
+#include "mem/ruby/protocol/${ident}_State.hh"
+#include "mem/ruby/protocol/Types.hh"
#include "mem/ruby/system/RubySystem.hh"
''')
@@ -486,7 +486,7 @@ using namespace std;
seen_types = set()
for var in self.objects:
if var.type.ident not in seen_types and not var.type.isPrimitive:
- code('#include "mem/protocol/${{var.type.c_ident}}.hh"')
+ code('#include "mem/ruby/protocol/${{var.type.c_ident}}.hh"')
seen_types.add(var.type.ident)
num_in_ports = len(self.in_ports)
@@ -1057,17 +1057,17 @@ $c_ident::functionalWriteBuffers(PacketPtr& pkt)
for f in self.debug_flags:
code('#include "debug/${{f}}.hh"')
code('''
-#include "mem/protocol/${ident}_Controller.hh"
-#include "mem/protocol/${ident}_Event.hh"
-#include "mem/protocol/${ident}_State.hh"
+#include "mem/ruby/protocol/${ident}_Controller.hh"
+#include "mem/ruby/protocol/${ident}_Event.hh"
+#include "mem/ruby/protocol/${ident}_State.hh"
''')
if outputRequest_types:
- code('''#include "mem/protocol/${ident}_RequestType.hh"''')
+ code('''#include "mem/ruby/protocol/${ident}_RequestType.hh"''')
code('''
-#include "mem/protocol/Types.hh"
+#include "mem/ruby/protocol/Types.hh"
#include "mem/ruby/system/RubySystem.hh"
''')
@@ -1172,10 +1172,10 @@ ${ident}_Controller::wakeup()
#include "base/trace.hh"
#include "debug/ProtocolTrace.hh"
#include "debug/RubyGenerated.hh"
-#include "mem/protocol/${ident}_Controller.hh"
-#include "mem/protocol/${ident}_Event.hh"
-#include "mem/protocol/${ident}_State.hh"
-#include "mem/protocol/Types.hh"
+#include "mem/ruby/protocol/${ident}_Controller.hh"
+#include "mem/ruby/protocol/${ident}_Event.hh"
+#include "mem/ruby/protocol/${ident}_State.hh"
+#include "mem/ruby/protocol/Types.hh"
#include "mem/ruby/system/RubySystem.hh"
#define HASH_FUN(state, event) ((int(state)*${ident}_Event_NUM)+int(event))
diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py
index e991fec2b..e4fc0a3fb 100644
--- a/src/mem/slicc/symbols/SymbolTable.py
+++ b/src/mem/slicc/symbols/SymbolTable.py
@@ -133,7 +133,7 @@ class SymbolTable(object):
for symbol in self.sym_vec:
if isinstance(symbol, Type) and not symbol.isPrimitive:
- code('#include "mem/protocol/${{symbol.c_ident}}.hh"')
+ code('#include "mem/ruby/protocol/${{symbol.c_ident}}.hh"')
code.write(path, "Types.hh")
diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py
index e9ea61815..c4d8eae06 100644
--- a/src/mem/slicc/symbols/Type.py
+++ b/src/mem/slicc/symbols/Type.py
@@ -201,15 +201,16 @@ class Type(Symbol):
#include <iostream>
#include "mem/ruby/slicc_interface/RubySlicc_Util.hh"
+
''')
for dm in self.data_members.values():
if not dm.type.isPrimitive:
- code('#include "mem/protocol/$0.hh"', dm.type.c_ident)
+ code('#include "mem/ruby/protocol/$0.hh"', dm.type.c_ident)
parent = ""
if "interface" in self:
- code('#include "mem/protocol/$0.hh"', self["interface"])
+ code('#include "mem/ruby/protocol/$0.hh"', self["interface"])
parent = " : public %s" % self["interface"]
code('''
@@ -404,7 +405,7 @@ operator<<(std::ostream& out, const ${{self.c_ident}}& obj)
#include <iostream>
#include <memory>
-#include "mem/protocol/${{self.c_ident}}.hh"
+#include "mem/ruby/protocol/${{self.c_ident}}.hh"
#include "mem/ruby/system/RubySystem.hh"
using namespace std;
@@ -456,7 +457,7 @@ out << "${{dm.ident}} = " << printAddress(m_${{dm.ident}}) << " ";''')
''')
if self.isStateDecl:
- code('#include "mem/protocol/AccessPermission.hh"')
+ code('#include "mem/ruby/protocol/AccessPermission.hh"')
if self.isMachineType:
code('#include <functional>')
@@ -558,7 +559,7 @@ std::ostream& operator<<(std::ostream& out, const ${{self.c_ident}}& obj);
#include <string>
#include "base/logging.hh"
-#include "mem/protocol/${{self.c_ident}}.hh"
+#include "mem/ruby/protocol/${{self.c_ident}}.hh"
using namespace std;
@@ -588,7 +589,8 @@ AccessPermission ${{self.c_ident}}_to_permission(const ${{self.c_ident}}& obj)
if self.isMachineType:
for enum in self.enums.itervalues():
if enum.primary:
- code('#include "mem/protocol/${{enum.ident}}_Controller.hh"')
+ code('#include "mem/ruby/protocol/${{enum.ident}}'
+ '_Controller.hh"')
code('#include "mem/ruby/common/MachineID.hh"')
code('''