summaryrefslogtreecommitdiff
path: root/src/cpu/o3/iew_impl.hh
diff options
context:
space:
mode:
authorMitch Hayenga <mitch.hayenga@arm.com>2014-10-29 23:18:26 -0500
committerMitch Hayenga <mitch.hayenga@arm.com>2014-10-29 23:18:26 -0500
commit6847bbf7cefcebfeed6ec29fa139efcb3ce20be4 (patch)
tree1c27673aef935e5c52f24b8aa171aa87541d918d /src/cpu/o3/iew_impl.hh
parentb31d9e93e2744b044d7ccc2d9113bc367038e14f (diff)
downloadgem5-6847bbf7cefcebfeed6ec29fa139efcb3ce20be4.tar.xz
cpu: Add drain check functionality to IEW
IEW did not check the instQueue and memDepUnit to ensure they were drained. This caused issues when drainSanityCheck() did check those structures after asserting IEW was drained.
Diffstat (limited to 'src/cpu/o3/iew_impl.hh')
-rw-r--r--src/cpu/o3/iew_impl.hh2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cpu/o3/iew_impl.hh b/src/cpu/o3/iew_impl.hh
index 448be3a74..bf44fb9f2 100644
--- a/src/cpu/o3/iew_impl.hh
+++ b/src/cpu/o3/iew_impl.hh
@@ -381,7 +381,7 @@ template <class Impl>
bool
DefaultIEW<Impl>::isDrained() const
{
- bool drained(ldstQueue.isDrained());
+ bool drained = ldstQueue.isDrained() && instQueue.isDrained();
for (ThreadID tid = 0; tid < numThreads; tid++) {
if (!insts[tid].empty()) {