From mboxrd@z Thu Jan 1 00:00:00 1970 From: Razvan Cojocaru Subject: Re: SSE instruction emulation issues Date: Wed, 15 Jul 2015 17:18:14 +0300 Message-ID: <55A66BA6.8010008@bitdefender.com> References: <559FB3F0.5000108@citrix.com> <559FD3BC020000780008F7C0@mail.emea.novell.com> <55A64066.5020406@m2r.biz> <55A6618C02000078000914A6@mail.emea.novell.com> <55A66657.3020306@m2r.biz> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55A66657.3020306@m2r.biz> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Fabio Fantoni , Jan Beulich Cc: Andrew Cooper , Paul Durrant , xen-devel , Zhi Wang List-Id: xen-devel@lists.xenproject.org On 07/15/2015 04:55 PM, Fabio Fantoni wrote: > If you mean to look at the code involved, search the part about the > problem, think how can go wrong or unexpected, add debug output if > needed, try quick changes to it ecc... I can do it with simpler software > and I did something similar with libxl but I don't know how to do the > same for code like xen/arch/x86/x86_emulate/x86_emulate.c. I already > took a look at it but I didn't find "MOVAPS" in comments like many others. MOVAPS emulation is at line 4001 in the x86_emulate.c from staging: 4001 case 0x28: /* {,v}movap{s,d} xmm/m128,xmm */ 4002 /* vmovap{s,d} ymm/m256,ymm */ I found this by looking up MOVAPS, getting the opcode (from e.g. here: http://x86.renejeschke.de/html/file_module_x86_id_180.html) and searching for 0x28 in the file. > If so, I suppose that for any change in xen/arch/x86/x86_emulate and > similar I can't simply make the change, do a make, make install and test > it immediatly like libxl/xl but I have to rebuild full xen, install it > and reboot dom0, is it right? You don't have to do a full rebuild (i.e. make dist), you can just build the hypervisor (change the current directory to xen/ and just run make && make install there, then reboot). > Can you post a link with a quick reference about x86 emulation and/or > instruction sets like sse2 which can help me learn what to do or an > extensive knowledge on the subject is required in this case? https://docs.oracle.com/cd/E18752_01/html/817-5477/epmpv.html http://softpixel.com/~cwright/programming/simd/sse2.php Hope this helps, Razvan