changeset 19a654839a04 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=19a654839a04 description: MOESI_hammer: minor fixes to full-bit dir
diffstat: src/mem/protocol/MOESI_hammer-dir.sm | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diffs (39 lines): diff -r 5f69f1b0039e -r 19a654839a04 src/mem/protocol/MOESI_hammer-dir.sm --- a/src/mem/protocol/MOESI_hammer-dir.sm Sat Mar 19 14:17:48 2011 -0700 +++ b/src/mem/protocol/MOESI_hammer-dir.sm Sat Mar 19 14:17:48 2011 -0700 @@ -186,7 +186,7 @@ } PfEntry getProbeFilterEntry(Address addr), return_by_pointer="yes" { - if(probe_filter_enabled) { + if (probe_filter_enabled || full_bit_dir_enabled) { PfEntry pfEntry := static_cast(PfEntry, "pointer", probeFilter.lookup(addr)); return pfEntry; } @@ -200,8 +200,6 @@ if (probe_filter_enabled || full_bit_dir_enabled) { if (is_valid(pf_entry)) { assert(pf_entry.PfState == getDirectoryEntry(addr).DirectoryState); - } else { - assert(getDirectoryEntry(addr).DirectoryState == State:E); } } return getDirectoryEntry(addr).DirectoryState; @@ -219,6 +217,9 @@ if (state == State:NX || state == State:NO || state == State:S || state == State:O) { assert(is_valid(pf_entry)); } + if (state == State:E) { + assert(is_valid(pf_entry) == false); + } } if (state == State:E || state == State:NX || state == State:NO || state == State:S || state == State:O) { @@ -469,6 +470,7 @@ peek(requestQueue_in, RequestMsg) { set_cache_entry(probeFilter.allocate(address, new PfEntry)); cache_entry.Owner := in_msg.Requestor; + cache_entry.Sharers.setSize(machineCount(MachineType:L1Cache)); } } } _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev