summaryrefslogtreecommitdiff
path: root/src/cpu/o3
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/o3')
-rwxr-xr-xsrc/cpu/o3/thread_context_impl.hh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cpu/o3/thread_context_impl.hh b/src/cpu/o3/thread_context_impl.hh
index fdaa35134..d9f84fb52 100755
--- a/src/cpu/o3/thread_context_impl.hh
+++ b/src/cpu/o3/thread_context_impl.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2012, 2016 ARM Limited
+ * Copyright (c) 2010-2012, 2016-2017 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
@@ -109,6 +109,11 @@ O3ThreadContext<Impl>::suspend()
if (thread->status() == ThreadContext::Suspended)
return;
+ if (cpu->isDraining()) {
+ DPRINTF(O3CPU, "Ignoring suspend on TC due to pending drain\n");
+ return;
+ }
+
thread->lastActivate = curTick();
thread->lastSuspend = curTick();