From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: SSE instruction emulation issues Date: Fri, 10 Jul 2015 13:00:48 +0100 Message-ID: <559FB3F0.5000108@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Zhi Wang , Fabio Fantoni Cc: Paul Durrant , Jan Beulich , Xen-devel List List-Id: xen-devel@lists.xenproject.org (breaking this thread away from the hijacked emulation cleanup and fixes thread) On 09/07/15 20:32, Zhi Wang wrote: > Hi Gurus: > 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 Then, you will want to investigate the implementation in xen/arch/x86/x86_emulate/x86_emulate.c around line 4245. ~Andrew