X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmx.c;h=f26a1eae40cd2154b5878e9b6ef48bb6239cb701;hb=5d67a000f2d9e0043237af7c86eecd034119fe93;hp=106239fd748727c6c80084f67e1936b9af0cb729;hpb=ae06bda339f919423d0a2291759850dcee3f85da;p=palacios.git diff --git a/palacios/src/palacios/vmx.c b/palacios/src/palacios/vmx.c index 106239f..f26a1ea 100644 --- a/palacios/src/palacios/vmx.c +++ b/palacios/src/palacios/vmx.c @@ -746,18 +746,18 @@ int v3_vmx_enter(struct guest_info * info) { // Perform any additional yielding needed for time adjustment v3_adjust_time(info); - // Update timer devices prior to entering VM. - v3_update_timers(info); - // disable global interrupts for vm state transition v3_disable_ints(); + // Update timer devices prior to entering VM. Doing it here + // makes sure the guest sees any timers that fired while it + // was in the VMM + v3_update_timers(info); if (vmcs_store() != vmx_info->vmcs_ptr_phys) { vmcs_load(vmx_info->vmcs_ptr_phys); } - v3_vmx_restore_vmcs(info);