From: Juan Quintela Date: Thu, 10 Sep 2009 01:04:31 +0000 (+0200) Subject: vmstate: Add pre_load() hook X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~10586 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd4d52deab2b1e13c559fd8e4ed4d5eb515f30cb;p=sdk%2Femulator%2Fqemu.git vmstate: Add pre_load() hook Signed-off-by: Juan Quintela Signed-off-by: Anthony Liguori --- diff --git a/hw/hw.h b/hw/hw.h index c85ce50..8e75a04 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -306,6 +306,7 @@ struct VMStateDescription { int minimum_version_id; int minimum_version_id_old; LoadStateHandler *load_state_old; + int (*pre_load)(void *opaque); int (*post_load)(void *opaque); VMStateField *fields; }; diff --git a/savevm.c b/savevm.c index 38f9946..8ae8d16 100644 --- a/savevm.c +++ b/savevm.c @@ -1028,6 +1028,11 @@ int vmstate_load_state(QEMUFile *f, const VMStateDescription *vmsd, if (version_id < vmsd->minimum_version_id) { return vmsd->load_state_old(f, opaque, version_id); } + if (vmsd->pre_load) { + int ret = vmsd->pre_load(opaque); + if (ret) + return ret; + } while(field->name) { if (field->version_id <= version_id) { void *base_addr = opaque + field->offset;