cpu: fix how branching is handled when a thread is suspended in MinorCPU
authorTuan Ta <qtt2@cornell.edu>
Mon, 2 Apr 2018 20:22:16 +0000 (16:22 -0400)
committerTuan Ta <qtt2@cornell.edu>
Fri, 8 Feb 2019 15:25:30 +0000 (15:25 +0000)
commite437086341712f1435db655b3527ea29b3311f4e
tree120fba453d75521ce3535ef93229fd8c6b1409ad
parent6a6668bbc4b038b98eb3ee64ffb034719316afd9
cpu: fix how branching is handled when a thread is suspended in MinorCPU

When a thread is suspended, all instructions after the suspension need
to be discarded since the thread will take a different execution stream
when it wakes up.

To do that, in MinorCPU, whenever a thread gets suspended, we change the
current execution stream by updating the current branch with
BranchData::SuspendThread reason.

Change-Id: I7cdcda22c1cf6e8ac8db8800b7d9ec052433fdf3
Reviewed-on: https://gem5-review.googlesource.com/c/9626
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Giacomo Gabrielli <giacomo.gabrielli@gmail.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/cpu/minor/execute.cc