>>> On 10.07.15 at 14:00, <andrew.coop...@citrix.com> wrote: > On 09/07/15 20:32, Zhi Wang wrote: >> We found that MOVD instruction are used by some windows driver >> during developing XenGT, and also we found this one: >> >> (XEN) MMIO emulation failed: d7v1 64bit @ 0010:fffff8000294e273 -> 66 >> 0f e7 00 48 83 c0 10 45 3 >> b cb 73 f0 45 85 c9 > > Disassembly: > 0: 66 0f e7 00 movntdq %xmm0,(%rax) > 4: 48 83 c0 10 add $0x10,%rax > 8: 45 3b cb cmp %r11d,%r9d > b: 73 f0 jae 0xfffffffffffffffd > d: 45 85 c9 test %r9d,%r9d > > The x86 instruction emulator does appear to have a decode for this > instruction. This failure suggests that the implementation is buggy. > > To start with diagnosing, add a test case to > tools/tests/x86_emulator/test_x86_emulator.c
Considering that we already test MOVDQU, the emulation of which shares code with MOVNTDQ (which only differs in aspects not of interest to the emulator) I'm not sure this will turn up anything interesting. Perhaps an even easier step would be to simply run the emulator test on the machine where the issue is seen? We're playing some prefix byte tricks there... Otoh failure to execute the constructed instruction would bring down the hypervisor. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel