KVM: Fix vmload and friends misinterpreted as lidt
authorAvi Kivity <avi@redhat.com>
Tue, 23 Dec 2008 17:46:01 +0000 (19:46 +0200)
committerAvi Kivity <avi@redhat.com>
Tue, 24 Mar 2009 09:02:51 +0000 (11:02 +0200)
commit2b3d2a206037b1471de6a6dc51427af034cfdb47
treee90379964dff6ff8d578b7f8401dfb3b05ff6111
parente2078318042569682d0496cfd7bd962a766e82b1
KVM: Fix vmload and friends misinterpreted as lidt

The AMD SVM instruction family all overload the 0f 01 /3 opcode, further
multiplexing on the three r/m bits.  But the code decided that anything that
isn't a vmmcall must be an lidt (which shares the 0f 01 /3 opcode, for the
case that mod = 3).

Fix by aborting emulation if this isn't a vmmcall.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86_emulate.c