]> Pileus Git - ~andy/linux/blobdiff - arch/x86/kvm/svm.c
Merge tag 'for-v3.11' of git://git.infradead.org/battery-2.6
[~andy/linux] / arch / x86 / kvm / svm.c
index a14a6eaf871d9ea312d6dbcdd1bccb5a3c9846ac..c0bc80391e40a9bd1dfbf97243160ddcef61f145 100644 (file)
@@ -1026,7 +1026,10 @@ static void svm_write_tsc_offset(struct kvm_vcpu *vcpu, u64 offset)
                g_tsc_offset = svm->vmcb->control.tsc_offset -
                               svm->nested.hsave->control.tsc_offset;
                svm->nested.hsave->control.tsc_offset = offset;
-       }
+       } else
+               trace_kvm_write_tsc_offset(vcpu->vcpu_id,
+                                          svm->vmcb->control.tsc_offset,
+                                          offset);
 
        svm->vmcb->control.tsc_offset = offset + g_tsc_offset;
 
@@ -1044,6 +1047,11 @@ static void svm_adjust_tsc_offset(struct kvm_vcpu *vcpu, s64 adjustment, bool ho
        svm->vmcb->control.tsc_offset += adjustment;
        if (is_guest_mode(vcpu))
                svm->nested.hsave->control.tsc_offset += adjustment;
+       else
+               trace_kvm_write_tsc_offset(vcpu->vcpu_id,
+                                    svm->vmcb->control.tsc_offset - adjustment,
+                                    svm->vmcb->control.tsc_offset);
+
        mark_dirty(svm->vmcb, VMCB_INTERCEPTS);
 }