diff options
author | Lluc Alvarez <lluc.alvarez@bsc.es> | 2013-10-30 10:35:06 -0500 |
---|---|---|
committer | Lluc Alvarez <lluc.alvarez@bsc.es> | 2013-10-30 10:35:06 -0500 |
commit | 2b9b245fb38c9f645c22b9d4d8180aab16aeb69a (patch) | |
tree | 208d6c5fe9191884cd09681c91241e807ab1438a /src | |
parent | 80fa6a0edcf845974e632fdb40f06dc0bb1aaa31 (diff) | |
download | gem5-2b9b245fb38c9f645c22b9d4d8180aab16aeb69a.tar.xz |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/protocol/MOESI_CMP_directory-L2cache.sm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm index de776192d..232f359ad 100644 --- a/src/mem/protocol/MOESI_CMP_directory-L2cache.sm +++ b/src/mem/protocol/MOESI_CMP_directory-L2cache.sm @@ -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; |