qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [6852] temporarily disable logging around pci config writes


From: Anthony Liguori
Subject: [Qemu-devel] [6852] temporarily disable logging around pci config writes (Avi Kivity)
Date: Fri, 13 Mar 2009 18:10:26 +0000

Revision: 6852
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6852
Author:   aliguori
Date:     2009-03-13 18:10:13 +0000 (Fri, 13 Mar 2009)
Log Message:
-----------
temporarily disable logging around pci config writes (Avi Kivity)

A pci config write may remap the vga linear frame buffer, confusing the
memory slot dirty logging logic.

Fixed Windows with -vga std.

Signed-off-by: Avi Kivity <address@hidden>
Sigend-off-by: Anthony Liguori <address@hidden>

Modified Paths:
--------------
    trunk/hw/vga.c

Modified: trunk/hw/vga.c
===================================================================
--- trunk/hw/vga.c      2009-03-13 18:09:59 UTC (rev 6851)
+++ trunk/hw/vga.c      2009-03-13 18:10:13 UTC (rev 6852)
@@ -2481,6 +2481,17 @@
     return 0;
 }
 
+static void pci_vga_write_config(PCIDevice *d,
+                                 uint32_t address, uint32_t val, int len)
+{
+    PCIVGAState *pvs = container_of(d, PCIVGAState, dev);
+    VGAState *s = &pvs->vga_state;
+
+    vga_dirty_log_stop(s);
+    pci_default_write_config(d, address, val, len);
+    vga_dirty_log_start(s);
+}
+
 int pci_vga_init(PCIBus *bus, uint8_t *vga_ram_base,
                  unsigned long vga_ram_offset, int vga_ram_size,
                  unsigned long vga_bios_offset, int vga_bios_size)
@@ -2491,7 +2502,7 @@
 
     d = (PCIVGAState *)pci_register_device(bus, "VGA",
                                            sizeof(PCIVGAState),
-                                           -1, NULL, NULL);
+                                           -1, NULL, pci_vga_write_config);
     if (!d)
         return -1;
     s = &d->vga_state;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]