|
| From: | Alexander Graf |
| Subject: | Re: [Qemu-devel] [PATCH] cirrus_vga: reset lfb_addr after a pci config write if the BAR is unmapped |
| Date: | Tue, 14 Jun 2011 15:54:39 +0200 |
| User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Thunderbird/3.1.8 |
On 06/03/2011 05:56 PM, address@hidden wrote:
From: Stefano Stabellini<address@hidden> 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.
The patch looks good to me, but I'd love to get an ack from someone who knows the cirrus code before committing it.
Alex
Signed-off-by: Stefano Stabellini<address@hidden>
---
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);
}
| [Prev in Thread] | Current Thread | [Next in Thread] |