X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_checkpoint.h;h=8bd5f5abea627a71d01b56a7452135fa46182f78;hb=626494b00fd477070f7eb43693eb16c4dc45f66b;hp=a8610264967f8cf8e255be62eaaffeced8bdb8ca;hpb=4aebb78797222e77d9493b44831d1b542fbeb83c;p=palacios.git diff --git a/palacios/include/palacios/vmm_checkpoint.h b/palacios/include/palacios/vmm_checkpoint.h index a861026..8bd5f5a 100644 --- a/palacios/include/palacios/vmm_checkpoint.h +++ b/palacios/include/palacios/vmm_checkpoint.h @@ -104,7 +104,7 @@ failout: - PrintError("Failed to save device\n"); + PrintError(info->vm_info, info, "Failed to save device\n"); return -1; } @@ -156,12 +156,21 @@ int v3_chkpt_load(struct v3_chkpt_ctx * ctx, char * tag, uint64_t len, void struct v3_chkpt_ctx * v3_chkpt_open_ctx(struct v3_chkpt * chkpt, char * name); int v3_chkpt_close_ctx(struct v3_chkpt_ctx * ctx); -int v3_chkpt_save_vm(struct v3_vm_info * vm, char * store, char * url); -int v3_chkpt_load_vm(struct v3_vm_info * vm, char * store, char * url); + +typedef uint64_t v3_chkpt_options_t; +// The options are a bitwise or of the following +#define V3_CHKPT_OPT_NONE 0 +#define V3_CHKPT_OPT_SKIP_MEM 1 // don't write memory to store +#define V3_CHKPT_OPT_SKIP_DEVS 2 // don't write devices to store +#define V3_CHKPT_OPT_SKIP_CORES 4 // don't write core arch ind data to store +#define V3_CHKPT_OPT_SKIP_ARCHDEP 8 // don't write core arch dep data to store + +int v3_chkpt_save_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts); +int v3_chkpt_load_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts); #ifdef V3_CONFIG_LIVE_MIGRATION -int v3_chkpt_send_vm(struct v3_vm_info * vm, char * store, char * url); -int v3_chkpt_receive_vm(struct v3_vm_info * vm, char * store, char * url); +int v3_chkpt_send_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts); +int v3_chkpt_receive_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts); #endif int V3_init_checkpoint();