changeset 287285860dd6 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=287285860dd6
description:
ruby: drop NetworkMessage class
This patch drops the NetworkMessage class. The relevant data members
and functions
have been moved to the Message class, which was the parent of
NetworkMessage.
diffstat:
src/mem/protocol/MESI_Two_Level-msg.sm | 4 +-
src/mem/protocol/MI_example-msg.sm | 8 +-
src/mem/protocol/MOESI_CMP_directory-msg.sm | 4 +-
src/mem/protocol/MOESI_CMP_token-msg.sm | 10 +-
src/mem/protocol/MOESI_hammer-msg.sm | 8 +-
src/mem/protocol/Network_test-msg.sm | 2 +-
src/mem/protocol/RubySlicc_Exports.sm | 1 +
src/mem/ruby/SConscript | 1 -
src/mem/ruby/common/NetDest.hh | 2 +-
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc | 13 +-
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh | 1 -
src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc | 6 +-
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc | 15 +-
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh | 1 -
src/mem/ruby/network/garnet/flexible-pipeline/Router.cc | 7 +-
src/mem/ruby/network/simple/PerfectSwitch.cc | 12 +-
src/mem/ruby/network/simple/Throttle.cc | 9 +-
src/mem/ruby/slicc_interface/Message.hh | 24 ++-
src/mem/ruby/slicc_interface/NetworkMessage.hh | 102
----------
src/mem/ruby/structures/RubyMemoryControl.cc | 2 +-
src/mem/slicc/ast/AssignStatementAST.py | 9 +-
src/mem/slicc/symbols/Type.py | 8 +-
22 files changed, 78 insertions(+), 171 deletions(-)
diffs (truncated from 697 to 300 lines):
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/MESI_Two_Level-msg.sm
--- a/src/mem/protocol/MESI_Two_Level-msg.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/MESI_Two_Level-msg.sm Sat Jul 04 10:43:46 2015 -0500
@@ -57,7 +57,7 @@
}
// RequestMsg
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
RubyAccessMode AccessMode, desc="user/supervisor access type";
@@ -86,7 +86,7 @@
}
// ResponseMsg
-structure(ResponseMsg, desc="...", interface="NetworkMessage") {
+structure(ResponseMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
MachineID Sender, desc="What component sent the data";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/MI_example-msg.sm
--- a/src/mem/protocol/MI_example-msg.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/MI_example-msg.sm Sat Jul 04 10:43:46 2015 -0500
@@ -50,7 +50,7 @@
}
// RequestMsg (and also forwarded requests)
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
MachineID Requestor, desc="Node who initiated the request";
@@ -74,7 +74,7 @@
}
// ResponseMsg (and also unblock requests)
-structure(ResponseMsg, desc="...", interface="NetworkMessage") {
+structure(ResponseMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
MachineID Sender, desc="Node who sent the data";
@@ -108,7 +108,7 @@
NULL, desc="Invalid";
}
-structure(DMARequestMsg, desc="...", interface="NetworkMessage") {
+structure(DMARequestMsg, desc="...", interface="Message") {
DMARequestType Type, desc="Request type (read/write)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
@@ -127,7 +127,7 @@
}
}
-structure(DMAResponseMsg, desc="...", interface="NetworkMessage") {
+structure(DMAResponseMsg, desc="...", interface="Message") {
DMAResponseType Type, desc="Response type (DATA/ACK)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/MOESI_CMP_directory-msg.sm
--- a/src/mem/protocol/MOESI_CMP_directory-msg.sm Sat Jul 04 10:43:46
2015 -0500
+++ b/src/mem/protocol/MOESI_CMP_directory-msg.sm Sat Jul 04 10:43:46
2015 -0500
@@ -84,7 +84,7 @@
}
// RequestMsg (and also forwarded requests)
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
int Len, desc="Length of Request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
@@ -113,7 +113,7 @@
}
// ResponseMsg (and also unblock requests)
-structure(ResponseMsg, desc="...", interface="NetworkMessage") {
+structure(ResponseMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
MachineID Sender, desc="Node who sent the data";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/MOESI_CMP_token-msg.sm
--- a/src/mem/protocol/MOESI_CMP_token-msg.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/MOESI_CMP_token-msg.sm Sat Jul 04 10:43:46 2015 -0500
@@ -57,7 +57,7 @@
}
// PersistentMsg
-structure(PersistentMsg, desc="...", interface="NetworkMessage") {
+structure(PersistentMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
PersistentRequestType Type, desc="Type of starvation request";
MachineID Requestor, desc="Node who initiated the request";
@@ -78,7 +78,7 @@
}
// RequestMsg
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
MachineID Requestor, desc="Node who initiated the request";
@@ -101,7 +101,7 @@
}
// ResponseMsg
-structure(ResponseMsg, desc="...", interface="NetworkMessage") {
+structure(ResponseMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
MachineID Sender, desc="Node who sent the data";
@@ -134,7 +134,7 @@
NULL, desc="Invalid";
}
-structure(DMARequestMsg, desc="...", interface="NetworkMessage") {
+structure(DMARequestMsg, desc="...", interface="Message") {
DMARequestType Type, desc="Request type (read/write)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
@@ -153,7 +153,7 @@
}
}
-structure(DMAResponseMsg, desc="...", interface="NetworkMessage") {
+structure(DMAResponseMsg, desc="...", interface="Message") {
DMAResponseType Type, desc="Response type (DATA/ACK)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/MOESI_hammer-msg.sm
--- a/src/mem/protocol/MOESI_hammer-msg.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/MOESI_hammer-msg.sm Sat Jul 04 10:43:46 2015 -0500
@@ -86,7 +86,7 @@
}
// RequestMsg (and also forwarded requests)
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
MachineID Requestor, desc="Node who initiated the request";
@@ -113,7 +113,7 @@
}
// ResponseMsg (and also unblock requests)
-structure(ResponseMsg, desc="...", interface="NetworkMessage") {
+structure(ResponseMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceResponseType Type, desc="Type of response (Ack, Data, etc)";
MachineID Sender, desc="Node who sent the data";
@@ -164,7 +164,7 @@
NULL, desc="Invalid";
}
-structure(DMARequestMsg, desc="...", interface="NetworkMessage") {
+structure(DMARequestMsg, desc="...", interface="Message") {
DMARequestType Type, desc="Request type (read/write)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
@@ -183,7 +183,7 @@
}
}
-structure(DMAResponseMsg, desc="...", interface="NetworkMessage") {
+structure(DMAResponseMsg, desc="...", interface="Message") {
DMAResponseType Type, desc="Response type (DATA/ACK)";
Address PhysicalAddress, desc="Physical address for this request";
Address LineAddress, desc="Line address for this request";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/Network_test-msg.sm
--- a/src/mem/protocol/Network_test-msg.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/Network_test-msg.sm Sat Jul 04 10:43:46 2015 -0500
@@ -33,7 +33,7 @@
}
// RequestMsg (and also forwarded requests)
-structure(RequestMsg, desc="...", interface="NetworkMessage") {
+structure(RequestMsg, desc="...", interface="Message") {
Address Addr, desc="Physical address for this request";
CoherenceRequestType Type, desc="Type of request (GetS, GetX, PutX, etc)";
MachineID Requestor, desc="Node who initiated the request";
diff -r 52c793be01e7 -r 287285860dd6 src/mem/protocol/RubySlicc_Exports.sm
--- a/src/mem/protocol/RubySlicc_Exports.sm Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/protocol/RubySlicc_Exports.sm Sat Jul 04 10:43:46 2015 -0500
@@ -219,6 +219,7 @@
DataBlock DataBlk, desc="Data";
int Len, desc="size in bytes of access";
PrefetchBit Prefetch, desc="Is this a prefetch request";
+ MessageSizeType MessageSize;
bool functionalRead(Packet *pkt) {
return testAndRead(PhysicalAddress, DataBlk, pkt);
diff -r 52c793be01e7 -r 287285860dd6 src/mem/ruby/SConscript
--- a/src/mem/ruby/SConscript Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/ruby/SConscript Sat Jul 04 10:43:46 2015 -0500
@@ -111,7 +111,6 @@
MakeInclude('slicc_interface/AbstractEntry.hh')
MakeInclude('slicc_interface/AbstractCacheEntry.hh')
MakeInclude('slicc_interface/Message.hh')
-MakeInclude('slicc_interface/NetworkMessage.hh')
MakeInclude('slicc_interface/RubyRequest.hh')
# External types
diff -r 52c793be01e7 -r 287285860dd6 src/mem/ruby/common/NetDest.hh
--- a/src/mem/ruby/common/NetDest.hh Sat Jul 04 10:43:46 2015 -0500
+++ b/src/mem/ruby/common/NetDest.hh Sat Jul 04 10:43:46 2015 -0500
@@ -26,7 +26,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// NetDest specifies the network destination of a NetworkMessage
+// NetDest specifies the network destination of a Message
// This is backward compatible with the Set class that was previously
// used to specify network destinations.
// NetDest supports both node networks and component networks
diff -r 52c793be01e7 -r 287285860dd6
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc Sat Jul
04 10:43:46 2015 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc Sat Jul
04 10:43:46 2015 -0500
@@ -37,7 +37,7 @@
#include "mem/ruby/network/MessageBuffer.hh"
#include "mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh"
#include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh"
-#include "mem/ruby/slicc_interface/NetworkMessage.hh"
+#include "mem/ruby/slicc_interface/Message.hh"
using namespace std;
using m5::stl_helpers::deletePointers;
@@ -129,8 +129,8 @@
bool
NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet)
{
- NetworkMessage *net_msg_ptr = safe_cast<NetworkMessage *>(msg_ptr.get());
- NetDest net_msg_dest = net_msg_ptr->getInternalDestination();
+ Message *net_msg_ptr = msg_ptr.get();
+ NetDest net_msg_dest = net_msg_ptr->getDestination();
// gets all the destinations associated with this message.
vector<NodeID> dest_nodes = net_msg_dest.getAllDest();
@@ -152,8 +152,7 @@
MsgPtr new_msg_ptr = msg_ptr->clone();
NodeID destID = dest_nodes[ctr];
- NetworkMessage *new_net_msg_ptr =
- safe_cast<NetworkMessage *>(new_msg_ptr.get());
+ Message *new_net_msg_ptr = new_msg_ptr.get();
if (dest_nodes.size() > 1) {
NetDest personal_dest;
for (int m = 0; m < (int) MachineType_NUM; m++) {
@@ -163,7 +162,7 @@
personal_dest.clear();
personal_dest.add((MachineID) {(MachineType) m, (destID -
MachineType_base_number((MachineType) m))});
- new_net_msg_ptr->getInternalDestination() = personal_dest;
+ new_net_msg_ptr->getDestination() = personal_dest;
break;
}
}
@@ -171,7 +170,7 @@
// removing the destination from the original message to reflect
// that a message with this particular destination has been
// flitisized and an output vc is acquired
- net_msg_ptr->getInternalDestination().removeNetDest(personal_dest);
+ net_msg_ptr->getDestination().removeNetDest(personal_dest);
}
for (int i = 0; i < num_flits; i++) {
diff -r 52c793be01e7 -r 287285860dd6
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh Sat Jul
04 10:43:46 2015 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh Sat Jul
04 10:43:46 2015 -0500
@@ -43,7 +43,6 @@
#include "mem/ruby/slicc_interface/Message.hh"
#include "params/GarnetNetworkInterface_d.hh"
-class NetworkMessage;
class MessageBuffer;
class flitBuffer_d;
diff -r 52c793be01e7 -r 287285860dd6
src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc Sat Jul
04 10:43:46 2015 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc Sat Jul
04 10:43:46 2015 -0500
@@ -32,7 +32,7 @@
#include "mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh"
#include "mem/ruby/network/garnet/fixed-pipeline/Router_d.hh"
#include "mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.hh"
-#include "mem/ruby/slicc_interface/NetworkMessage.hh"
+#include "mem/ruby/slicc_interface/Message.hh"
RoutingUnit_d::RoutingUnit_d(Router_d *router)
{
@@ -66,8 +66,8 @@
RoutingUnit_d::routeCompute(flit_d *t_flit)
{
MsgPtr msg_ptr = t_flit->get_msg_ptr();
- NetworkMessage* net_msg_ptr = safe_cast<NetworkMessage *>(msg_ptr.get());
- NetDest msg_destination = net_msg_ptr->getInternalDestination();
+ Message *net_msg_ptr = msg_ptr.get();
+ NetDest msg_destination = net_msg_ptr->getDestination();
int output_link = -1;
int min_weight = INFINITE_;
diff -r 52c793be01e7 -r 287285860dd6
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev