sim: Fix early termination in multi-core simulation under SE mode.
authorTao Zhang <tao.zhang.0924@gmail.com>
Tue, 8 Jan 2013 13:54:11 +0000 (08:54 -0500)
committerTao Zhang <tao.zhang.0924@gmail.com>
Tue, 8 Jan 2013 13:54:11 +0000 (08:54 -0500)
commit858d99b7cc6515aa6a0e75859aa7b5f460b40bb7
tree09b76b831047c8565161f89c82cc14c63df79c81
parent4a752b1655c531a2fd7d98dbe24239fed5261291
sim: Fix  early termination in multi-core simulation under SE mode.

When "-I" (maximum instruction number) and "-F" (fastforward instruction
number) are applied together, gem5 immediately exits after the cpu switching.
The reason is that multiple exit events may be generated in the same cycle by
Atomic CPU and inserted to mainEventQueue. However, mainEventQueue can only
serve one exit event in one cycle. Therefore, the rest exit events are left in
mainEventQueue without being descheduled or deleted, which causes gem5 exits
immediately after the system resumes by cpu switching.
src/sim/simulate.cc