X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm.c;h=a1fad8d7b2947dfe2a580656ba9d9ed965513e70;hb=53a87a14f98c8f77b252f19d08a7c701b04730ed;hp=4ba619b1cf6d9305b277f27ad97dc7dd70cdd11b;hpb=d711597b8c58d3d06b860462bf965e59dd4f3452;p=palacios.git diff --git a/palacios/src/palacios/svm.c b/palacios/src/palacios/svm.c index 4ba619b..a1fad8d 100644 --- a/palacios/src/palacios/svm.c +++ b/palacios/src/palacios/svm.c @@ -586,6 +586,12 @@ int v3_start_svm_guest(struct guest_info * info) { v3_start_time(info); while (1) { + + if (info->vm_info->run_state == VM_STOPPED) { + info->core_run_state = CORE_STOPPED; + break; + } + if (v3_svm_enter(info) == -1) { vmcb_ctrl_t * guest_ctrl = GET_VMCB_CTRL_AREA((vmcb_t*)(info->vmm_data)); addr_t host_addr; @@ -622,6 +628,13 @@ int v3_start_svm_guest(struct guest_info * info) { break; } + + + if (info->vm_info->run_state == VM_STOPPED) { + info->core_run_state = CORE_STOPPED; + break; + } + /* if ((info->num_exits % 5000) == 0) {