summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/cache_unit.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2010-01-31 18:29:18 -0500
committerKorey Sewell <ksewell@umich.edu>2010-01-31 18:29:18 -0500
commit82c5a754e684af6522f339ab30d2c661ee9c220c (patch)
treec70b9e14c48dd30ef2de8927eca338a56218e951 /src/cpu/inorder/resources/cache_unit.hh
parent349d86c0e4afb02962c9899bd5a3887ff2c55626 (diff)
downloadgem5-82c5a754e684af6522f339ab30d2c661ee9c220c.tar.xz
inorder: recvRetry bug fix
- on certain retry requests you can get an assertion failure - fix by allowing the request to literally "Retry" itself if it wasnt successful before, and then block any requests through cache port while waiting for the cache to be made available for access
Diffstat (limited to 'src/cpu/inorder/resources/cache_unit.hh')
-rw-r--r--src/cpu/inorder/resources/cache_unit.hh16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/cpu/inorder/resources/cache_unit.hh b/src/cpu/inorder/resources/cache_unit.hh
index 26f6859ed..4162102c7 100644
--- a/src/cpu/inorder/resources/cache_unit.hh
+++ b/src/cpu/inorder/resources/cache_unit.hh
@@ -119,12 +119,6 @@ class CacheUnit : public Resource
virtual void recvRetry();
};
- enum CachePortStatus {
- cacheWaitResponse,
- cacheWaitRetry,
- cacheAccessComplete
- };
-
void init();
virtual ResourceRequest* getRequest(DynInstPtr _inst, int stage_num,
@@ -188,15 +182,7 @@ class CacheUnit : public Resource
/** Cache interface. */
CachePort *cachePort;
- CachePortStatus cacheStatus;
-
- CacheReqPtr retryReq;
-
- PacketPtr retryPkt;
-
- int retrySlot;
-
- bool cacheBlocked;
+ bool cachePortBlocked;
std::vector<Addr> addrList[ThePipeline::MaxThreads];