From: Emilio Castillo Date: Wed, 26 Aug 2015 19:20:30 +0000 (-0500) Subject: cpu: quiesce pseudoinsts: Always do full quiesce X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88b1fd82a6207c38845c3503ab3037ed40225d80;p=gem5.git 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 --- 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();