kvmvapic: Fix TB invalidation after instruction patching
commit5c61afec86e5b2597b19b4657edc404fd76e6eb9
authorJan Kiszka <jan.kiszka@siemens.com>
Sun, 4 Nov 2012 08:16:55 +0000 (4 09:16 +0100)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 10 Nov 2012 12:25:17 +0000 (10 12:25 +0000)
tree54b9b039f1c05bef23dfe9cf5a052359e5f16b56
parentb8c6a5d9d0ab426c1626cd6c228b09b9529dba31
kvmvapic: Fix TB invalidation after instruction patching

Since 0b57e287, cpu_memory_rw_debug already triggers a TB invalidation.
As it doesn't (and cannot) set is_cpu_write_access=1 but "consumes" the
currently executed TB, the tb_invalidate_phys_page_range call from
patch_instruction didn't work anymore.

Fix this by open-coding the required bits to restore the CPU state from
the current TB position before patching and resume execution on the
patched instruction afterward.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Tested-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/kvmvapic.c