ruby: init MessageSizeType of SequencerMsg to Request_Control
authorSooraj Puthoor <puthoorsooraj@gmail.com>
Sat, 19 Nov 2016 17:39:04 +0000 (12:39 -0500)
committerSooraj Puthoor <puthoorsooraj@gmail.com>
Sat, 19 Nov 2016 17:39:04 +0000 (12:39 -0500)
SequencerMsg is autogenerated by slicc scripts and the MessageSizeType is
initialized to the max enume value by default. The DMASequencer pushes this
message to the mandatory queue and since the MessageSizeType is unitialized,
string_to_MessageSizeType() function used by traces to print the message fails
with a panic. This patch avoids this problem by initializing MessageSizeType
of SequencerMsg to Request_Control.

src/mem/protocol/RubySlicc_Exports.sm

index 2cfb77d3ab67ff94adfacab9ec4bfabeb27de488..1beb3f2e0e253d043ad7d226784121014c6f9b55 100644 (file)
@@ -287,7 +287,7 @@ structure(SequencerMsg, desc="...", interface="Message") {
   DataBlock DataBlk,         desc="Data";
   int Len,                   desc="size in bytes of access";
   PrefetchBit Prefetch,      desc="Is this a prefetch request";
-  MessageSizeType MessageSize;
+  MessageSizeType MessageSize, default="MessageSizeType_Request_Control";
 
   bool functionalRead(Packet *pkt) {
     return testAndRead(PhysicalAddress, DataBlk, pkt);