From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio Fantoni Subject: Re: [PATCH v7 00/15] x86/hvm: I/O emulation cleanup and fix | Full Backtrace of domU's X crash caused by SSE2 istruction in attachment Date: Fri, 10 Jul 2015 12:51:41 +0200 Message-ID: <559FA3BD.70806@m2r.biz> References: <1436447455-11524-1-git-send-email-paul.durrant@citrix.com> <559F900E.6070904@m2r.biz> <9AAE0902D5BC7E449B7C8E4E778ABCD02F4B7F7B@AMSPEX01CL02.citrite.net> <559F9662.5050107@m2r.biz> <559F99E3.8060508@m2r.biz> <559FB877020000780008F63C@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <559FB877020000780008F63C@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , Paul Durrant Cc: Andrew Cooper , zhi.a.wang@intel.com, "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org Il 10/07/2015 12:20, Jan Beulich ha scritto: >>>> On 10.07.15 at 12:09, wrote: >> Il 10/07/2015 11:54, Fabio Fantoni ha scritto: >>> Il 10/07/2015 11:31, Paul Durrant ha scritto: >>>>> -----Original Message----- >>>>> From: Fabio Fantoni [mailto:fabio.fantoni@m2r.biz] >>>>> Sent: 10 July 2015 10:28 >>>>> To: Paul Durrant; xen-devel@lists.xen.org >>>>> Cc: Jan Beulich; Andrew Cooper >>>>> Subject: Re: [Xen-devel] [PATCH v7 00/15] x86/hvm: I/O emulation >>>>> cleanup >>>>> and fix | Full Backtrace of domU's X crash caused by SSE2 istruction in >>>>> attachment >>>>> >>>>> Il 09/07/2015 15:10, Paul Durrant ha scritto: >>>>>> This patch series re-works much of the code involved in emulation >>>>>> of port >>>>>> and memory mapped I/O for HVM guests. >>>>>> >>>>>> The code has become very convoluted and, at least by inspection, >>>>>> certain >>>>>> emulations will apparently malfunction. >>>>>> >>>>>> The series is broken down into 15 patches (which are also available in >>>>>> my xenbits repo: >>>>> http://xenbits.xen.org/gitweb/?p=people/pauldu/xen.git >>>>>> on the emulation34 branch). >>>>> Yesterday I retried with this version and seems that you fixed >>>>> something >>>>> that make possible atleast debug in the domU. >>>>> >>>>> I taken gdb data of X crash inside Sid hvm domU: >>>>> #0 sse2_blt (src_bits=, dst_bits=, >>>>> src_stride=, dst_stride=, >>>>> src_bpp=, src_x=, src_y=0, dest_x=0, >>>>> dest_y=0, width=1024, height=, dst_bpp=, >>>>> imp=) at ../../pixman/pixman-sse2.c:4773 >>>>> >>>>> Latest istruction: >>>>> => 0x7f70360ef8eb : movaps %xmm0,-0x10(%rsi) >>>>> >>>>> Full log in attachment. >>>>> >>>>> If you need more informations/tests tell me and I'll post them. >>>>> >>>> I imagine you got a GP fault due to handle_mmio() returning >>>> X86EMUL_UNHANDLEABLE, but that's only a guess. >>>> I suggest you try to instrument Xen a little to find out why. >>> Thanks for reply, sorry but I not understand exactly what I must do. >>> Can you detail please? >> I take a look in xen/arch/x86/x86_emulate/x86_emulate.c and the >> istruction seems like this other found by xengt developers: >> https://github.com/01org/XenGT-Preview-xen/commit/f2bad31f80f698a452c37cb39841 >> da8e4f69350f > Other than MOVD, MOVAPS is already being supported by the > insn emulator. > > Jan > Thanks for your reply. Then why do you think MOVAPS fails in my test? If you need it, here is the full gdb output: http://lists.xen.org/archives/html/xen-devel/2015-07/txtpTIgy5CpzU.txt If you need more informations/tests tell me and I'll post them. Sse2 was introduced in cpus 11 years ago, so I think it would be useful to add support for all missing instructions to avoid more cases like this (and it seems to improve performance too, comparing the same task executed with/without sse2). I'm going to try updated xen staging with MOVD support patch added, any other useful information for other tests/debug is appreciated. Thanks for any reply and sorry for my bad english.