kvmvapic: patch_instruction fix
commit076893d3d06fe8642b8912591b9222bcb81f85aa
authorPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Thu, 30 Oct 2014 09:31:00 +0000 (30 12:31 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 31 Oct 2014 10:29:02 +0000 (31 11:29 +0100)
tree80bbbd5cf08f8b9644fdec4faf1ca742501e5ccb
parent522abf69995ca20680ab048cad003796be36ef77
kvmvapic: patch_instruction fix

When QEMU works in icount mode cpu_restore_state function performs two actions:
restoring the program counter and updating icount to the correct value.
kvmvapic's patch_instruction function is called by cpu_report_tpr_access
function which also invokes cpu_restore_state. It results to calling
cpu_restore_state twice - in cpu_report_tpr_access and in patch_instruction.
When icount is disabled second call is safe. But when icount is enabled,
cpu_restore_state modifies instructions counter twice, which leads to incorrect
behavior. This patch removes useless cpu_restore_state call from kvmvapic.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
hw/i386/kvmvapic.c