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
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev