aboutsummaryrefslogtreecommitdiff
path: root/hw/vmware_vga.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/vmware_vga.c')
-rw-r--r--hw/vmware_vga.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
index 48f3a0609a..cc0acf7a7a 100644
--- a/hw/vmware_vga.c
+++ b/hw/vmware_vga.c
@@ -1053,6 +1053,7 @@ static CPUWriteMemoryFunc * const vmsvga_vram_write[] = {
static void vmsvga_save(struct vmsvga_state_s *s, QEMUFile *f)
{
+ int i;
qemu_put_be32(f, s->depth);
qemu_put_be32(f, s->enable);
qemu_put_be32(f, s->config);
@@ -1061,7 +1062,9 @@ static void vmsvga_save(struct vmsvga_state_s *s, QEMUFile *f)
qemu_put_be32(f, s->cursor.y);
qemu_put_be32(f, s->cursor.on);
qemu_put_be32(f, s->index);
- qemu_put_buffer(f, (uint8_t *) s->scratch, s->scratch_size * 4);
+ for (i = 0; i < s->scratch_size; i++) {
+ qemu_put_be32s(f, &s->scratch[i]);
+ }
qemu_put_be32(f, s->new_width);
qemu_put_be32(f, s->new_height);
qemu_put_be32s(f, &s->guest);
@@ -1073,6 +1076,7 @@ static void vmsvga_save(struct vmsvga_state_s *s, QEMUFile *f)
static int vmsvga_load(struct vmsvga_state_s *s, QEMUFile *f)
{
int depth;
+ int i;
depth=qemu_get_be32(f);
s->enable=qemu_get_be32(f);
s->config=qemu_get_be32(f);
@@ -1081,7 +1085,9 @@ static int vmsvga_load(struct vmsvga_state_s *s, QEMUFile *f)
s->cursor.y=qemu_get_be32(f);
s->cursor.on=qemu_get_be32(f);
s->index=qemu_get_be32(f);
- qemu_get_buffer(f, (uint8_t *) s->scratch, s->scratch_size * 4);
+ for (i = 0; i < s->scratch_size; i++) {
+ qemu_get_be32s(f, &s->scratch[i]);
+ }
s->new_width=qemu_get_be32(f);
s->new_height=qemu_get_be32(f);
qemu_get_be32s(f, &s->guest);