From c08351f4d399f56ec6ed6c81b39e52f55a7bc56f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 16 Aug 2019 13:11:13 -0700 Subject: 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 Reviewed-by: Andreas Sandberg Reviewed-by: Jason Lowe-Power Maintainer: Gabe Black Tested-by: kokoro --- src/mem/slicc/main.py | 3 ++- src/mem/slicc/symbols/StateMachine.py | 38 +++++++++++++++++------------------ src/mem/slicc/symbols/SymbolTable.py | 2 +- src/mem/slicc/symbols/Type.py | 14 +++++++------ 4 files changed, 30 insertions(+), 27 deletions(-) (limited to 'src/mem/slicc') 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 #include -#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 #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 #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 #include -#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 ') @@ -558,7 +559,7 @@ std::ostream& operator<<(std::ostream& out, const ${{self.c_ident}}& obj); #include #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(''' -- cgit v1.2.3