From: Brad Beckmann Date: Mon, 22 Mar 2010 04:22:20 +0000 (-0700) Subject: ruby: Fix MOESI_hammer cache profiler calls for L2 misses X-Git-Tag: stable_2012_02_02~1470 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c48a7353362a1978ef83652a6679613d9c11bdc6;p=gem5.git ruby: Fix MOESI_hammer cache profiler calls for L2 misses --- diff --git a/src/mem/protocol/MOESI_hammer-cache.sm b/src/mem/protocol/MOESI_hammer-cache.sm index 4bdfcb23d..10a14e2e7 100644 --- a/src/mem/protocol/MOESI_hammer-cache.sm +++ b/src/mem/protocol/MOESI_hammer-cache.sm @@ -683,7 +683,8 @@ machine(L1Cache, "AMD Hammer-like protocol") L1IcacheMemory.profileMiss(in_msg); } else if (L1DcacheMemory.isTagPresent(address)) { L1DcacheMemory.profileMiss(in_msg); - } else { + } + if (L2cacheMemory.isTagPresent(address) == false) { L2cacheMemory.profileMiss(in_msg); } } @@ -724,12 +725,14 @@ machine(L1Cache, "AMD Hammer-like protocol") transition({I, S, O, M, MM}, L2_to_L1D) { ii_allocateL1DCacheBlock; tt_copyFromL2toL1; // Not really needed for state I + uu_profileMiss; rr_deallocateL2CacheBlock; } transition({I, S, O, M, MM}, L2_to_L1I) { jj_allocateL1ICacheBlock; tt_copyFromL2toL1; // Not really needed for state I + uu_profileMiss; rr_deallocateL2CacheBlock; }