diff options
Diffstat (limited to 'src/mem/protocol/MOESI_CMP_token-L1cache.sm')
-rw-r--r-- | src/mem/protocol/MOESI_CMP_token-L1cache.sm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mem/protocol/MOESI_CMP_token-L1cache.sm b/src/mem/protocol/MOESI_CMP_token-L1cache.sm index 860744384..ebfa970ff 100644 --- a/src/mem/protocol/MOESI_CMP_token-L1cache.sm +++ b/src/mem/protocol/MOESI_CMP_token-L1cache.sm @@ -240,8 +240,15 @@ machine(L1Cache, "Token protocol") return L1Icache_entry; } - DataBlock getDataBlock(Address addr), return_by_ref="yes" { - return getCacheEntry(addr).DataBlk; + void functionalRead(Address addr, Packet *pkt) { + testAndRead(addr, getCacheEntry(addr).DataBlk, pkt); + } + + int functionalWrite(Address addr, Packet *pkt) { + int num_functional_writes := 0; + num_functional_writes := num_functional_writes + + testAndWrite(addr, getCacheEntry(addr).DataBlk, pkt); + return num_functional_writes; } Entry getL1DCacheEntry(Address addr), return_by_pointer="yes" { |