X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_checkpoint.c;h=f33f64ed49cd4503781046b8d6374bc5f241e21e;hb=e00538192a2762cacb12b359b40f076cb4f3ba83;hp=8f5e5ac6711c47906a9e87255820cda1bd905daf;hpb=a9a6c3664c8fdbdb9841a55d1a2fca7f4fa8f5de;p=palacios.git diff --git a/palacios/src/palacios/vmm_checkpoint.c b/palacios/src/palacios/vmm_checkpoint.c index 8f5e5ac..f33f64e 100644 --- a/palacios/src/palacios/vmm_checkpoint.c +++ b/palacios/src/palacios/vmm_checkpoint.c @@ -186,9 +186,7 @@ int v3_chkpt_close_ctx(struct v3_chkpt_ctx * ctx) { } -/* Temporary */ -#define V3_CHKPT_STD_SAVE(ctx,x) v3_chkpt_save(ctx,#x,sizeof(x),&(x)) -#define V3_CHKPT_STD_LOAD(ctx,x) v3_chkpt_load(ctx,#x,sizeof(x),&(x)) + int v3_chkpt_save(struct v3_chkpt_ctx * ctx, char * tag, uint64_t len, void * buf) { @@ -477,12 +475,12 @@ int v3_chkpt_save_vm(struct v3_vm_info * vm, char * store, char * url) { goto out; } - /* - if ((ret = v3_chkpt_save_dev(vm)) == -1) { + + if ((ret = v3_save_vm_devices(vm, chkpt)) == -1) { PrintError("Unable to save devices\n"); goto out; } - */ + if ((ret = save_header(vm, chkpt)) == -1) { PrintError("Unable to save header\n"); @@ -490,12 +488,11 @@ int v3_chkpt_save_vm(struct v3_vm_info * vm, char * store, char * url) { } for (i = 0; i < vm->num_cores; i++){ - if ((ret = save_core(&(vm->cores[i]), chkpt)) == -1) { PrintError("chkpt of core %d failed\n", i); goto out; } - } + } out: @@ -533,12 +530,11 @@ int v3_chkpt_load_vm(struct v3_vm_info * vm, char * store, char * url) { } - /* Don't handle devices just yet - if (v3_chkpt_load_dev(vm) == -1) { + if ((ret = v3_load_vm_devices(vm, chkpt)) == -1) { PrintError("Unable to load devies\n"); + goto out; } - */ if ((ret = load_header(vm, chkpt)) == -1) { PrintError("Unable to load header\n"); @@ -553,7 +549,7 @@ int v3_chkpt_load_vm(struct v3_vm_info * vm, char * store, char * url) { } } - out: + out: /* Resume the guest if it was running and we didn't just trash the state*/ if (vm->run_state == VM_RUNNING) {