From patchwork Fri Jun 3 15:56:54 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Stabellini X-Patchwork-Id: 98603 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B0E45B6FB0 for ; Sat, 4 Jun 2011 02:04:01 +1000 (EST) Received: from localhost ([::1]:45179 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QSWqr-00047u-9v for incoming@patchwork.ozlabs.org; Fri, 03 Jun 2011 12:03:57 -0400 Received: from eggs.gnu.org ([140.186.70.92]:60048) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QSWh8-0002Rh-Rc for qemu-devel@nongnu.org; Fri, 03 Jun 2011 11:53:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QSWh7-0005jP-16 for qemu-devel@nongnu.org; Fri, 03 Jun 2011 11:53:54 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:63910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QSWh6-0005im-8k for qemu-devel@nongnu.org; Fri, 03 Jun 2011 11:53:52 -0400 X-IronPort-AV: E=Sophos;i="4.65,315,1304308800"; d="scan'208";a="150246156" Received: from ftlpmailmx01.citrite.net ([10.13.107.65]) by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5; 03 Jun 2011 11:53:51 -0400 Received: from smtp01.ad.xensource.com (10.219.128.104) by smtprelay.citrix.com (10.13.107.65) with Microsoft SMTP Server id 8.3.137.0; Fri, 3 Jun 2011 11:53:50 -0400 Received: from localhost.localdomain (kaball.uk.xensource.com [10.80.2.59]) by smtp01.ad.xensource.com (8.13.1/8.13.1) with ESMTP id p53FrjDW028550; Fri, 3 Jun 2011 08:53:48 -0700 From: To: qemu-devel@nongnu.org Date: Fri, 3 Jun 2011 16:56:54 +0100 Message-ID: <1307116614-11775-2-git-send-email-stefano.stabellini@eu.citrix.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1307116614-11775-1-git-send-email-stefano.stabellini@eu.citrix.com> References: <1307116614-11775-1-git-send-email-stefano.stabellini@eu.citrix.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 66.165.176.63 Cc: anthony.perard@citrix.com, xen-devel@lists.xensource.com, agraf@suse.de, Stefano Stabellini Subject: [Qemu-devel] [PATCH] cirrus_vga: reset lfb_addr after a pci config write if the BAR is unmapped X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Stefano Stabellini If the cirrus_vga PCI BAR is unmapped than we should not only reset map_addr but also lfb_addr, otherwise we'll keep trying to map the old lfb_addr in map_linear_vram. Signed-off-by: Stefano Stabellini Acked-by: Jan Kiszka --- hw/cirrus_vga.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 722cac7..3c5043e 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -3088,8 +3088,11 @@ static void pci_cirrus_write_config(PCIDevice *d, CirrusVGAState *s = &pvs->cirrus_vga; pci_default_write_config(d, address, val, len); - if (s->vga.map_addr && d->io_regions[0].addr == PCI_BAR_UNMAPPED) + if (s->vga.map_addr && d->io_regions[0].addr == PCI_BAR_UNMAPPED) { s->vga.map_addr = 0; + s->vga.lfb_addr = 0; + s->vga.lfb_end = 0; + } cirrus_update_memory_access(s); }