summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2013-04-11 12:10:51 +0300
committerGleb Natapov <gleb@redhat.com>2013-04-14 09:44:17 +0300
commit991eebf9f8e523e7ff1e4d31ac80641582b2e57a (patch)
tree3dc9145262807fb4ed5b6450a6ef8c88c680eccb /arch/x86/include
parent0b789eee2c0204da83278f181428560faf6efefb (diff)
downloadop-kernel-dev-991eebf9f8e523e7ff1e4d31ac80641582b2e57a.zip
op-kernel-dev-991eebf9f8e523e7ff1e4d31ac80641582b2e57a.tar.gz
KVM: VMX: do not try to reexecute failed instruction while emulating invalid guest state
During invalid guest state emulation vcpu cannot enter guest mode to try to reexecute instruction that emulator failed to emulate, so emulation will happen again and again. Prevent that by telling the emulator that instruction reexecution should not be attempted. Signed-off-by: Gleb Natapov <gleb@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/kvm_host.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index b2c7263..82f1dc6 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -795,6 +795,7 @@ enum emulation_result {
#define EMULTYPE_TRAP_UD (1 << 1)
#define EMULTYPE_SKIP (1 << 2)
#define EMULTYPE_RETRY (1 << 3)
+#define EMULTYPE_NO_REEXECUTE (1 << 4)
int x86_emulate_instruction(struct kvm_vcpu *vcpu, unsigned long cr2,
int emulation_type, void *insn, int insn_len);
OpenPOWER on IntegriCloud