[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/23] Add vmstate_load() and vmstate_save() functio
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 06/23] Add vmstate_load() and vmstate_save() functions |
Date: |
Thu, 20 Aug 2009 19:42:24 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
savevm.c | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/savevm.c b/savevm.c
index ffa68da..2edea5e 100644
--- a/savevm.c
+++ b/savevm.c
@@ -690,6 +690,17 @@ void unregister_savevm(const char *idstr, void *opaque)
}
}
+static int vmstate_load(QEMUFile *f, SaveStateEntry *se, int version_id)
+{
+ return se->load_state(f, se->opaque, version_id);
+}
+
+static void vmstate_save(QEMUFile *f, SaveStateEntry *se)
+{
+ se->save_state(f, se->opaque);
+}
+
+
#define QEMU_VM_FILE_MAGIC 0x5145564d
#define QEMU_VM_FILE_VERSION_COMPAT 0x00000002
#define QEMU_VM_FILE_VERSION 0x00000003
@@ -792,7 +803,7 @@ int qemu_savevm_state_complete(QEMUFile *f)
qemu_put_be32(f, se->instance_id);
qemu_put_be32(f, se->version_id);
- se->save_state(f, se->opaque);
+ vmstate_save(f, se);
}
qemu_put_byte(f, QEMU_VM_EOF);
@@ -878,7 +889,7 @@ static int qemu_loadvm_state_v2(QEMUFile *f)
fprintf(stderr, "qemu: warning: instance 0x%x of device '%s' not
present in current VM\n",
instance_id, idstr);
} else {
- ret = se->load_state(f, se->opaque, version_id);
+ ret = vmstate_load(f, se, version_id);
if (ret < 0) {
fprintf(stderr, "qemu: warning: error while loading state for
instance 0x%x of device '%s'\n",
instance_id, idstr);
@@ -955,7 +966,7 @@ int qemu_loadvm_state(QEMUFile *f)
le->next = first_le;
first_le = le;
- ret = le->se->load_state(f, le->se->opaque, le->version_id);
+ ret = vmstate_load(f, le->se, le->version_id);
if (ret < 0) {
fprintf(stderr, "qemu: warning: error while loading state for
instance 0x%x of device '%s'\n",
instance_id, idstr);
@@ -973,7 +984,7 @@ int qemu_loadvm_state(QEMUFile *f)
goto out;
}
- ret = le->se->load_state(f, le->se->opaque, le->version_id);
+ ret = vmstate_load(f, le->se, le->version_id);
if (ret < 0) {
fprintf(stderr, "qemu: warning: error while loading state
section id %d\n",
section_id);
--
1.6.2.5
- [Qemu-devel] [PATCH 00/23] New VMState table based load/save infrastructure, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 01/23] move useful type definitons to osdep.h, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 02/23] split do_loadvm() into do_loadvm() and load_vmstate(), Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 03/23] move do_loadvm() to monitor.c, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 04/23] make load_vmstate() return errors, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 06/23] Add vmstate_load() and vmstate_save() functions,
Juan Quintela <=
- [Qemu-devel] [PATCH 05/23] Use return value from load_state() call back, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 07/23] New VMstate save/load infrastructure, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 08/23] Add VMState support for pointers, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 09/23] Add VMState support for arrays, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 11/23] Add VMState support for structs, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 10/23] Port apic to new VMState design, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 12/23] Add VMState support for arrays of structs, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 13/23] Port i8254 to new VMState design, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 15/23] Add VMState support for variable sized arrays, Juan Quintela, 2009/08/20
- [Qemu-devel] [PATCH 16/23] Port PCI Bus to VMState design, Juan Quintela, 2009/08/20