diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2007-06-22 09:24:07 -0700 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2007-06-22 09:24:07 -0700 |
commit | bdd5fd20fb19eb52ef812cd284094e5513646e36 (patch) | |
tree | ea6adc5417a2e40a561409db86211e48e59ae3de /src/mem/cache/miss/mshr.hh | |
parent | eff122797b5bc735c6d7c797be691c0fa02032e3 (diff) | |
download | gem5-bdd5fd20fb19eb52ef812cd284094e5513646e36.tar.xz |
Fixes to hitLatency, blocking, buffer allocation.
Single-cpu timing mode seems to work now.
--HG--
extra : convert_revision : 720f6172df18a1c941e5bd0e8fdfbd686c13c7ad
Diffstat (limited to 'src/mem/cache/miss/mshr.hh')
-rw-r--r-- | src/mem/cache/miss/mshr.hh | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/mem/cache/miss/mshr.hh b/src/mem/cache/miss/mshr.hh index 47f6a819b..195438e46 100644 --- a/src/mem/cache/miss/mshr.hh +++ b/src/mem/cache/miss/mshr.hh @@ -164,28 +164,19 @@ public: * Returns the current number of allocated targets. * @return The current number of allocated targets. */ - int getNumTargets() - { - return ntargets; - } + int getNumTargets() { return ntargets; } /** * Returns a pointer to the target list. * @return a pointer to the target list. */ - TargetList* getTargetList() - { - return &targets; - } + TargetList* getTargetList() { return &targets; } /** * Returns a reference to the first target. * @return A pointer to the first target. */ - Target *getTarget() - { - return &targets.front(); - } + Target *getTarget() { return &targets.front(); } /** * Pop first target. @@ -200,9 +191,14 @@ public: * Returns true if there are targets left. * @return true if there are targets */ - bool hasTargets() + bool hasTargets() { return !targets.empty(); } + + bool isSimpleForward() { - return !targets.empty(); + if (getNumTargets() != 1) + return false; + Target *tgt = getTarget(); + return tgt->isCpuSide() && !tgt->pkt->needsResponse(); } /** |