From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: Xen 4.3 development update RC2 imminent Date: Tue, 21 May 2013 15:49:09 +0100 Message-ID: <519B8965.7050701@eu.citrix.com> References: <519B7F67.2050602@citrix.com> <519B8541.8090505@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <519B8541.8090505@citrix.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: Andrew Cooper Cc: Anthony PERARD , Fabio Fantoni , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 05/21/2013 03:31 PM, Andrew Cooper wrote: > On 21/05/13 15:06, Anthony PERARD wrote: >> On 20/05/13 11:33, George Dunlap wrote: >>> * qxl not actually working >>> > qxl apparently not enabled during compile by default >>> > Appear to be some other bugs even when it is working: >>> > http://lists.xen.org/archives/html/xen-devel/2012-11/msg00713.html >>> owner: ? (Anthony was going to take a look) >>> We need to either fix both of these problems or disable qxl for 4.3 >> I've been able to track down this error: >>> Spice-CRITICAL **: red_memslots.c:123:get_virt: slot_id 194 too big, >> addr=c2c2c2c2c2c2c2c2 >> >> This little patch fix it: >> diff --git a/hw/qxl.c b/hw/qxl.c >> index 96887c4..db2e02e 100644 >> --- a/hw/qxl.c >> +++ b/hw/qxl.c >> @@ -390,6 +390,7 @@ static void init_qxl_ram(PCIQXLDevice *d) >> d->ram->int_pending = cpu_to_le32(0); >> d->ram->int_mask = cpu_to_le32(0); >> d->ram->update_surface = 0; >> + d->ram->monitors_config = 0; >> SPICE_RING_INIT(&d->ram->cmd_ring); >> SPICE_RING_INIT(&d->ram->cursor_ring); >> SPICE_RING_INIT(&d->ram->release_ring); >> >> 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. > > Not that this helps much with the problem for 4.3 Hmm, is there any way to disable the SSE instructions in X and/or the qxl driver? I'll take a quick look around to see what I can see... -George