ruby: set SenderMachine in messages of MOESI_CMP_directory
This patch adds missing initializations of the SenderMachine field of out_msg's when thery are created in the L2 cache controller of the MOESI_CMP_directory coherence protocol. When an out_msg is created and this field is left uninitialized, it is set to the default value MachineType_NUM. This causes a panic in the MachineType_to_string function when gem5 is executed with the Ruby debug flag on and it tries to print the message. Committed by: Nilay Vaish <nilay@cs.wisc.edu>
This commit is contained in:
@@ -747,6 +747,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.addNetDest(tbe.L1_GetS_IDs);
|
||||
out_msg.DataBlk := tbe.DataBlk;
|
||||
// out_msg.Dirty := tbe.Dirty;
|
||||
@@ -811,6 +812,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.add(in_msg.Requestor);
|
||||
out_msg.DataBlk := tbe.DataBlk;
|
||||
// out_msg.Dirty := tbe.Dirty;
|
||||
@@ -830,6 +832,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.addNetDest(tbe.Fwd_GetS_IDs);
|
||||
out_msg.DataBlk := tbe.DataBlk;
|
||||
// out_msg.Dirty := tbe.Dirty;
|
||||
@@ -866,6 +869,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.add(in_msg.Requestor);
|
||||
out_msg.DataBlk := cache_entry.DataBlk;
|
||||
// out_msg.Dirty := cache_entry.Dirty;
|
||||
@@ -925,6 +929,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.add(in_msg.Requestor);
|
||||
out_msg.DataBlk := cache_entry.DataBlk;
|
||||
// out_msg.Dirty := cache_entry.Dirty;
|
||||
@@ -944,6 +949,7 @@ machine(L2Cache, "Token protocol")
|
||||
out_msg.Addr := address;
|
||||
out_msg.Type := CoherenceResponseType:DATA_EXCLUSIVE;
|
||||
out_msg.Sender := machineID;
|
||||
out_msg.SenderMachine := MachineType:L2Cache;
|
||||
out_msg.Destination.add(in_msg.Requestor);
|
||||
out_msg.DataBlk := cache_entry.DataBlk;
|
||||
out_msg.Dirty := cache_entry.Dirty;
|
||||
|
||||
Reference in New Issue
Block a user