[Spice-devel] QXL fixes

2010-07-12 Thread Yonit Halperin
These patches fix several BSODs and panics. They are coupled with additions to spice-protocol and qemu/hw/qxl.c. ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Spice-devel] [PATCH 1/3] Fix global resources cleanup

2010-07-12 Thread Yonit Halperin
--- display/res.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/display/res.c b/display/res.c index 05bc9e6..c769aeb 100644 --- a/display/res.c +++ b/display/res.c @@ -322,7 +322,7 @@ void CleanGlobalRes() { UINT32 i; -if (!global_res) { +if (global_res)

[Spice-devel] [PATCH 2/3] Fix memory leak: deleting primary surface device bitmap when it is disabled.

2010-07-12 Thread Yonit Halperin
The bug caused BSOD: SESSION_HAS_VALID_POOL_ON_EXIT on switching users/log off (after the driver is disabled and enabled back again, while the miniport is not restarted). --- display/driver.c | 10 +- display/qxldd.h |3 --- 2 files changed, 1 insertions(+), 12 deletions(-) diff -

[Spice-devel] [PATCH 3/3] Fix corrupted ram data (e.g., release_ring), and unsynchronized worker, after driver is disabled and re-enabled.

2010-07-12 Thread Yonit Halperin
On logoff in Win7 guest, and on switch user and login into Winxp guest, the driver is disabled and re-enabled (while the miniport in not reset). However, before the fix, all the draw objects, e.g., surfaces, were still alive in the worker and the release ring still contained objects, while all the

[Spice-devel] [PATCH] add QXL_IO_RESET_RAM_DRAW_DATA

2010-07-12 Thread Yonit Halperin
--- spice/qxl_dev.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h index 7a121ad..fa43dc1 100644 --- a/spice/qxl_dev.h +++ b/spice/qxl_dev.h @@ -80,6 +80,7 @@ enum { QXL_IO_DESTROY_PRIMARY, QXL_IO_DESTROY_SURFACE_WAIT, QXL_

[Spice-devel] [PATCH] qxl: add support for QXL_IO_RESET_RAM_DRAW_DATA

2010-07-12 Thread Yonit Halperin
--- hw/qxl.c | 54 ++ 1 files changed, 42 insertions(+), 12 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index ab1587a..2501b39 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -179,22 +179,29 @@ static void init_qxl_rom(PCIQXLDevice *d) d->modes

Re: [Spice-devel] [PATCH 3/3] Fix corrupted ram data (e.g., release_ring), and unsynchronized worker, after driver is disabled and re-enabled.

2010-07-12 Thread Gerd Hoffmann
On 07/12/10 11:15, Yonit Halperin wrote: On logoff in Win7 guest, and on switch user and login into Winxp guest, the driver is disabled and re-enabled (while the miniport in not reset). However, before the fix, all the draw objects, e.g., surfaces, were still alive in the worker and the release r

[Spice-devel] [PATCH] server: enabling/disabling jpeg and zlib-over-glz via spice command line args

2010-07-12 Thread Yonit Halperin
--- server/red_dispatcher.c |4 server/red_worker.c | 27 --- server/red_worker.h |2 ++ server/reds.c | 26 ++ server/spice.h | 10 ++ 5 files changed, 66 insertions(+), 3 deletions(-) diff --gi

[Spice-devel] [PATCH] spice: enabling/disabling jpeg and zlib-over-glz via spice command line args

2010-07-12 Thread Yonit Halperin
--- qemu-config.c |6 ++ spice.c | 29 + 2 files changed, 35 insertions(+), 0 deletions(-) diff --git a/qemu-config.c b/qemu-config.c index 8c2abf2..ca56a97 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -374,6 +374,12 @@ QemuOptsList qemu_spice_opts

Re: [Spice-devel] [PATCH 3/3] Fix corrupted ram data (e.g., release_ring), and unsynchronized worker, after driver is disabled and re-enabled.

2010-07-12 Thread Yonit Halperin
On 07/12/2010 12:43 PM, Gerd Hoffmann wrote: On 07/12/10 11:15, Yonit Halperin wrote: On logoff in Win7 guest, and on switch user and login into Winxp guest, the driver is disabled and re-enabled (while the miniport in not reset). However, before the fix, all the draw objects, e.g., surfaces, we

[Spice-devel] QXL fixes - version 2

2010-07-12 Thread Yonit Halperin
These patches fix several BSODs and panics. Version 2: no change in qemu and spic-protocol. The old reset method is performed on each device when the driver is disabled. ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freede

[Spice-devel] [PATCH 1/3] Fix global resources cleanup

2010-07-12 Thread Yonit Halperin
--- display/res.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/display/res.c b/display/res.c index 05bc9e6..c769aeb 100644 --- a/display/res.c +++ b/display/res.c @@ -322,7 +322,7 @@ void CleanGlobalRes() { UINT32 i; -if (!global_res) { +if (global_res)

[Spice-devel] [PATCH 2/3] Fix memory leak: deleting primary surface device bitmap when it is disabled.

2010-07-12 Thread Yonit Halperin
The bug caused BSOD: SESSION_HAS_VALID_POOL_ON_EXIT on switching users/log off (after the driver is disabled and enabled back again, while the miniport is not restarted). --- display/driver.c | 10 +- display/qxldd.h |3 --- 2 files changed, 1 insertions(+), 12 deletions(-) diff -

[Spice-devel] [PATCH 3/3] Fix corrupted ram data (e.g., release_ring), and unsynchronized worker, after driver is disabled and re-enabled.

2010-07-12 Thread Yonit Halperin
On logoff, in Win7 guest, and on switch user and login into a Winxp guest, the driver is disabled and re-enabled (while the miniport in not reset). However, before the fix, all the draw objects, e.g., surfaces, were still alive in the worker and the release ring still contained objects, while all