summary refs log tree commit diff stats
path: root/hw/display/vga.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-07-02 18:33:44 +0200
committerGerd Hoffmann <kraxel@redhat.com>2018-07-03 11:19:49 +0200
commit1fcfdc435a3e25ab9037f6f7b8ab4bdf89ba1269 (patch)
tree847436a641f4365a151eb77405fa106fb0b62f5b /hw/display/vga.c
parent1fccd7c5a9a722a9cbf1bc91693f4618034f01ac (diff)
downloadfocaccia-qemu-1fcfdc435a3e25ab9037f6f7b8ab4bdf89ba1269.tar.gz
focaccia-qemu-1fcfdc435a3e25ab9037f6f7b8ab4bdf89ba1269.zip
vga: disable global_vmstate for 3.0+ machine types
Move global_vmstate from vga_common_init() parameter to VGACommonState
field.  Set global_vmstate to true for isa vga devices, so nothing
changes here.  virtio-vga and secondary-vga already set global_vmstate
to false so no change here either.  All other pci vga devices get a new
global-vmstate property, defaulting to false.  A compat property flips
it to true for older machine types.

With this in place you don't get a vmstate section naming conflict any
more when adding multiple pci vga devices to your vm.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20180702163345.17892-1-kraxel@redhat.com>
Diffstat (limited to 'hw/display/vga.c')
-rw-r--r--hw/display/vga.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/display/vga.c b/hw/display/vga.c
index ed476e4e80..c82e6d240a 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -2163,7 +2163,7 @@ static inline uint32_t uint_clamp(uint32_t val, uint32_t vmin, uint32_t vmax)
     return val;
 }
 
-void vga_common_init(VGACommonState *s, Object *obj, bool global_vmstate)
+void vga_common_init(VGACommonState *s, Object *obj)
 {
     int i, j, v, b;
 
@@ -2202,7 +2202,7 @@ void vga_common_init(VGACommonState *s, Object *obj, bool global_vmstate)
     s->is_vbe_vmstate = 1;
     memory_region_init_ram_nomigrate(&s->vram, obj, "vga.vram", s->vram_size,
                            &error_fatal);
-    vmstate_register_ram(&s->vram, global_vmstate ? NULL : DEVICE(obj));
+    vmstate_register_ram(&s->vram, s->global_vmstate ? NULL : DEVICE(obj));
     xen_register_framebuffer(&s->vram);
     s->vram_ptr = memory_region_get_ram_ptr(&s->vram);
     s->get_bpp = vga_get_bpp;