2c2
< * Copyright (c) 2012 ARM Limited
---
> * Copyright (c) 2012, 2015 ARM Limited
536,537c536,543
< EventQueue *q = curEventQueue();
< Tick ticksToExecute(q->nextTick() - curTick());
---
> const uint64_t nextInstEvent(
> !comInstEventQueue[0]->empty() ?
> comInstEventQueue[0]->nextTick() : UINT64_MAX);
> // Enter into KVM and complete pending IO instructions if we
> // have an instruction event pending.
> const Tick ticksToExecute(
> nextInstEvent > ctrInsts ?
> curEventQueue()->nextTick() - curTick() : 0);
543,544c549,552
< // PerfEvent.
< setupInstStop();
---
> // PerfEvent if we are going to execute more than just an IO
> // completion.
> if (ticksToExecute > 0)
> setupInstStop();