KVM: nSVM: move nested vmrun tracepoint to enter_svm_guest_mode
This way trace will capture all the nested mode entries (including entries after migration, and from smm) Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> Message-Id: <20210217145718.1217358-3-mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Родитель
f5c59b575b
Коммит
954f419ba8
|
@ -436,6 +436,20 @@ int enter_svm_guest_mode(struct vcpu_svm *svm, u64 vmcb12_gpa,
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
trace_kvm_nested_vmrun(svm->vmcb->save.rip, vmcb12_gpa,
|
||||||
|
vmcb12->save.rip,
|
||||||
|
vmcb12->control.int_ctl,
|
||||||
|
vmcb12->control.event_inj,
|
||||||
|
vmcb12->control.nested_ctl);
|
||||||
|
|
||||||
|
trace_kvm_nested_intercepts(vmcb12->control.intercepts[INTERCEPT_CR] & 0xffff,
|
||||||
|
vmcb12->control.intercepts[INTERCEPT_CR] >> 16,
|
||||||
|
vmcb12->control.intercepts[INTERCEPT_EXCEPTION],
|
||||||
|
vmcb12->control.intercepts[INTERCEPT_WORD3],
|
||||||
|
vmcb12->control.intercepts[INTERCEPT_WORD4],
|
||||||
|
vmcb12->control.intercepts[INTERCEPT_WORD5]);
|
||||||
|
|
||||||
|
|
||||||
svm->nested.vmcb12_gpa = vmcb12_gpa;
|
svm->nested.vmcb12_gpa = vmcb12_gpa;
|
||||||
load_nested_vmcb_control(svm, &vmcb12->control);
|
load_nested_vmcb_control(svm, &vmcb12->control);
|
||||||
nested_prepare_vmcb_save(svm, vmcb12);
|
nested_prepare_vmcb_save(svm, vmcb12);
|
||||||
|
@ -489,18 +503,6 @@ int nested_svm_vmrun(struct vcpu_svm *svm)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
trace_kvm_nested_vmrun(svm->vmcb->save.rip, vmcb12_gpa,
|
|
||||||
vmcb12->save.rip,
|
|
||||||
vmcb12->control.int_ctl,
|
|
||||||
vmcb12->control.event_inj,
|
|
||||||
vmcb12->control.nested_ctl);
|
|
||||||
|
|
||||||
trace_kvm_nested_intercepts(vmcb12->control.intercepts[INTERCEPT_CR] & 0xffff,
|
|
||||||
vmcb12->control.intercepts[INTERCEPT_CR] >> 16,
|
|
||||||
vmcb12->control.intercepts[INTERCEPT_EXCEPTION],
|
|
||||||
vmcb12->control.intercepts[INTERCEPT_WORD3],
|
|
||||||
vmcb12->control.intercepts[INTERCEPT_WORD4],
|
|
||||||
vmcb12->control.intercepts[INTERCEPT_WORD5]);
|
|
||||||
|
|
||||||
/* Clear internal status */
|
/* Clear internal status */
|
||||||
kvm_clear_exception_queue(&svm->vcpu);
|
kvm_clear_exception_queue(&svm->vcpu);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче