]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86 emulator: Specialize decoding for insns with 66/f2/f3 prefixes
authorAvi Kivity <avi@redhat.com>
Tue, 29 Mar 2011 09:34:38 +0000 (11:34 +0200)
committerAvi Kivity <avi@redhat.com>
Wed, 11 May 2011 11:56:59 +0000 (07:56 -0400)
commitc6013943f6cf4a317657e0c28af4d099c117b630
tree928983175d0e149e9957884524218ffc257a98ed
parentdd0bef36ef87769d833c89c9e955980f8fc4a98c
KVM: x86 emulator: Specialize decoding for insns with 66/f2/f3 prefixes

Most SIMD instructions use the 66/f2/f3 prefixes to distinguish between
different variants of the same instruction.  Usually the encoding is quite
regular, but in some cases (including non-SIMD instructions) the prefixes
generate very different instructions.  Examples include XCHG/PAUSE,
MOVQ/MOVDQA/MOVDQU, and MOVBE/CRC32.

Allow the emulator to handle these special cases by splitting such opcodes
into groups, with different decode flags and execution functions for different
prefixes.

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