From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:58593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxDRx-0005kE-Lt for qemu-devel@nongnu.org; Tue, 14 Feb 2012 03:09:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RxDRs-0005Ye-4q for qemu-devel@nongnu.org; Tue, 14 Feb 2012 03:09:21 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48346) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxDRr-0005YR-MS for qemu-devel@nongnu.org; Tue, 14 Feb 2012 03:09:16 -0500 From: Yonit Halperin Date: Tue, 14 Feb 2012 10:10:18 +0200 Message-Id: <1329207018-7542-1-git-send-email-yhalperi@redhat.com> Subject: [Qemu-devel] [PATCH] qxl: make sure primary surface is saved on migration also in compat mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, spice-devel@freedesktop.org Cc: Yonit Halperin , kraxel@redhat.com RHBZ #790083 Signed-off-by: Yonit Halperin --- hw/qxl.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c index bc03c1d..a2a3380 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1478,14 +1478,21 @@ static void qxl_vm_change_state_handler(void *opaque, int running, * called */ qxl_update_irq(qxl); - } else if (qxl->mode == QXL_MODE_NATIVE) { - /* dirty all vram (which holds surfaces) and devram (primary surface) + } else { + /* dirty all vram (which holds surfaces) and the primary surface * to make sure they are saved */ /* FIXME #1: should go out during "live" stage */ /* FIXME #2: we only need to save the areas which are actually used */ - qxl_set_dirty(&qxl->vram_bar, 0, qxl->vram_size); - qxl_set_dirty(&qxl->vga.vram, qxl->shadow_rom.draw_area_offset, - qxl->shadow_rom.surface0_area_size); + switch (qxl->mode) { + case QXL_MODE_NATIVE: + qxl_set_dirty(&qxl->vram_bar, 0, qxl->vram_size); + case QXL_MODE_COMPAT: + qxl_set_dirty(&qxl->vga.vram, qxl->shadow_rom.draw_area_offset, + qxl->shadow_rom.surface0_area_size); + break; + default: + break; + } } } -- 1.7.7.6