diff --git a/hw/hw.h b/hw/hw.h index 73f2f43281..f3cc98171a 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 (*run_after_load)(void *opaque); VMStateField *fields; }; diff --git a/savevm.c b/savevm.c index d953c4af79..2b4054a123 100644 --- a/savevm.c +++ b/savevm.c @@ -1060,6 +1060,8 @@ int vmstate_load_state(QEMUFile *f, const VMStateDescription *vmsd, } field++; } + if (vmsd->run_after_load) + return vmsd->run_after_load(opaque); return 0; }