aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_internal.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-07-26 16:51:51 +0100
committerJan Beulich <jbeulich@suse.com>2012-07-26 16:51:51 +0100
commit09dc3b63b3edd989e7de6f7aaa2fa24f6996aab2 (patch)
tree0a989e3f90ad26272a2ee40a5c5fb190c09d3ac7 /tools/libxl/libxl_internal.h
parentd82a726d153bdd9de98cdab27ed2f4e1d8eb47a1 (diff)
downloadxen-09dc3b63b3edd989e7de6f7aaa2fa24f6996aab2.tar.gz
xen-09dc3b63b3edd989e7de6f7aaa2fa24f6996aab2.tar.bz2
xen-09dc3b63b3edd989e7de6f7aaa2fa24f6996aab2.zip
x86/hvm: don't leave emulator in inconsistent state
The fact that handle_mmio(), and thus the instruction emulator, is being run through twice for emulations that require involvement of the device model, allows for the second run to see a different guest state than the first one. Since only the MMIO-specific emulation routines update the vCPU's io_state, if they get invoked on the second pass, internal state (and particularly this variable) can be left in a state making successful emulation of a subsequent MMIO operation impossible. Consequently, whenever the emulator invocation returns without requesting a retry of the guest instruction, reset io_state. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxl_internal.h')
0 files changed, 0 insertions, 0 deletions