[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen 4.3 development update RC2 imminent



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

~Andrew

>
> The backtrace of X:
> (EE) 0: /usr/bin/X (xorg_backtrace+0x3d) [0x57f48d]
> (EE) 1: /usr/bin/X (0x400000+0x1831e9) [0x5831e9]
> (EE) 2: /usr/lib/libpthread.so.0 (0x7fd2de7c0000+0xf0e0) [0x7fd2de7cf0e0]
> (EE) 3: /usr/lib/libpixman-1.so.0 (0x7fd2de300000+0x90430) [0x7fd2de390430]
> (EE) 4: /usr/lib/libpixman-1.so.0 (0x7fd2de300000+0x9066b) [0x7fd2de39066b]
> (EE) 5: /usr/lib/libpixman-1.so.0 (pixman_image_composite32+0x481)
> [0x7fd2de30bb01]
> (EE) 6: /usr/lib/xorg/modules/drivers/qxl_drv.so (0x7fd2dc260000+0x9345)
> [0x7fd2dc269345]
> (EE) 7: /usr/lib/xorg/modules/drivers/qxl_drv.so (0x7fd2dc260000+0xa1c7)
> [0x7fd2dc26a1c7]
> (EE) 8: /usr/lib/xorg/modules/drivers/qxl_drv.so (0x7fd2dc260000+0xeb1f)
> [0x7fd2dc26eb1f]
> (EE) 9: /usr/lib/xorg/modules/drivers/qxl_drv.so
> (0x7fd2dc260000+0x11ecf) [0x7fd2dc271ecf]
> (EE) 10: /usr/bin/X (0x400000+0x170353) [0x570353]
> (EE) 11: /usr/bin/X (0x400000+0xc0b95) [0x4c0b95]
> (EE) 12: /usr/bin/X (0x400000+0x34726) [0x434726]
> (EE) 13: /usr/bin/X (0x400000+0x3721e) [0x43721e]
> (EE) 14: /usr/bin/X (0x400000+0x26895) [0x426895]
> (EE) 15: /usr/lib/libc.so.6 (__libc_start_main+0xf5) [0x7fd2dd621a15]
> (EE) 16: /usr/bin/X (0x400000+0x26bdd) [0x426bdd]
> (EE)
> (EE) Segmentation fault at address 0x0
>
> So I giving up on this issue for now. So I think we can disable "vga = qxl".
>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.