KVM: x86 emulator: emulate MOVNTDQ
authorAlex Williamson <alex.williamson@redhat.com>
Fri, 11 Jul 2014 17:56:31 +0000 (11:56 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 29 Aug 2014 12:57:59 +0000 (14:57 +0200)
commit0a37027e83f867793af0ccb9176a6b383dd0b7c8
treea96df21c9a9c4d7fb174364951e4e485a033fd96
parent0f54a321302dfbdbd707ba989b2f468e58b9a363
KVM: x86 emulator: emulate MOVNTDQ

Windows 8.1 guest with NVIDIA driver and GPU fails to boot with an
emulation failure.  The KVM spew suggests the fault is with lack of
movntdq emulation (courtesy of Paolo):

Code=02 00 00 b8 08 00 00 00 f3 0f 6f 44 0a f0 f3 0f 6f 4c 0a e0 <66> 0f e7 41 f0 66 0f e7 49 e0 48 83 e9 40 f3 0f 6f 44 0a 10 f3 0f 6f 0c 0a 66 0f e7 41 10

$ as -o a.out
        .section .text
        .byte 0x66, 0x0f, 0xe7, 0x41, 0xf0
        .byte 0x66, 0x0f, 0xe7, 0x49, 0xe0
$ objdump -d a.out
    0:  66 0f e7 41 f0          movntdq %xmm0,-0x10(%rcx)
    5:  66 0f e7 49 e0          movntdq %xmm1,-0x20(%rcx)

Add the necessary emulation.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c