OSDN Git Service

icount: update instruction counter on apic patching
authorPavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Tue, 24 Jan 2017 07:17:02 +0000 (10:17 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 27 Jan 2017 17:07:30 +0000 (18:07 +0100)
commit8094532b476754d751cd2a46958862fbaccadc24
treec2db29b7d89ce82168438c8cc828a5d002ed3111
parent29ba0cdc1fd1300f910d150c03a0f74236083bf7
icount: update instruction counter on apic patching

kvmvapic patches the code when some instructions are executed.
E.g. mov 0xff, 0xfffe0080 is interpreted as push 0xff/call ...
This patching is also followed by some side effects (changing apic
and guest memory state). Therefore deterministic execution should take
this operation into account. This patch decreases icount when original
mov instruction is trying to execute. Therefore patching becomes
deterministic and can be replayed correctly.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-Id: <20170124071702.4572.17294.stgit@PASHA-ISP>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/i386/kvmvapic.c