vga: create is_vbe_vmstate field
authorJuan Quintela <quintela@redhat.com>
Wed, 14 Oct 2009 12:10:11 +0000 (14:10 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 27 Oct 2009 17:28:54 +0000 (12:28 -0500)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/vga.c
hw/vga_int.h

index 6cbd3d3a5213d94a50b4954ed148ad4583064869..99edf2556702aeb12dd560359295db4d50986e75 100644 (file)
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -2159,23 +2159,21 @@ void vga_common_save(QEMUFile *f, void *opaque)
     qemu_put_buffer(f, s->palette, 768);
 
     qemu_put_be32(f, s->bank_offset);
+    qemu_put_byte(f, s->is_vbe_vmstate);
 #ifdef CONFIG_BOCHS_VBE
-    qemu_put_byte(f, 1);
     qemu_put_be16s(f, &s->vbe_index);
     for(i = 0; i < VBE_DISPI_INDEX_NB; i++)
         qemu_put_be16s(f, &s->vbe_regs[i]);
     qemu_put_be32s(f, &s->vbe_start_addr);
     qemu_put_be32s(f, &s->vbe_line_offset);
     qemu_put_be32s(f, &s->vbe_bank_mask);
-#else
-    qemu_put_byte(f, 0);
 #endif
 }
 
 int vga_common_load(QEMUFile *f, void *opaque, int version_id)
 {
     VGACommonState *s = opaque;
-    int is_vbe, i;
+    int i;
 
     if (version_id > 2)
         return -EINVAL;
@@ -2203,9 +2201,9 @@ int vga_common_load(QEMUFile *f, void *opaque, int version_id)
     qemu_get_buffer(f, s->palette, 768);
 
     s->bank_offset=qemu_get_be32(f);
-    is_vbe = qemu_get_byte(f);
+    s->is_vbe_vmstate = qemu_get_byte(f);
 #ifdef CONFIG_BOCHS_VBE
-    if (!is_vbe)
+    if (!s->is_vbe_vmstate)
         return -EINVAL;
     qemu_get_be16s(f, &s->vbe_index);
     for(i = 0; i < VBE_DISPI_INDEX_NB; i++)
@@ -2214,7 +2212,7 @@ int vga_common_load(QEMUFile *f, void *opaque, int version_id)
     qemu_get_be32s(f, &s->vbe_line_offset);
     qemu_get_be32s(f, &s->vbe_bank_mask);
 #else
-    if (is_vbe)
+    if (s->is_vbe_vmstate)
         return -EINVAL;
 #endif
 
@@ -2250,6 +2248,11 @@ void vga_common_init(VGACommonState *s, int vga_ram_size)
         expand4to8[i] = v;
     }
 
+#ifdef CONFIG_BOCHS_VBE
+    s->is_vbe_vmstate = 1;
+#else
+    s->is_vbe_vmstate = 0;
+#endif
     s->vram_offset = qemu_ram_alloc(vga_ram_size);
     s->vram_ptr = qemu_get_ram_ptr(s->vram_offset);
     s->vram_size = vga_ram_size;
index c162c0710372598025c9290dcad5a809dea38991..4d5232f90f76b6becb32587d2ed4debc882d1005 100644 (file)
@@ -176,6 +176,7 @@ typedef struct VGACommonState {
     vga_retrace_fn retrace;
     vga_update_retrace_info_fn update_retrace_info;
     union vga_retrace retrace_info;
+    uint8_t is_vbe_vmstate;
 } VGACommonState;
 
 static inline int c6_to_8(int v)