diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2012-04-06 13:47:07 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2012-04-06 13:47:07 -0700 |
commit | 5838ed7290461a253587d854226758b84afbb54d (patch) | |
tree | 1d7abb0905e17d2efdaa15f87a200bb8e6918b82 /src/mem/protocol/MOESI_hammer-dir.sm | |
parent | f12961bf25f3280576e3ee2e5039eabf92e8204b (diff) | |
download | gem5-5838ed7290461a253587d854226758b84afbb54d.tar.xz |
MOESI_hammer: tbe allocation and dependent wakeup fixes
Diffstat (limited to 'src/mem/protocol/MOESI_hammer-dir.sm')
-rw-r--r-- | src/mem/protocol/MOESI_hammer-dir.sm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/protocol/MOESI_hammer-dir.sm b/src/mem/protocol/MOESI_hammer-dir.sm index 24d64349e..1fc946386 100644 --- a/src/mem/protocol/MOESI_hammer-dir.sm +++ b/src/mem/protocol/MOESI_hammer-dir.sm @@ -542,6 +542,7 @@ machine(Directory, "AMD Hammer-like protocol") } action(v_allocateTBE, "v", desc="Allocate TBE") { + check_allocate(TBEs); peek(requestQueue_in, RequestMsg) { TBEs.allocate(address); set_tbe(TBEs[address]); @@ -551,6 +552,7 @@ machine(Directory, "AMD Hammer-like protocol") } action(vd_allocateDmaRequestInTBE, "vd", desc="Record Data in TBE") { + check_allocate(TBEs); peek(dmaRequestQueue_in, DMARequestMsg) { TBEs.allocate(address); set_tbe(TBEs[address]); @@ -1258,6 +1260,8 @@ machine(Directory, "AMD Hammer-like protocol") peek(unblockNetwork_in, ResponseMsg) { assert(in_msg.Dirty == false); assert(in_msg.MessageSize == MessageSizeType:Writeback_Control); + DPRINTF(RubySlicc, "%s\n", in_msg.DataBlk); + DPRINTF(RubySlicc, "%s\n", getDirectoryEntry(address).DataBlk); // NOTE: The following check would not be valid in a real // implementation. We include the data in the "dataless" |