diff options
author | Gleb Natapov <gleb@redhat.com> | 2010-03-18 15:20:26 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-05-17 12:16:29 +0300 |
commit | 5cd21917da245fbe98bd443de2c7f519b3df6814 (patch) | |
tree | 0bb2d4ee197011a92002a5cc32d19758a1e87ed0 /arch/x86/include | |
parent | cb404fe0898779ec5fe5e06e90aaddcf40aefad8 (diff) | |
download | blackbird-op-linux-5cd21917da245fbe98bd443de2c7f519b3df6814.tar.gz blackbird-op-linux-5cd21917da245fbe98bd443de2c7f519b3df6814.zip |
KVM: x86 emulator: restart string instruction without going back to a guest.
Currently when string instruction is only partially complete we go back
to a guest mode, guest tries to reexecute instruction and exits again
and at this point emulation continues. Avoid all of this by restarting
instruction without going back to a guest mode, but return to a guest
mode each 1024 iterations to allow interrupt injection. Pending
exception causes immediate guest entry too.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_emulate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h index 679245c9a55f..7fda16f89cc8 100644 --- a/arch/x86/include/asm/kvm_emulate.h +++ b/arch/x86/include/asm/kvm_emulate.h @@ -193,6 +193,7 @@ struct x86_emulate_ctxt { /* interruptibility state, as a result of execution of STI or MOV SS */ int interruptibility; + bool restart; /* restart string instruction after writeback */ /* decode cache */ struct decode_cache decode; }; |