xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Fabio Fantoni <fabio.fantoni@m2r.biz>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: Xen 4.3 development update RC2 imminent
Date: Wed, 22 May 2013 16:05:27 +0100	[thread overview]
Message-ID: <519CDEB7.5090608@eu.citrix.com> (raw)
In-Reply-To: <519CBEF3.4020701@m2r.biz>

On 22/05/13 13:49, Fabio Fantoni wrote:
> Il 21/05/2013 18:16, George Dunlap ha scritto:
>> On 05/21/2013 05:13 PM, George Dunlap wrote:
>>> On 05/21/2013 03:55 PM, Jan Beulich wrote:
>>>>>>> On 21.05.13 at 16:31, Andrew Cooper <andrew.cooper3@citrix.com> 
>>>>>>> wrote:
>>>>> On 21/05/13 15:06, Anthony PERARD wrote:
>>>>>> But then, once this applied, qxl is still not able to start. Xorg 
>>>>>> crash
>>>>>> (in the guest), and here is why:
>>>>>>
>>>>>> (XEN) emulate.c:88:d18 bad mmio size 16
>>>>>> (XEN) io.c:201:d18 MMIO emulation failed @ 0033:7fd2de390430: f3 
>>>>>> 0f 6f
>>>>>> 19 41 83 e8 403
>>>>>> (XEN) emulate.c:88:d18 bad mmio size 16
>>>>>> (XEN) io.c:201:d18 MMIO emulation failed @ 0033:7fd2de390430: f3 
>>>>>> 0f 6f
>>>>>> 19 41 83 e8 403
>>>>>
>>>>> Disassembly of section .data:
>>>>>
>>>>> 0000000000000000 <.data>:
>>>>>     0:    f3 0f 6f 19              movdqu (%rcx),%xmm3
>>>>>
>>>>> Xen does not support emulating SSE instructions.  We have 
>>>>> sporadically
>>>>> seen similar errors from Windows guests.  The best guess I have 
>>>>> managed
>>>>> to get so far is that %rcx is a pointer to something which Xen 
>>>>> thinks is
>>>>> an MMIO page.
>>>>>
>>>>> In this case, it looks like X is copying from MMIO into an xmm 
>>>>> register,
>>>>> scraping the framebuffer perhaps?  In the windows failure, it was the
>>>>> pagescrub trying to zero ram, which clearly indicated something 
>>>>> wonky in
>>>>> the combined idea of the memory map.
>>>>>
>>>>> If Spice is doing something valid and sensible, then Xen will likely
>>>>> need extending to be able to emulate SSE instructions.
>>>>
>>>> The emulator in the hypervisor can handle simple SSE instructions
>>>> like the above quite well. It's not immediately clear to me why
>>>> hvmemul_do_io() would need to limit the size to no more than a
>>>> long's width. Perhaps the data passing to the device model may
>>>> need adjustment to accommodate wider entities...
>>>
>>> Hmm, but the code seems to indicate that the DM can handle wider
>>> entities, by "reading all ones":
>>>
>>>          if ( dir == IOREQ_READ )
>>>              memset(p_data, ~0, size);
>>>
>>> Anthony, do you want to try making that size check one size bigger
>>> (e.g., allow it to be 16 or 32)?
>>
>> No, that obviously won't work, because of the line just following:
>>
>>     if ( (p_data != NULL) && (dir == IOREQ_WRITE) )
>>     {
>>         memcpy(&value, p_data, size);
>>         p_data = NULL;
>>     }
>>
>>
>> value is of size "long", so this won't work.
>>
>>  -George
> Thanks for help to solve this problem.
> Are there news about?
>
> Probably this is a stupid question: is this patch related to that 
> problem?
> http://lists.xen.org/archives/html/xen-devel/2013-05/msg02142.html

No, I'm afraid that has nothing to do with this issue.  I've only looked 
briefly at it, but it appears that the interface between Xen and qemu is 
limited to MMIO accesses of 8 bytes; changing that interface is not 
something we can really do while we're in the middle of doing a release.

The only work-around that would be suitable for 4.3 would be if we could 
find an option to tell the X server not to execute SSE instructions.  If 
there is no such work-around, then I'm afraid we're going to have to 
disable the interface for 4.3.  We'll put it on the list of work items 
for 4.4.

  -George

  parent reply	other threads:[~2013-05-22 15:05 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-20 10:33 Xen 4.3 development update RC2 imminent George Dunlap
2013-05-20 10:36 ` George Dunlap
2013-05-20 17:12   ` Keir Fraser
2013-05-21  8:13     ` Tim Deegan
2013-05-21 10:22       ` Jan Beulich
2013-05-21  8:19   ` Jan Beulich
2013-05-21  8:22     ` George Dunlap
2013-05-21  8:25       ` Jan Beulich
2013-05-20 10:51 ` Wei Liu
2013-05-20 11:09   ` George Dunlap
2013-05-20 11:16     ` Ian Campbell
2013-05-20 11:32       ` George Dunlap
2013-05-20 11:46         ` Ian Campbell
2013-05-20 13:42           ` George Dunlap
2013-05-20 11:15   ` Ian Campbell
2013-05-20 11:22 ` George Dunlap
2013-05-20 11:26 ` Ian Campbell
2013-05-20 11:28   ` George Dunlap
2013-05-20 11:48     ` Ian Campbell
2013-05-21 14:06 ` Anthony PERARD
2013-05-21 14:31   ` Andrew Cooper
2013-05-21 14:49     ` George Dunlap
2013-05-21 14:55     ` Jan Beulich
2013-05-21 14:58       ` Andrew Cooper
2013-05-21 15:07         ` Jan Beulich
2013-05-21 16:13       ` George Dunlap
2013-05-21 16:16         ` George Dunlap
2013-05-22 12:49           ` Fabio Fantoni
2013-05-22 12:58             ` Andrew Cooper
2013-05-22 15:05             ` George Dunlap [this message]
2013-05-22 16:30               ` Pasi Kärkkäinen
2013-05-22 16:54                 ` George Dunlap
2013-05-23  7:39                   ` Jan Beulich
2013-05-23 10:36                     ` Fabio Fantoni
2013-05-23 10:39                       ` Andrew Cooper
2013-05-23 10:54                         ` George Dunlap
2013-05-23 14:17                           ` Fabio Fantoni
2013-05-23 14:26                             ` George Dunlap
2013-05-23 14:35                               ` George Dunlap
2013-05-23 14:58                               ` Fabio Fantoni
2013-05-23 15:10                                 ` Pasi Kärkkäinen
2013-05-23 16:10                                   ` George Dunlap
2013-05-23 16:07                                 ` George Dunlap
2013-05-24 13:56                                   ` Fabio Fantoni
2013-05-24 13:59                                     ` George Dunlap
2013-05-24 14:53                                       ` Fabio Fantoni
2013-05-24 15:52                                         ` George Dunlap
2013-05-23 14:32                             ` George Dunlap
2013-05-23 10:48                       ` Jan Beulich
2013-05-23 10:31                   ` Fabio Fantoni
2013-05-23 14:01                     ` Pasi Kärkkäinen
2013-05-22 12:48   ` Fabio Fantoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=519CDEB7.5090608@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=fabio.fantoni@m2r.biz \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).