summaryrefslogtreecommitdiff
path: root/src/cpu/kvm/base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/kvm/base.cc')
-rw-r--r--src/cpu/kvm/base.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cpu/kvm/base.cc b/src/cpu/kvm/base.cc
index 5e3ec279a..d43288f4f 100644
--- a/src/cpu/kvm/base.cc
+++ b/src/cpu/kvm/base.cc
@@ -540,6 +540,12 @@ BaseKvmCPU::tick()
_status = Running;
}
+ // Service any pending instruction events. The vCPU should
+ // have exited in time for the event using the instruction
+ // counter configured by setupInstStop().
+ comInstEventQueue[0]->serviceEvents(ctrInsts);
+ system->instEventQueue.serviceEvents(system->totalNumInsts);
+
if (tryDrain())
_status = Idle;
} break;
@@ -1179,7 +1185,6 @@ BaseKvmCPU::ioctlRun()
void
BaseKvmCPU::setupInstStop()
{
-
if (comInstEventQueue[0]->empty()) {
setupInstCounter(0);
} else {