From 0dd6f87e63edcafdb2df9b582d768bfca9e78d6a Mon Sep 17 00:00:00 2001
From: Andreas Sandberg <andreas@sandberg.pp.se>
Date: Thu, 3 Oct 2013 11:00:18 +0200
Subject: [PATCH] kvm: Service events in the instruction event queues

This changset adds calls to the service the instruction event queues
that accidentally went missing from commit [0063c7dd18ec]. The
original commit only included the code needed to schedule instruction
stops from KVM and missed the functionality to actually service the
events.
---
 src/cpu/kvm/base.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

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 {
-- 
2.30.2