Revert "cpu: fix branching when thread is suspended in MinorCPU"

This reverts commit e437086341.
The commit was part of a patchset which broke MinorCPU regressions
(switcheroo)

Change-Id: Ib8482034c2402008ccfa552325a8eb31e731b619
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18602
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2019-03-01 13:56:15 +00:00
parent c1bd27907d
commit 9852c5d96b

View File

@@ -248,14 +248,7 @@ Execute::tryToBranch(MinorDynInstPtr inst, Fault fault, BranchData &branch)
pc_before, target);
}
if (thread->status() == ThreadContext::Suspended) {
/* Thread got suspended */
DPRINTF(Branch, "Thread got suspended: branch from 0x%x to 0x%x "
"inst: %s\n",
inst->pc.instAddr(), target.instAddr(), *inst);
reason = BranchData::SuspendThread;
} else if (inst->predictedTaken && !force_branch) {
if (inst->predictedTaken && !force_branch) {
/* Predicted to branch */
if (!must_branch) {
/* No branch was taken, change stream to get us back to the
@@ -1068,7 +1061,8 @@ Execute::commit(ThreadID thread_id, bool only_commit_microops, bool discard,
!branch.isStreamChange() && /* No real branch */
fault == NoFault && /* No faults */
completed_inst && /* Still finding instructions to execute */
num_insts_committed != commitLimit /* Not reached commit limit */
num_insts_committed != commitLimit && /* Not reached commit limit */
cpu.getContext(thread_id)->status() != ThreadContext::Suspended
)
{
if (only_commit_microops) {