From 88b1fd82a6207c38845c3503ab3037ed40225d80 Mon Sep 17 00:00:00 2001 From: Emilio Castillo Date: Wed, 26 Aug 2015 14:20:30 -0500 Subject: [PATCH] cpu: quiesce pseudoinsts: Always do full quiesce The O3CPU blocks the Fetch when it sees a quiesce instruction (IsQuiesce flag). When the inst. is executed, a quiesce event is created to reactivate the context and unblock the Fetch. If the quiesceNs or quiesceCycles are called with a value of 0, the QuiesceEvent will not be created and the Fetch stage will remain blocked. Committed by Joel Hestness --- src/sim/pseudo_inst.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sim/pseudo_inst.cc b/src/sim/pseudo_inst.cc index 80737003c..d4e2085df 100644 --- a/src/sim/pseudo_inst.cc +++ b/src/sim/pseudo_inst.cc @@ -280,7 +280,7 @@ quiesceNs(ThreadContext *tc, uint64_t ns) BaseCPU *cpu = tc->getCpuPtr(); - if (!cpu->params()->do_quiesce || ns == 0) + if (!cpu->params()->do_quiesce) return; EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); @@ -306,7 +306,7 @@ quiesceCycles(ThreadContext *tc, uint64_t cycles) BaseCPU *cpu = tc->getCpuPtr(); - if (!cpu->params()->do_quiesce || cycles == 0) + if (!cpu->params()->do_quiesce) return; EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); -- 2.30.2